让机器人声源追踪并回到原点

2 篇文章 0 订阅
2 篇文章 0 订阅

该种功能的实现主要包括,三个接收话题的方法和与之对应的三个回调函数。

三个接收方法分别为chatter1、chatter2和chatter3,一旦接收到有数据,就马上进入相对应的回调函数。

三个回调函数,分别是callback1、callback2以及callback3,由它们完成向地图中发布目标点。

move_base地图上的一个点通常包括六个维度,即二维平面上的坐标(x,y,z)和表示自身位姿的四元数(r,p,y,w),所以要通过回调函数将得到的数据进行转化成相应的类型。

第一个回调函数用于接收角度,一旦接收到角度值,该角度值可以不严谨的看成绕base_link旋转的旋转角,将其转化成相应的位姿四元数(0,0,y,1)以表示此次旋转,然后将这个位姿四元数值经过动作编程服务向move_base发布数据进行动作通信,请求机器人在base_link的坐标系下进行相关角度的旋转

第二个回调函数用来接收距离值distance,在回调函数callback2中,将该距离转换成move_base要求的二维平面坐标(distance,0,0)。在这同时位姿并未发生旋转所以位姿四元数为(0,0,0,1)。然后将该数据直接通过动作通信发送给move_base,请求move_base按照该目标点规划路径并前往。

第三个回调函数,设计了一种语音唤醒线程的方式,当听到相应的语音指令后,让机器人回到地图原点,这需要将参考坐标设置为map,并将二维平面的坐标和位姿四元数设置为零,通过动作通信向move_base发布原点位置,让机器人顺利回家。

理论部分实测已经实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值