利索能及
我要发布
收藏
专利号: 2021103880516
申请人: 西南大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-07-01
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种移动机器人直接导航移动到指目标点的方法,其特征在于,所述移动机器人直接导航移动到指目标点的方法包括:ROS坐标系的构建;

机器人方向角的确定;

通过使用ROS的TF监听,获得机器人在地图坐标系的出发位置,并作为机器人出发位置的坐标;

计算并调整机器人的角度,使得机器人的航向指向目标点;

设置机器人需要前进的距离 并完成移动;

通过Pstart和Pobj的连线,与经过这两点且与坐标轴平行的直线所围成的三角形,通过反三角函数进行计算,得到 以及在机器人没有转向精度与移动距离误差,并在Pstart和Pobj之间没有障碍物的情况下,机器人通过进行单次计算并移动,准确到达指定目标点;

所述通过反三角函数进行计算首先让机器人航向回到0度角,即与X轴正向重合,包括:通过从TF监听获取的航向角度AngleYAW的正负号,可以判定机器人当前的航向是在0度角的左方还是右方;

如果AngleYAW>0,机器人应向右旋转角度AngleYAW;

如果AngleYAW<0,机器人应向左旋转角度AngleYAW;

计算并继续调整机器人的角度,使得机器人的航向指向目标点,包括:在机器人的航向回到0度角,即和X轴正方向重合后,按照地图坐标系的Y轴正负方向以及X轴的正负方向将其定义为上下左右四个方向,通过以下方法计算并继续调整机器人的角度,使得机器人的航向指向目标点;根据出发位置Pstart和目标点Pobj在地图坐标系上的相互位置关系,分为以下四种情况:(1)当目标点Pobj的坐标位置在出发位置Pstart的右上方或正右方,定义 为Pstart和Pobj连线,与经过Pstart且与X轴平行的直线之间所夹锐角;通过反三角函数计算该角度:机器人需要向左转动角度

其中,若Pobj在Pstart的正右方,即yobj=ystart,xobj>xstart,通过等式(1)计算可以得(2)当目标点Pobj在出发位置Pstart的右下方或正下方;按照等式(1)计算Pstart和Pobj连线,与经过Pstart且与X轴平行的直线之间所夹锐角机器人需要向右转动角度

其中,若Pobj在Pstart的正下方,即xobj=xstart,yobj<ystart,通过等式(1)可以计算得到(3)当目标点Pobj的坐标位置在出发位置Pstart的左下方或正下方;定义 为Pstart和Pobj连线,与经过且与Y轴平行的直线之间所夹锐角;通过反三角函数计算该角度:机器人需要向右转动角度

其中,若Pobj在Pstart的正下方,即xobj=xstart,yobj<ystart,通过等式(2)可以计算得到(4)当目标点Pobj的坐标位置在出发位置Pstart的左上方或正左方;定义 为Pstart和Pobj连线,与经过Pstart且与Y轴平行的直线所夹锐角;通过反三角函数计算该角度:机器人需要向左转动角度

其中,若Pobj在Pstart的正左方,即yobj=ystart,xobj<xstart,通过等式(3)可以计算得到

2.如权利要求1所述的移动机器人直接导航移动到指目标点的方法,其特征在于,所述ROS坐标系的构建,包括:使用任何能正确反映真实的全局位置的坐标系作为地图坐标系,在ROS机器人最开始启动的时候,地图坐标系与里程计坐标系重合;机器人刚开始启动时候的方向作为X轴正方向,左边90度方向为Y轴正方向,正上方为Z轴正方向,使用地图坐标系中的坐标作为目标点以及机器人的出发位置。

3.如权利要求1所述的移动机器人直接导航移动到指目标点的方法,其特征在于,所述机器人方向角的确定,包括:通过使用ROS的TF监听地图坐标系,获得机器人当前的航向弧度值,并将所述机器人当前的航向弧度值转换成角度AngleYAW;获取的航向角AngleYAW,在和X轴正方向重合的情况下为0度,从0度角向左旋转AngleYAW变为正值,向右旋转AngleYAW为负值;正值范围为0至180度,负值范围为0至‑180度。

4.如权利要求1所述的移动机器人直接导航移动到指目标点的方法,其特征在于,所述通过使用ROS的TF监听,获得机器人在地图坐标系的出发位置,并作为机器人出发位置的坐标,包括:设机器人出发位置为Pstart其坐标为(xstart,ystart),机器人需要移动的目标点为Pobj其坐标为(xobj,yobj);让 代表Pstart和Pobj两点Y轴坐标相差的绝对值,代表Pstart和Pobj两点X轴坐标相差的绝对值,即:Pstart和Pobj两点之间的距离定义为 可以得到:

