发明内容
本发明的目的是为了解决上述问题,设计了智能识别障碍物并控制机器人通过障碍物的方法,包括:
步骤S1:机器人获取当前环境地图并确定机器人在环境地图中的位置,机器人接收云服务端的工作指令,机器人收到工作指令后规划行走路径;
步骤S2:机器人按照行走路径移动的过程中,获取机器人前方区域的障碍物尺寸数据信息;
步骤S3:判断前方障碍物的大小,并将该障碍物尺寸值与预设值进行对比,根据障碍物尺寸值与预设值的大小确定机器人是否能通过障碍物;若障碍物尺寸值大于或等于预设值,主控制器判断移动机器人无法通过障碍物,并重新规划行走路径;若障碍物尺寸值小于预设值,主控制器判断移动机器人可以通过障碍物,并选择一个通过障碍物的轮毂电机速度值。
优选地,所述障碍物尺寸数据信息为实际障碍物高度值,所述预设值为预设障碍物高度值。
优选地,所述障碍物尺寸数据信息由深度相机扫描获得,深度相机获取障碍物处的点云数据,根据点云数据获取障碍物高度值。
优选地,当主控制器判断障碍物尺寸值大于或等于预设值时,主控制器发出建议绕开障碍物行驶的指令。
优选地,当主控制器判断障碍物尺寸值小于预设值时,主控制器发出降低轮毂电机速度的指令并调整机器人姿态使得机器人的两个轮毂之间的连线与障碍物保持平行,障碍物高度与轮毂电机的速度之间的关系为:V=0.5-h×0.02,其中V为轮毂电机的速度,h为障碍物高度值。
优选地,机器人通过障碍物时,获取机器人本体的倾斜角度数据信息,并将检测倾斜角度值与安全倾斜角度值进行对比,根据检测倾斜角度值与安全倾斜角度值的大小确定机器人是否需要调整越过障碍的姿态;若检测倾斜角度值大于安全倾斜角度值,主控制器控制机器人暂缓通过障碍物,机器人需要调整姿态,根据检测倾斜角度值调整机器人通过障碍物的姿态,重新越过障碍物;若倾斜角度值小于或等于安全倾斜角度值,机器人不需要调整姿态,机器人按照机器人平行于障碍物的姿态通过并按照步骤S1中的行走路径移动。
优选地,安全倾斜角度值为在越过该障碍物之前由陀螺仪按照实际倾斜测试确定的预先设定值,检测倾斜角度值为在机器人越过障碍时由陀螺仪测得。
优选地,所述陀螺仪用于获取机器人的倾斜角速度,主控制器还包括积分单元,用于对所述倾斜角速度进行积分,得到检测倾斜角度值与安全倾斜角度值。
优选地,所述调整机器人通过障碍物的姿态包括机器人本体转动角度使机器人的两个轮毂先后分别越过障碍物。让机器人的两个轮毂不同时接触障碍物,并分先后越过障碍物,因为当机器人两个轮毂同时接触障碍物并越障时,机器人的姿态是整体向后倾斜的,会发生后倒的危险,而当单个轮毂分别过障碍物时,机器人只会发生侧倾,且侧倾的角度小于后倾的角度。
还公开了智能识别障碍物并控制机器人通过障碍物的装置,包括机器人本体、障碍物尺寸测量件、机器人倾斜角度测量件和主控制器,所述机器人本体上部固定有障碍物尺寸测量件,所述机器人本体内部固定有机器人倾斜角度测量件,所述障碍物尺寸测量件用于扫描机器人本体行走路径上位于机器人前方障碍物的高度数据,所述机器人倾斜角度测量件用于测量机器人本体的倾斜角度数据。
优选地,所述机器人本体包括机器人外壳和驱动单元,所述驱动单元包括轮毂、驱动装置和支撑座,所述驱动装置与轮毂固定连接,所述轮毂与支撑座转动连接,所述驱动单元设置有两组。
利用本发明的技术方案制作的智能识别障碍物并控制机器人通过障碍物的方法及装置,所达到的有益效果:
(1)机器人可以提前检测到前方障碍物,可以提前根据障碍物的大小判断障碍物的可通过性,避免了机器人根据原有的行进路径盲目的前去障碍物试探通过的问题,提高了机器人通过率;
(2)提前判断障碍物的大小,若主控制器判断可以通过障碍物,降低轮毂电机的速度使机器人稳定的通过,减少了电机以过快速度通过障碍物时对电机的冲击,保护了电机和机器人本体内的设备安全,也避免由于机器人无法通过障碍物使得轮毂电机空转,影响轮毂电机里程计的计算,导致机器人在当前环境地图里定位丢失的问题;
(3)当机器人在主控制器的指令下通过障碍物时,降低轮毂电机的速度的同时由陀螺仪采集检测倾斜角度,若机器人本体倾斜角度大于安全倾斜角度范围时,机器人暂缓越过障碍物,通过改变不同的驱动装置的转速来重新调整机器人本体的姿态,再尝试通过障碍物,避免了机器人因过障碍物摔倒。
附图说明
图1是本发明智能识别障碍物并控制机器人通过障碍物的方法机器人通过障碍物的流程图;
图2是本发明智能识别障碍物并控制机器人通过障碍物的方法获取障碍物高度数据的流程图;
图3是本发明智能识别障碍物并控制机器人通过障碍物的方法相机坐标系的示意图;
图4是本发明智能识别障碍物并控制机器人通过障碍物的装置俯视图;
图5是本发明智能识别障碍物并控制机器人通过障碍物的装置侧视图;
图6是本发明所述智能识别障碍物并控制机器人通过障碍物的方法的通过障碍物时测量检测安全角度的流程图;
图7是本发明所述智能识别障碍物并控制机器人通过障碍物的方法陀螺仪获取机器人倾斜角度的流程图;
图8是本发明所述智能识别障碍物并控制机器人通过障碍物的装置的立体图;
图9是本发明所述智能识别障碍物并控制机器人通过障碍物的装置的右视图;
图中,1、机器人本体;11、机器人外壳;12、驱动单元;121、轮毂;122、驱动装置;123、支撑座;2、障碍物尺寸测量件;3、机器人倾斜角度测量件;4、障碍物。
具体实施方式
为了更好的理解本发明,下面结合具体实施例和附图对本发明进行进一步的描述,如图1-图2所示,智能识别障碍物并控制机器人通过障碍物的方法,包括:
步骤S1:机器人获取当前环境地图并确定机器人在环境地图中的位置,机器人接收云服务端的工作指令,机器人收到工作指令后规划行走路径;
步骤S2:机器人按照行走路径移动的过程中,获取机器人前方区域的障碍物尺寸数据信息;
步骤S3:判断前方障碍物的大小,并将该障碍物尺寸值与预设值进行对比,根据障碍物尺寸值与预设值的大小确定机器人是否能通过障碍物;若障碍物尺寸值大于或等于预设值,主控制器判断移动机器人无法通过障碍物,并重新规划行走路径;若障碍物尺寸值小于预设值,主控制器判断移动机器人可以通过障碍物,并选择一个通过障碍物的轮毂电机速度值。机器人在进行移动作业过程中,机器人上部固定的深度相机实时扫描机器人行走路径中位于机器人前方的障碍物尺寸数据信息,并将该数据信息传输给主控制器,主控制器将障碍物尺寸值与预设值进行对比,进而判断机器人是否能通过障碍物,提前判断障碍物的可通过性,避免了机器人盲目的前去障碍物试探通过的问题,提高了机器人通行效率,减少了机器人在行进过程中因遇到不能通过障碍物而发生倾倒的可能性。
所述障碍物尺寸数据信息为实际障碍物高度值,所述预设值为预设障碍物高度值。若障碍物高度过高,机器人通过该障碍物时可能会导致机器人外表损坏,甚至机器人无法通过该障碍物引起机器人倾倒,因此,采用深度相机对机器人前方的情况进行扫描,并记录下障碍物的高度信息,将该数据传输给主控制器,由主控制器做出是否按照原有行进路径进行的决断。
所述障碍物尺寸数据信息由深度相机扫描获得,深度相机获取障碍物处的点云数据,根据点云数据获取障碍物高度值。机器人在行进时,前方的深度相机会不停的扫描前方状态信息,并将图像信息传输给主控制器,主控制器会在深度相机拍摄的视频流中获取一帧的点云数据进行处理;利用区域生长算法,通过点云曲率与法向量的夹角作为阙值来进行点云分割,分离出地面与地面上其他点云块;求解其他点云块的最高点到地面平面的法向量方向的距离;得出机器人前方障碍物的高度数据。
当主控制器判断障碍物尺寸值大于或等于预设值时,主控制器发出建议绕开障碍物行驶的指令;绕开障碍物可以通过改变各个轮毂电机的转速来实现。当主控制器判断障碍物尺寸值小于预设值时,主控制器发出降低轮毂电机速度的指令并根据深度相机扫描到的障碍物在相机坐标系中的坐标值调整机器人姿态使得机器人的两个轮毂之间的连线与障碍物保持平行,具体的为两个轮毂中心的连线与障碍物保持平行,即机器人以正对障碍物的姿态进行越障,在越过障碍物后再次将机器人姿态调整回来,使机器嗯人仍然按照原始行走路径行驶,障碍物高度与机器人行驶的速度之间的关系为:
V=0.5-h×0.02,
其中V为机器轮毂电机的速度,h为障碍物高度值。
确定障碍物高度的过程如下:如图3-图5所示,以深度相机的光心为原点,以光轴为Z轴建立相机坐标系OXYZcam,以机器人的支撑座上的一点为原点建立机器人坐标系OXYZ,OXYimg为物理像平面坐标系,设K为相机内参矩阵,θ1为水平方向视场角,θ2为垂直方向视场角,
为空间中某一点在相机坐标系下的坐标,即图3中障碍物上某一点在相机坐标系下的坐标为Pc(Xc,Yc,Zc),Pc(Xc,Yc,Zc)进行投影得到该点在物理像平面的坐标P’(X’,Y’,Z’)以及该点在像素平面的坐标P(u,v),
为空间中某一点在机器人坐标系下的坐标,
为三维点C在相机坐标系下的深度值,
为相机坐标系到机器人坐标系的变换,根据公式
和公式
,计算得到的
为某个点云块的一个矩阵,根据该矩阵可以计算出某一点云块与地面平面法向量方向的距离,将各个点云块与地面法向量方向的距离进行对比,即可得到最大的距离值,该距离值即为障碍物高度值。
若主控制器判断可以通过障碍物,通过降低轮毂电机速度,来提高轮毂电机的扭力,从而使机器人更有力的通过障碍物,且不会因为速度过快,导致轮毂电机与障碍物产生强烈冲击,造成轮毂电机损坏或是机器人本体损坏。通过降低速度提高轮毂电机转矩的原理分析如下:
由公式1:P=F×V,
其中,P为功率;F为力;V为轮毂电机速度;
和公式2:T=F×R,
其中,T为转矩;F为扭力;R为作用半径;
可知,当功率P一定时,轮毂电机速度V与力F成反比关系;当作用半径即轮径R一定时,转矩T与扭力F成正比关系;于是由公式1和公式2可以推导出公式3:
P=T×V/R,
其中,P为功率;F为力;V为轮毂电机速度;R为作用半径;于是,在本实施例中,在机器人动力***中,由于机器人轮毂电机功率P和轮径R为定值,轮毂电机速度V与转矩T成反比关系;于是,机器人行进过程中,遇到障碍物需要越过时,需要增大电机转矩,此时就需要降低轮毂电机的速度;
经过大量测试,在保证机器人稳定的前提下,测试结果如下:
障碍物高度h(mm) |
电机速度v(m/s) |
结果 |
0 |
0.5 |
顺利通过 |
0-5 |
0.4 |
顺利通过 |
5-10 |
0.3 |
顺利通过 |
10-15 |
0.2 |
顺利通过 |
15-20 |
0.1 |
顺利通过 |
20-25 |
0.1 |
一定概率下,顺利通过 |
根据以上测试结果,轮毂电机顺利越过障碍物的高度与轮毂电机速度的关系如下:
当判断障碍物高于20mm时,建议绕行;
当障碍物低于20mm时,V=0.5-h×0.02;其中,V为电机速度;h为障碍物高度;
在上述分析中,障碍物高度为20mm即为预设值。
如图6-图7所示,机器人通过障碍物时,获取机器人本体的倾斜角度数据信息,并将检测倾斜角度值与安全倾斜角度值进行对比,根据检测倾斜角度值与安全倾斜角度值的大小确定机器人是否需要调整越过障碍的姿态;若检测倾斜角度值大于安全倾斜角度值,主控制器控制机器人暂缓通过障碍物,机器人需要调整姿态,根据检测倾斜角度值调整机器人通过障碍物的姿态,重新越过障碍物;若倾斜角度值小于或等于安全倾斜角度值,机器人不需要调整姿态,机器人以平行于障碍物的姿态通过并按照步骤S1中的行走路径移动。深度相机的检测范围为
,在经过深度相机检测,主控制器判断机器人可以通过障碍物,机器人按照原行走路径通过障碍物的同时,轮毂电机按照上述障碍物高度与机器人行驶的速度之间的关系进行越障时,由于机器人越障时的初始姿态不同,也会导致机器人本体越障时倾斜角度不一致。因此通过陀螺仪判断机器人在越障时的倾斜角度是否满足安全要求,可以实时调整机器人越障的姿态,保证机器人不会摔倒,更好的保护了机器人。
安全倾斜角度值为在越过该障碍物之前由陀螺仪按照实际倾斜测试确定的的预先设定值,检测倾斜角度值为在机器人越过障碍时由陀螺仪测得。陀螺仪的安装位置在距离地面一定距离的机器内部中心线上。所述陀螺仪用于获取机器人的倾斜角速度,主控制器还包括积分单元,用于对所述倾斜角速度进行积分,得到检测倾斜角度值与安全倾斜角度值。具体过程为:机器人收到越过障碍物指令,记录当前姿态
,陀螺仪实时记录角度,当机器人倾斜角度发生变化时,陀螺仪获取到该角速度数据传输给主控制器,主控制器读取到该角速度数据,对角速度进行积分,获得当前姿态
,计算
,解算出对应的三轴欧拉角,分别判断每一轴是否超过所设定阙值,即设定的最大值,若存在至少一个轴的角度超过所设定阙值,则判断为检测倾斜角度值大于安全倾斜角度值,主控制器向机器人发出停止越障或退出障碍物的指令,进一步调整机器人姿态再去越障;若每个轴均未超过所设定的阙值,则判断为检测倾斜角度值小于或等于安全倾斜角度值,则主控器向机器人发出继续越障的指令,在本实施例中,以机器人坐标系OXYZ为例,检测倾斜角度值最大值一般为机器人坐标系在Z轴的值。
使用陀螺仪计算姿态时,步骤如下:
(1)对陀螺仪的数据进行建模,设
为测量值,
为真实值,
为随机游走噪声,
为白噪声,
(2)连续形式下使用陀螺仪计算
时刻的姿态
(用四元数表示):
其中,
为t时刻陀螺仪的测量量,
为t时刻陀螺仪的零偏误差,
为白噪声,
为陀螺仪在第k帧位姿的积分量在t时刻的姿态;
(3)在实现时对其进行离散,使用中值法进行更新(从第
帧到第
帧):
其中,
为i时刻陀螺仪的均值,
为i时刻陀螺仪的测量值,
为i+1时刻陀螺仪的均值,
为i时刻陀螺仪的零偏误差,
为陀螺仪在第i帧位姿的积分了第i+1数据后在世界坐标系下的姿态,
为陀螺仪在第i帧位姿的积分量在第i数据时刻的姿态;
便得到了
帧的机器人姿态,将计算出的检测倾斜角度值与安全角度值进行对比,确定机器人进行越障或者调整姿态再进行越障。
安全倾斜角度的获得是经过大量实验测试所得,且由于机器人的重心高度不一样,安全倾斜角度也不同,当重心高度在320mm-350mm时,经过测试所得的安全倾斜角度为15°,该安全角度值是机器人可以直接越障的最小角度值。
所述调整机器人通过障碍物的姿态包括机器人本体转动角度使机器人的两个轮毂先后分别越过障碍物。若检测倾斜角度值大于安全倾斜角度值,主控制器控制机器人暂缓通过障碍物,机器人需要调整姿态,此时,保持一侧的轮毂电机不启动,另一侧的轮毂电机转动,或者机器人的两个驱动电机转速不同,使得机器人本体转动45度,此时,两个轮毂在空间上不在同一直线上,两个轮毂保持先后分别通过障碍物。通过障碍物之后再次调整机机器人姿态使得其行走路径与原始行走路径一致。倾斜45°是设置的一个参数,主要目的是让机器人的两个轮毂不同时接触障碍物,并分先后越过障碍物,因为当机器人两个轮毂同时接触障碍物并越障时,机器人的姿态是整体向后倾斜的,会发生后倒的危险。而当障碍物尺寸较小而导致机器人在越过障碍物时只有单个轮毂分别过障碍物时,机器人只会发生侧倾,且侧倾的角度小于后倾的角度,远不能达到机器人后倾时的倾斜角度,于是在障碍物尺寸过小机器人的一个轮毂越过障碍物时,机器人无需调整姿态进行行驶。
本发明还公开了一种智能识别障碍物并控制机器人通过障碍物的装置,如图8所示,包括机器人本体1、障碍物尺寸测量件2、机器人倾斜角度测量件3和主控制器,所述机器人本体1上部固定有障碍物尺寸测量件2,所述机器人本体1内部固定有机器人倾斜角度测量件3,所述障碍物尺寸测量件2用于扫描机器人本体1行走路径上位于机器人前方障碍物4的高度数据,所述机器人倾斜角度测量件3用于测量机器人本体1的倾斜角度数据。
具体地,障碍物尺寸测量件2可选择为深度相机,机器人倾斜角度测量件3可选择为陀螺仪,在机器人按照预先规定的行走路径行驶时,深度相机不断扫描机器人前方的障碍物4尺寸信息,根据算法程序计算出障碍物4的高度值,并将此大小数据与预设值进行对比,当障碍物4尺寸数据大于或等于预设值时,主控制器判断机器人无法通过该障碍物4,并重新规划机器人路径,绕开障碍物4。当障碍物4尺寸数据小于预设值时,主控制器判断机器人可以通过该障碍物4,并选择一种通过该障碍物4的最优速度。陀螺仪安装于机器人本体1内部,对机器人本体1倾斜的角度进行检测,当机器人以最优速度通过障碍物4时,机器人本体1的倾斜角度数据会通过装在其内的陀螺仪采集,并且由主控制器判断机器人当前检测倾斜角度值和预设安全倾斜角度值对比,如果当前检测倾斜角度值大于安全倾斜角度值,主控制器判断机器人有摔倒的风险,会控制机器人暂缓通过障碍物4,并根据检测倾斜角度的数值调整机器人通过障碍物4的姿态,重新尝试越过障碍物4。如果当前检测倾斜角度值小于或等于预设安全倾斜角度值,机器人不受影响,正常通过。主控器安装于机器人本体1内部,用于控制机器人的动作。
如图9所示,所述机器人本体1包括机器人外壳11和驱动单元12,所述驱动单元12包括轮毂121、驱动装置122和支撑座123,所述驱动装置122与轮毂121固定连接,所述轮毂121与支撑座123转动连接,所述驱动单元12设置有两组。两个轮毂121分别与驱动装置122固定连接,驱动装置122选择为轮毂电机,主控制器分别控制轮毂电机的启动与停止,在需要改变机器人本体1的姿态时,两个轮毂电机转动的时间不同,进而导致机器人本体1旋转角度。
上述技术方案仅体现了本发明技术方案的优选技术方案,本技术领域的技术人员对其中某些部分所可能做出的一些变动均体现了本发明的原理,属于本发明的保护范围之内。