基于GAZEBO的草莓园机器人沿垄行走仿真
曹阳 刘昕宇 邓传秀 刘慧
江苏大学 镇江市
摘要:为提高草莓园机器人导航系统的精确性与鲁棒性,提出一种基于Gazebo的通过超声波传感器与PID算法实时导航的方法。首先,在Gazebo中创建出草莓园仿真环境并在Solidworks中搭建跨垄机器人模型,随后将其导入Gazebo仿真环境。通过订阅超声波话题并根据PID算法,实现ros2控制gazebo中的仿真机器人,最终实现沿垄直线行走。
关键词:草莓园机器人;超声波;自主行走;PID;Gazebo仿真
引言
植保作业是现代农业经济发展的前提,是果园增效的重要保障[1]。通过Gazebo仿真环境搭建机器人模型并进行实验对于将来的实际投产,实现农业机械智能化、农业生产效率有着重大的促进作用。
机器人自主导航主要实现机器人根据自身传感器所获取的周围环境信息,规划处前进路线并对自身加以控制[2]。目前广泛使用的导航传感器有全球卫星导航系统、北斗卫星导航系统等。然而针对草莓园遮蔽程度大、占地面积小、路面不平等特点,上述导航系统存在精度不高的问题。
目前,大部分学者通过采用视觉系统来拟合出草莓园田垄的走向并以此来实现机器人沿垄行走。AhmadiA等人提出了一种基于视觉的导航框架,该框架专门针对行作物田,利用了田间存在的规则作物行结构。基于C++ 和ROS,只使用车载摄像机的图像,使机器人能够准确地跟踪作物行,在同一框架内无缝地切换到下一行,并在几个不同形状和大小的模拟田地中进行了全面的测试[3]。Ponnambalam V R 等人为在草莓地中作业的农业机器人提供了一个视觉导航方法,该方法基于卷积神经网络(CNN),将输入的RGB图像分割成作物 和非作物(即可驱动地形)区域,为了处理作物行的不均匀轮廓,开发了一种新的自适应多ROI方法,用于将轨迹拟合到可驱动区域。并使用真实的农业机器人 测试了该方法,结果表明该方法与其他传统制导方法相比更优[4]。山东青年政治学院研究小组提出了一种能够跨垄移动的行走机构,针对沟距离较长的采摘现场,可自动跨至下一垄沟进行采摘。利用运动学分析软件 ADAMS 对行走机构的一组支撑装置进行运动性能仿真实验,共得到了 5 组分析曲线。结果表明:(1)支撑底座 I 和支撑底座 I 在所设阶跃函数的驱动下,曲线变化比较平稳;(2)线加速度和角加速度曲线在运行时,由于支撑底座受重力、负载等因素影响会产生突变,但在中间过程阶段受力稳定后,加速度变化也会趋于稳定。支撑底座在给定的轨迹中运行稳定,没有明显冲击,可以满足实际工作的任务要求,配合采摘机械手能够实现跨垄连续作业,从而高效率低成本地完成垄作草莓的自动化连续采摘[5]。
超声波传感系统相较于视觉传感系统成本更低,同时传输数据的实时性更佳[6]。视觉传感器通过垄的走向拟合导航路线,然而无法观察到当下所处的位置,也无法精确地测量出轮子两侧距离垄的实际距离。PID算法具有简单易用、适应性强、快速响应和消除稳态误差等优势,适用于各种线性和非线性系统,同时具有较高的鲁棒性和抗干扰能力[7]。因此,本文以超声波作为传感器,提出一种草莓园机器人沿垄自主导航方法。通过超声波插件,获取机器人两侧轮子到垄的距离,使用PID算法处理高频更新的数据使机器人较快地调整轮子转向,保持沿着垄的中轴线行走。
方法
本研究以Gazebo仿真环境为实验平台,根据草莓园真实环境(如图1)在Gazebo中创建出仿真环境(如图2)。
根据实际草莓园机器人(如图3、图4)在中创建出仿真模型并将其导出为文件,随后在文件的终端输入,生成sdf后将生成的sdf文件及urdf功能包中的 meshes 文件夹复制到Gazebo/model的文件中去,再创建 model.config 文件,即完成了导入(如图5、图6)。
根据草莓机器人实际功能安装相应的插件来实现模拟仿真。实际生产中草莓机器人前轮为差速轮并配备有差速器,能够有效地控制车辆行驶速度,使草莓车能够沿直线行走并增加了运动的鲁棒性;后轮为万向轮,灵活性高,转向轻松,适用于狭窄环境,同时降低了能耗。同时草莓机器人还装配有跨垄式移动底盘,其通过性较强且可以实现原地转向。
首先为使仿真更接近于实际,在Gazebo仿真环境中为草莓机器人部件添加碰撞、质量与惯性属性,随后安装了两轮控制插件来模拟实际机器人中的差速器,调用libgazebo_ros_drive.so库,订阅ros2的控制指令话题/com_vel,并发布机器人的里程计位置信息话题/odom和/tf。
在机器人urdf文件中添加超声波传感器的link和joint,将其安装在轮子两侧,并导入libgazebo_ros_ray_sensor.so插件模拟超声波传感器,设置扫描范围、分辨率、噪声等参数。最后创建一个名为ManualPIDController的节点,根据超声波传感数据计算误差,并通过PID控制机器人的运动方向。
PID具体实现步骤如下:
1. 通过比例控制算法,调整合适的比例,接近目标位置。
2. 通过积分控制算法,消除比例算法中存在的稳态误差。
3. 通过微分控制算法,添加一个为负的微分函数实现机器人制动,使其每次运动不超过目标位置,运动更加精准。
PID的控制算法如图7所示
图7中执行机构为,测量元件为超声波传感器,目标是使左右轮子到垄的距离相等,即左右两侧超声波数据应相减为零,并将左右两侧数据相减的值作为 ,代入公式(1-2),计算出PID输出值并将其赋值给。
导入库,设定基础线速度为。所控制的为机器人绕着各个坐标轴的旋转角速度,将赋值给,其余坐标轴转向角度为0,便可实现机器人的转向,因为绕轴的转向即是xoy平面上的转向。通过多次实验将, 分别设定为50,30,10,即实现了机器人的沿垄直线行驶。
参考文献
[1]王家辉,王国宾,张同升,等.植保无人机的应用与发展前景[J].山东农机化,2024,(03):42-43.DOI:10.15976/j.cnki.37-1123/s.2024.03.026.
[2]张传帆,吴有龙,丁志强,等.基于SLAM的自主导航探测艇系统[J].物联网技术,2025,15(08):115-118.DOI:10.16667/j.issn.2095-1302.2025.08.024.
[3]Ahmadi A, Nardi L, Chebrolu N, et al. Visual servoing-based navigation for monitoring row-crop fields[C]//2020 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2020: 4920-4926.
[4]Ponnambalam V R, Bakken M, Moore RJ, Glenn Omholt Gjevestad J, Johan From P. Autonomous crop row guidance using adaptive multi-roi in strawberry fields[J]. Sensors. 2020,20(18):5249.
[5]王大龙, 孙世文, 王腾宇. 垄作草莓采摘机器人行走机构设计与仿真[J]. 南方农机,2023,54(20):61-64.
[6]李长辉,范杨,张灿,等.基于超声的压接管内部进水检测技术研究[J].电工材料,2025,(02):56-59.DOI:10.16786/j.cnki.1671-8887.eem.2025.02.013.
[7]肖茂华,陈泰,庄晓华,等.基于蜣螂优化BP-PID的温室自主跟随平台行走速度控制研究[J].农业机械学报,2025,56(02):83-91+154.