机器人运动路径规划方法技术领域
本发明涉及机械臂控制领域,具体涉及一种机器人运动路径规划方法。
背景技术
信息技术的发展,信息技术被广泛的应用到人们的生活方式与工作方式中。如有
更有效的利用现有的信息技术,人们一直没有停止探索。机器人领域是集计算机、机械、传
感技术、信息处理技术、图像处理与识别技术、语言识别与处理技术、控制技术和通信技术
等于一体的系统。现有的Player、MOOS、CARMEN、YARP、Orocos、微软RoboticsStudio等操作
系统无法满足实际应用的需求。ROS操作系统(RobotOperatingSystem)是一种开源机器人
操作系统,能够提供类似于操作系统的功能,为机器人应用系统提供硬件抽象、底层驱动、
消息传递和包管理,以及一些辅助开发工具,例如建立、编写和运行多机通信系统整合的程
序。ROS操作系统是能为异质计算机集群提供例如操作系统功能的软件平台。2007年,斯坦
福大学人工智能实验室与机器人技术公司Willow Garage合作开发出了机器人操作系统,
2008年以后由Willow Garage推广。ROS操作系统平台是一个非常大的共享平台,人们可以
借由这个系统进行所处领域的代码交流,因此世界上有非常多的机构在对ROS操作系统进
行开发和维护。ROS操作系统的设计目标就是为了提高代码的复用性,所以采用一种分布式
的进程架构,使得程序具有高度的独立性和低耦合性。
CN201310734882.X公开了一种机械手精确控制系统,它包括视频采集模块、图像
处理模块、机械手运动定位点匹配模块、运动差异计算模块、模糊控制器、机械手运动驱动
器、路径规划模块和运动目标位置输入模块。一种机械手精确控制方法,其具体技术方案
为:1、确定机械手运动目标位置;2、视频采集模块和图像处理模块判断当前位置;3、路径规
划模块,对计算从起始位置坐标到运动目标位置坐标之间的路径;4、提取机械手各个关节
节点在不同时刻的运动控制信号;5、启动视频采集设备;6、获取图像中的定位点的坐标值;
7、模糊控制器产生控制信号;8、机械手运动控制信号驱动机械手继续运动;9、视频采集设
备获取机械手坐标值,并与规划坐标值进行匹配。该发明实现了实时的精确调整机械手的
运动路线。但运算复杂,没有提及如何有效的避障。
CN201410524184.1公开一种基于ROS(机器人操作系统,Robot Operating
System)的移动机器人室内环境探索系统与控制方法。该系统基于ROS,能够实现机器人对
室内环境的自主探索与定位。该系统主要采用iRobot差分驱动底盘和UTM30LX激光雷达。上
位机可实时得到机器人的位置定位信息与室内环境探索路径轨迹,并由激光雷达的数据匹
配得到由局部地图连接形成的全局地图。该方法没有提及如何有效的避障,对于机械臂的
精确控制,没有提及相关的处理方法。
发明内容
针对现有技术的不足,本发明提供一种机器人运动路径规划方法,该方法基于ROS
操作系统,机器人通过跟随人体,采集人体手臂的运动信息,实现高自由度的路径规划,避
障效果好,工作效率高,运算量少。
本发明为实现上述目的,采用以下技术方案:机器人运动路径规划方法,其中,所
述机器人包括主机、机械臂、微控制器和摄像头;所述主机和微控制器连接;所述微控制器
连接机械臂上的舵机,用于控制机械臂的运动;所述主机连接摄像头;所述主机装有ROS操
作系统;所述ROS操作系统中装有Moveit工具和OMPL(开源运动规划库)。
机器人机械臂运动路径规划方法,具体过程为:
1)摄像头采集周围环境的深度信息,运用ROS操作系统将其转换为空间点云数据,
然后运用OpenCV的特征识别功能从空间点云数据中获取人体框架和空间姿态信息;
2)根据步骤1)获得的人体位置和空间姿态信息,机器人主机控制电机的运转,机
器人跟随人体的运动,实现机器人跟随人体的路径规划;
3)机器人在跟随人体运动过程中,摄像头重点标记采集人手臂图像信息,并运用
ROS操作系统将人手臂图像信息在特定空间坐标系中转换为从肩到手的空间坐标;
4)人手臂运动时,摄像头重点标记采集人手臂运动姿态图像,将运动姿态图像结
合空间坐标在ROS操作系统中转换为机械臂关节的空间姿态坐标;
5)根据机械臂关节的空间姿态坐标、机械臂当前的坐标结合机械臂的关节位置,
开源运动规划库和Moveit工具规划机械臂从当前的空间坐标运动到指定的位置坐标的运
动轨迹,实现自由路径规划。
进一步地,所述步骤2)过程中,机器人根据采集的人体位置和空间姿态信息,调整
电机的运行速度,保持人体与机器人的距离。
进一步地,所述步骤2)过程中,机器人摄像头中出现多个人体时,以不同的数据状
态标识不同人,跟随指定的人。
进一步地,所述步骤2)过程中,机器人没有找到跟随的人体时,根据机器人主机记
载的数据,自身进行旋转寻找目标。
进一步地,步骤5)实现自由路径规划过程中,摄像头拍摄的空间图像信息中存在
空间障碍物,ROS操作系统将空间图像信息中的障碍物转换为3D空间的点云数据。
进一步地,所述主机根据3D空间的点云数据信息,控制开源运动规划库和Moveit
工具重新规划机械臂的运动轨迹,从而微处理器控制机械臂在运动过程中避障。
进一步地,所述机械臂根据步骤5)的路径规划,进行移动过程中,ROS操作系统通
过不断的计算从机械臂当前的坐标到指定的位置坐标之间的路径,给出在运动过程中机械
臂各个关节的坐标,确认机械臂各个关节的实际的空间姿态与路径规划中的空间姿态之间
的坐标差值。
进一步地,所述机械臂各个关节的实际的空间姿态与路径规划中的空间姿态之间
的坐标差值大于预先设定的范围时,开源运动规划库和Moveit工具通过逆运动学解算机械
臂的空间姿态,从而调整机械臂关节角度,控制机械臂的舵机进行转动,调整机械臂的运动
角度,调整路径的偏差。
进一步地,所述机械臂各个关节的实际的空间姿态与路径规划中的空间姿态之间
的坐标差值小于预先设定的范围,则主机发出运动终止的信号,机械臂完成此次任务。
进一步地,所述机器人还设置有预警装置,所述步骤4)中摄像头采集人手臂运动
姿态图像时,摄像头与人手臂的距离超出预先设定的距离时,进行预警。
进一步地,所述机器人还设置有底盘微控制器、碰撞传感器和底部悬空传感器,机
器人在行走过程中出现地面的障碍物和地面极度不平时,碰撞传感器能检测到地面上高度
较低的障碍物,底部悬空传感器检测底盘到地面的距离来解决地面不平的障碍,底盘微控
制器调整机器人稳定行走。
进一步地,所述机器人还设置有跟随模式选择装置,用于设定摄像头与人手臂的
拍摄位置和距离;所述拍摄位置包括:人手臂的左侧方、右侧方和正前方。
进一步地,所述主机为Intel双核四线程i7工业微型主机。
进一步地,所述摄像头为RGBD深度摄像头。
本发明的有益效果:
本发明提供的一种机器人运动路径规划方法,该方法基于ROS操作系统,该方法把
图像信息用点云数据表示障碍物的位置和形状大小,有效的实现路径规划中避障,减少了
计算量;采用ROS操作系统,能够使运动独立性增强;运用ROS操作系统中自带工具,减少运
算的复杂程度,规划运动轨迹简单,运动控制也更简单;运用底盘微控制器、碰撞传感器和
底部悬空传感器,来检测环境中的障碍物和极度不平的地面,碰撞传感器能检测到地面上
高度较低的障碍物,弥补了视觉摄像头看不到视角外的障碍物,底部悬空传感器检测底盘
到地面的距离,防止机器人跌落;该方法提高了机器人在运动规划过程中的自由度、精确
度,在时间和空间上及数据上进行融合以提高系统的适应性和环境空间识别能力,使得机
器人能按照正确的规划轨迹进行运动,从而高自由度的实现机械臂运动路径规划,工作效
率高,运算量少。
具体实施方式
下面以具体实施例对本发明作进一步的说明,但本发明不受下述实施例的限定。
实施例1
本发明提供机器人机械臂运动路径规划方法,其中,所述机器人包括主机、机械
臂、微控制器和摄像头;所述主机和微控制器连接;所述微控制器连接机械臂上的舵机,用
于控制机械臂的运动;所述主机连接摄像头;所述主机装有ROS操作系统;所述ROS操作系统
中装有Moveit工具和OMPL(开源运动规划库);所述主机为Intel双核四线程i7工业微型主
机;所述摄像头为RGBD深度摄像头;所述微控制器可以控制舵机在空间7自由度旋转和运
动。
机器人运动路径规划方法,具体过程为:
1)摄像头采集周围环境的深度信息,运用ROS操作系统将其转换为空间点云数据,
然后运用OpenCV的特征识别功能从空间点云数据中获取人体框架和空间姿态信息;
2)根据步骤1)获得的人体位置和空间姿态信息,机器人主机控制电机的运转,机
器人跟随人体的运动,实现人体跟随的路径规划;机器人根据采集的人体位置和空间姿态
信息,调整电机的运行速度,保持人体与机器人的距离;机器人摄像头中出现多个人体时,
以不同的数据状态标识不同人,跟随指定的人;机器人没有找到跟随的人体时,根据机器人
主机记载的数据,自身进行旋转寻找目标;
3)机器人在人体跟随的运动过程中,摄像头重点标记采集人手臂图像信息,并运
用ROS操作系统将人手臂图像信息在特定空间坐标系中转换为从肩到手的空间坐标;
4)人手臂运动时,摄像头重点标记采集人手臂运动姿态图像,将运动姿态图像结
合空间坐标在ROS操作系统中转换为机械臂关节的空间姿态坐标;
5)根据机械臂关节的空间姿态坐标、机械臂当前的坐标结合机械臂的关节位置,
开源运动规划库和Moveit工具规划机械臂从当前的空间坐标运动到指定的位置坐标的运
动轨迹,实现自由路径规划;若摄像头拍摄的空间图像信息中存在空间障碍物,ROS操作系
统将空间图像信息中的障碍物转换为3D空间的点云数据;
6)主机根据3D空间的点云数据信息,控制开源运动规划库和Moveit工具重新规划
机械臂的运动轨迹,从而微处理器控制机械臂在运动过程中避障。
进一步地,所述机械臂根据步骤5)的路径规划,进行移动过程中,ROS操作系统通
过不断的计算从机械臂当前的坐标到指定的位置坐标之间的路径,给出在运动过程中机械
臂各个关节的坐标,确认机械臂各个关节的实际的空间姿态与路径规划中的空间姿态之间
的坐标差值。所述机械臂各个关节的实际的空间姿态与路径规划中的空间姿态之间的坐标
差值大于预先设定的范围时,开源运动规划库和Moveit工具通过逆运动学解算机械臂的空
间姿态,从而调整机械臂关节角度,控制机械臂的舵机进行转动,调整机械臂的运动角度,
调整路径的偏差。所述机械臂各个关节的实际的空间姿态与路径规划中的空间姿态之间的
坐标差值小于预先设定的范围,则主机发出运动终止的信号,机械臂完成此次任务。
进一步地,所述机器人还设置有预警装置,所述步骤4)中摄像头采集人手臂运动
姿态图像时,摄像头与人手臂的距离超出预先设定的距离时,进行预警。进一步地,所述机
器人还设置有跟随模式选择装置,用于设定摄像头与人手臂的拍摄位置和距离;所述拍摄
位置包括:人手臂的左侧方、右侧方和正前方。
进一步地,机器人的底盘的控制主要由微型主机连接底盘微控制器,根据主机跟
随人体运动发送线速度和角速度指令到微控制器,微控制器将速度指令转换成驱动电机的
PWM进行调速和转向;机器人的底盘还包括碰撞传感器和底部悬空传感器,来检测地面环境
中的障碍物和极度不平的地面,所述碰撞传感器能检测到地面上高度较低的障碍物,弥补
了视觉摄像头看不到视角外的障碍物,所述底部悬空传感器检测底盘到地面的距离,来解
决地面不平带来的障碍,有效防止机器人跌落。
在上述过程中,机器人的RGBD摄像头能捕捉的范围内,人体运动,机器人采集图像
信息,并转换为空间点云数据,利用OpenCV的特征识别功能获取人体框架和空间姿态信息,
从而确定人的位置和人的运动状态;机器人主机控制电机的旋转方向与速度,与人体保持
一定的距离,跟随人体运动,在这一过程中,机器人摄像头采集周边的环境以及人体手臂的
工作情况。人挥动手臂,机械臂也随人手臂的动作而动作,达到运用机械臂在人手臂不适宜
工作的环境中工作的用途,例如有腐蚀性、刺激性的工作环境等。
在跟随人体和肢体的运动过程中,采用RGBD摄像头根据跟随模式选择装置的设定
拍摄人手臂图像,采集人手臂图像分析后得到人手臂的骨架坐标,摄像头拍摄人手臂的相
应动作,将运动中的人手臂关节姿态转换为机械臂关节的空间姿态坐标,在运动中出现障
碍物时,图像信息用能表示位置和颜色的点群表示即点云数据,根据点云数据就能知晓障
碍物的位置及形状大小,ROS操作系统中的开源运动规划库和Moveit工具通过运算空间姿
态坐标和点云数据,以及人体和人体手臂的点云数据,规划机器人和机械臂的运动轨迹,实
现机器人和机械臂的自由度规划和运动达到指定的位置,并成功实现避障。
假设给定一个机械臂结构(假设有N个关节),给定一个目标(比如终端移到xyz),
给定一个环境,开源运动规划库和Moveit工具在自由路径规划与运动中规划一个轨迹,包
含M个数组,每一个数组长度是N,也就是一个完整的关节位置;沿着这个轨迹依次移动关
节,就可以最终把终端移到xyz,将终端的位置通过逆运动学解算转变成关节角度,实现舵
机角度的转动,从而控制机械臂的运动角度。若在机械臂关节移动过程中,出现机械臂各个
关节的实际的空间姿态与路径规划中的空间姿态之间的坐标差值大于预先设定的范围时,
开源运动规划库和Moveit工具通过逆运动学解算机械臂的空间姿态,从而调整机械臂关节
角度,控制机械臂的舵机进行转动,调整机械臂的运动角度,调整路径的偏差;出现机械臂
各个关节的实际的空间姿态与路径规划中的空间姿态之间的坐标差值小于预先设定的范
围,则主机发出运动终止的信号,机械臂完成此次任务。若摄像头采集人手臂运动姿态图像
时,摄像头与人手臂的距离超出预先设定的距离时,进行预警。
若机器人视线中出现不同的人体,则采用不同的数据状态进行标识,跟随指定的
人体的运动,并与人体保持一定的距离,例如40cm;若在运动过程中,失去跟随的人体目标,
则根据主机内存储的相关信息,机器人自身进行旋转并寻找目标;在旋转两周后仍未找到
目标,则发出警报进行预警,寻求帮助,并停止工作。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技
术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修
改、等同替换、改进等,均应包含在本发明的保护范围之内。