5.如权利要求1所述的移动机器人直接导航移动到指目标点的方法,其特征在于,所述移动机器人直接导航移动到指目标点的方法还包括:如果由于机器人转向精度和行进距离的不准确,引起机器人移动之后的位置距离目标点实际位置超过阈值,则可以再次通过ROS的TF监听获取机器人移动之后的所在位置点 的坐标 设置阈值ΘX和ΘY,当 或是 即机器人的位置没有落入以目标点(xobj,yobj)

为中心,宽2ΘX高2ΘY的矩形区域,则可以重复上述各步骤,以移动机器人到离目标点更近的位置。

6.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:设置机器人需要前进的距离 并完成移动;

通过Pstart和Pobj的连线,与经过这两点且与坐标轴平行的直线所围成的三角形,通过反三角函数进行计算,得到 以及在机器人没有转向精度与移动距离误差,并在Pstart和Pobj之间没有障碍物的情况下,机器人通过进行单次计算并移动,准确到达指定目标点;

如果Pstart和Pobj之间有障碍物的情况下,可以将目标点分拆为多个目标点,拆分之后使得各个相邻目标点之间无障碍物机器人可以直接到达,对各个拆分后的目标点仍然分别适用进行单次计算并移动,最终完成所有目标点移动的过程;

所述通过反三角函数进行计算首先让机器人航向回到0度角,即与X轴正向重合,包括:通过从TF监听获取的航向角度AngleYAW的正负号,可以判定机器人当前的航向是在0度角的左方还是右方;

如果AngleYAW>0,机器人应向右旋转角度AngleYAW;

如果AngleYAW<0,机器人应向左旋转角度AngleYAW;

计算并继续调整机器人的角度,使得机器人的航向指向目标点,包括:在机器人的航向回到0度角,即和X轴正方向重合后,按照地图坐标系的Y轴正负方向以及X轴的正负方向将其定义为上下左右四个方向,通过以下方法计算并继续调整机器人的角度,使得机器人的航向指向目标点;根据出发位置Pstart和目标点Pobj在地图坐标系上的相互位置关系,分为以下四种情况:(1)当目标点Pobj的坐标位置在出发位置Pstart的右上方或正右方,定义 为Pstart和Pobj连线,与经过Pstart且与X轴平行的直线之间所夹锐角;通过反三角函数计算该角度:机器人需要向左转动角度

其中,若Pobj在Pstart的正右方,即yobj=ystart,xobj>xstart,通过等式(1)计算可以得(2)当目标点Pobj在出发位置Pstart的右下方或正下方;按照等式(1)计算Pstart和Pobj连线,与经过Pstart且与X轴平行的直线之间所夹锐角机器人需要向右转动角度

其中,若Pobj在Pstart的正下方,即xobj=xstart,yobj<ystart,通过等式(1)可以计算得到(3)当目标点Pobj的坐标位置在出发位置Pstart的左下方或正下方;定义 为Pstart和Pobj连线,与经过且与Y轴平行的直线之间所夹锐角;通过反三角函数计算该角度:机器人需要向右转动角度

其中,若Pobj在Pstart的正下方,即xobj=xstart,yobj<ystart,通过等式(2)可以计算得到(4)当目标点Pobj的坐标位置在出发位置Pstart的左上方或正左方;定义 为Pstart和Pobj连线,与经过Pstart且与Y轴平行的直线所夹锐角;通过反三角函数计算该角度:机器人需要向左转动角度

其中,若Pobj在Pstart的正左方,即yobj=ystart,xobj<xstart,通过等式(3)可以计算得到

7.一种信息数据处理终端,其特征在于,所述信息数据处理终端用于实现权利要求1~

5任意一项所述的移动机器人直接导航移动到指目标点的方法。

8.一种实施权利要求1~5任意一项所述的移动机器人直接导航移动到指目标点的方法的基于ROS的移动机器人直接导航移动到指目标点的系统,其特征在于,所述基于ROS的移动机器人直接导航移动到指目标点的系统包括:坐标系构建模块,用于进行ROS坐标系的构建;

方向角确定模块,用于进行机器人方向角的确定;

坐标位置获取模块,用于通过使用ROS的TF监听,获得机器人在地图坐标系的出发位置位置,并作为机器人出发位置的坐标;

角度调整模块,用于计算并调整机器人的当前角度,使得机器人的航向指向目标点;

前进距离设置模块,用于设置机器人需要前进的距离 并完成移动;

计算模块,用于通过Pstart和Pobj的连线,与经过这两点且与坐标轴平行的直线所围成的三角形,通过反三角函数进行计算,得到 以及指定目标点到达模块,用于在机器人没有转向精度与移动距离误差,并在Pstart和Pobj之间没有障碍物的情况下,机器人通过进行单次计算并移动,即可准确到达指定目标点;

如果Pstart和Pobj之间有障碍物的情况下,可以将目标点分拆为多个目标点,拆分之后使得各个相邻目标点之间无障碍物机器人可以直接到达,对各个拆分后的目标点仍然分别适用进行单次计算并移动,最终完成对所有目标点移动的过程。