3. ROS编程入门—Wall Following

本文介绍了使用ROS进行壁跟随算法的设计与实现。首先利用激光雷达获取障碍物信息,接着通过PD控制器控制机器人与墙保持恒定距离,比例控制器确保机器人面向正确角度。在代码实现中,根据距离动态调整线速度,避免急转弯问题。实验在Stage模拟器中进行。
摘要由CSDN通过智能技术生成

Introduction:

本次设计的任务是让机器人沿着墙按照固定距离走

算法

第一步是找到墙,利用激光雷达发现最近障碍物的角度和距离。
根据墙的位置保持固定的距离和固定的角度,可以用两个PID控制器来实现这两个参量的控制。

输入输出处理

程序的输入是激光雷达的数据,输出的是控制Twist消息
每一个激光点对应的实际角度:

φ=(il2)θ(angle-ranges)

φ :第 i 个元素对应的角度
i :向量元素的索引
l :向量长度
θ : 角度增量

如果在整个ranges向量空间中寻找最小值,有可能让机器人在狭窄的空间中跟随对面的墙(译者:不是很懂)。为了确保不会发生这种状况,在合理的一般范围内查找最小值。查找的索引起始和终止值可以通过下面的式子调整:

i0=ld+14

in=ld+34

d :方向(1:跟随左边的墙,-1:跟随机器人右边的墙)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值