技术干货

AGV小车编程到底用啥语言啊?新人刚接触有点懵

5176062614
5176062614
2026/03/17 18:36

之前一直在搞机械手示教那块,最近被领导调去做AGV项目,一头雾水。我们这边买的是国内某家的潜伏牵引式AGV,自带调度系统,但是现场路径调整、任务脚本那些好像还得自己写。听说有的用C++、有的用Python、还有啥ROS一套的,到底主流是哪种?

主要是想搞清楚:1) 调度软件下发的指令一般是啥格式?2) 车上跑的逻辑(避障、循迹、上下料触发)一般用啥写?3) 需不需要学PLC那种梯形图?

自己C和Python有点底子,ROS完全没碰过,先学哪个性价比高?

37 4

全部回复 (4)

小明
小明#1

看AGV类型差异很大。你没说具体车型和厂家,不过主流分两种:调度层和车控层。

车控层(跑在车上的那部分)基本就是C/C++为主,单片机或工控机上跑实时系统(VxWorks、RT-Linux、有的直接裸跑),避障、循迹、PID速度环都是这层搞定,响应要求毫秒级,Python根本撑不住。

调度层(上位机、WMS对接、任务派发)现在反而越来越多用Python或者Java写,ROS主要是科研或者AMR(差速驱动带激光建图的那种)用得多,传统的潜伏牵引AGV用ROS的很少,属于杀鸡用牛刀。

建议先把C的指针、内存管理、CAN通信协议看一遍,再去啃厂家的SDK文档,比啥都强。Python那个是锦上添花,不急。

2026/03/18 07:00
磊姐
磊姐#2

你这问题太宽泛了,得看你调度系统是不是开源的。我们厂用的一套国产调度,任务脚本是类似Lua的脚本语言写的,路径点直接配XML,上层业务逻辑用Java调它的SDK。如果你买的是现成调度,99%不用你从零写C++,调它的API就行。

先别想着从底层撸起,把厂家技术支持拉个群,比你自己看文档快十倍。

2026/03/19 02:56
梁秀峰
梁秀峰#3

反问一下,你AGV上的激光雷达或者磁导航传感器数据出来是谁解析的?如果是车控板自己解析,那你只管调接口;如果是上位机收数据自己跑SLAM,那没ROS真的干不了。我们项目五台AMR,没ROS根本起不来,AMCL定位、move_base导航全是现成包,但代价是你得花两三个月啃通ROS1(ROS2也行但坑更多)。

所以关键看你是潜伏牵引(磁条/二维码导航)还是AMR(激光SLAM),两者不是一个物种。

2026/03/20 21:50
gqg1980
gqg1980#4

PLC梯形图?你以为是产线AGV贴标用的那种?正经AGV项目用PLC的少,成本高实时性反而不如专用车控板。除非你的AGV要直接和生产线PLC硬联动取放料信号,那才需要补一点。

2026/03/25 03:35