基于
ROS
清洁
机器人
运动
控制
研究
李志文
基金项目:国家自然科 学基 金(51567022);国 家自然 科学 基金(51667020);面向南疆地区的多能互补供能系统关键技术与示范(2018AA007)收稿日期:2021-06-07 修回日期:2021-06-14 第 40 卷 第 4 期计 算 机 仿 真2023 年 4 月 文章编号:1006-9348(2023)04-0455-06基于 ROS 的清洁机器人运动控制研究李志文,程志江,杜一鸣,邓佳桐(新疆大学电气工程学院,新疆乌鲁木齐 830046)摘要:针对移动式清洁机器人协调运动控制难度大且复杂的问题,设计了一种基于 ROS 的履带式清洁机器人运动控制系统。首先建立三维工作环境,对清洁机器人进行运动学分析,创建清洁机器人的 URDF 模型,通过配置 Moveit 功能包获取机器人运动规划的启动文件,利用 Rviz 可视化界面对机器人实时监控和控制,通过设计机器人控制架构和系统软硬件接口协议,利用 ROS 中消息发布、订阅的形式下达运动控制命令,来完成对清洁机器人仿真和对实物进行运动控制功能。通过实物仿真表明,利用 ROS 操作系统设计的清洁机器人能够完成移动平台的自主导航和机械臂的运动规划控制,满足清洁过程中的运动任务,并且能够实时对其进行监控和控制。关键词:机器人;运动控制;运动规划;接口协议;自主导航中图分类号:TP242 文献标识码:BResearch on Motion Control of Cleaning Robot Based on ROSLI Zhi-wen,CHENG Zhi-jiang,DU Yi-ming,DENG Jia-tong(School of Electrical Engineering,Xinjiang University,Urumqi Xinjiang830046,China)ABSTRACT:Aiming at the difficulty and complexity of coordinated motion control of mobile cleaning robot,atracked cleaning robot motion control system based on ROS was designed.Firstly a three-dimensional work environ-ment was established,and then for cleaning robot kinematics analysis,the URDF model of cleaning robot was crea-ted.By configuring Moveit feature pack for robot motion planning startup files,the visualized Rviz interface was uti-lized to the robot real-time monitoring and controlling.Through the design of robot control architecture and systemsoftware and hardware interface protocols,motion control commands were issued in the form of message publishingand subscription in ROS to complete the simulation experiment of cleaning robot and the motion control function ofphysical objects.The physical simulation results show that the cleaning robot designed by ROS operating system cancomplete the autonomous navigation of the mobile platform and the motion planning and control of the manipulatorarm,which can meet the movement tasks in the cleaning process,monitor and control it in real time.KEYWORDS:Robot;Motion control;Motion planning;Interface protocol;Autonomous navigation1 引言21 世纪我国提倡绿色发展,以化石能源燃料为主的发电方式开始退出历史舞台,国家开始大力发展太阳能、风力等清洁能源发电方式,其中目前太阳能发电的主要方式是光伏太阳能板发电,光伏太阳能板发电面临的主要问题是光伏组件上的灰尘清洁问题1。如何使清洁机器人快速高效的清洁光伏组件上的灰尘有重大研究意义。本文研究的清洁机器人是由移动平台和四自由度机械臂组成的移动机械臂,具有很好的灵活性和广阔的操作空间,性能优于固定的机械臂2。近几年,移动机械臂的应用越来越广泛,例如:航天、采矿、深海探究、农业等领域3。对于移动机械臂的研究也面临着很多复杂的问题,比如:移动机械臂的车-臂运动不协调,智能化程度不高的问题,机器人操作平台编程效率低下、成本高、对机器人不能实时控制和仿真等4。针对这些问题,近几年全球也研究出了很多操作软件。其中 ROS 操作系统作为一个开源的系统,近几年在机器人领域应用越来越广泛,ROS 为开发者提供了广泛的工具包和库文件,扩展性强5,本文所设计的移动平台的控制器和机械臂的控制器,以机器人运动控制核心 ros_control 作为554控制机制,并采用串口通信实现上位机与底层的通信,通过在上位机配置 ros_control 控制机制来完成清洁机器人的协调运动控制和运动规划。最后通过实物仿真表明该方法的可行性。2 ROS 仿真平台搭建ROS 操作系统是一个开发机器人的常用开源系统,提供了大量的库文件和工具,拥有开发机器人统一接口和框架6。通过点对点的设计完成各独立节点的功能传递,提供了各种功能包,搭建控制平台,适用于多机协同,并且支持多种语言开发来实现机器人仿真和控制实物机器人7。为机器人的开发提供了许多便利,满足各种需求,功能十分强大。ROS 操作系统控制原理示意图如图 1 所示。图 1 ROS 系统控制原理示意图2.1 URDF 模型导入ROS 操作系统对机器人进行仿真,必须用到描述机器人模型的(Unified Robot Description Format.URDF)文件8,UDRF 采用 XML 文件格式,文件内容包含:机器人的形状、物理信息、运动学、动力学等基本信息,支持提供模型的自碰撞检测信息9。本文所研究的清洁机器人三维模型首先使用SolidWorks 软件构建出来,之后通过 SW2URDF 插件把三维模型转化为相应的 URDF 模型。ROS 中的 Rviz 是一个三维可视化工具,SolidWorks 所构建三维模型转化的 URDF 文件可以导入 Rviz 工具中,通过运行 launch 文件,可以在 Rviz 中显示虚拟的机器人三维模型10,对机器人进行运动控制时,可以在 Rviz 中实时的显示机器人的状态信息。如图 2 所示。图 2 Rviz 中的机器人模型2.2 Moveit 运动配置机器人进行运动学求解、导航运动和路径规划等主要依赖 Moveit 功能包。用户通过设置 Moveit!SetupAssistant 助手,来对 Moveit 进行一系列配置,其中,Moveit 中的核心节点Move_Group 作为枢纽,不断地同时接受和反馈机器人运动关节 joint state 信息,为控制机器人提供 完 整 的 服 务11。Moveit 整体框架图如图 3 所示。图 3 ROS Moveit!高层框架2.3 环境构建传统的 2D 建图检测不到三维空间里某些障碍物,从而影响机器人工作,本文根据清洁机器人的工作环境,采用激光雷达+深度相机联合建图的方法构建 3D 地图。激光雷达具有非常高的探测精度且不受环境影响,但是三维激光雷达价格很高,这样会拉高机器人的成本12。深度相机价格相对便宜,原理是通过红外发射器和感应器将环境中的画面数字化,然后通过图像处理得到清晰的三维点云画面,但深度相机受环境影响大,特别是强光的影响13。本文结合了激光雷达和深度相机的优缺点,利用深度相机采集到的图像信息结合激光雷达测定的距离,可以精确的标定出障碍物和障碍物的特征,完美的构建出机器人工作环境。本系统实验所处的三维环境信息如图 4 所示。图 4 机器人所在的三维仿真环境3 清洁机械臂的运动学分析要实现对清洁机器人的机械臂的控制,首先要对机械臂654进行运动规划,建立运动学模型是研究机器人运动基础。目前在机械臂建模方法中 D-H 坐标变换法是应用最广的方法,该方法可应用于不同机械结构的机械臂,针对本文研究的清洁机械臂的机械结构建立运动学模型14,其中每个关节的转动变量完全可以用 i、ai、di和 i四个参数描述,表 1为清洁机械臂的 D-H 参数表。表 1 清洁机械臂 D-H 参数表关节 ii/。i/mmdi/mmi/。10L12L20230L34L4043.1 清洁机械臂运动学模型清洁机器人的机械臂是由末端装置和各个连杆组成,为研究机器人运动学,需要建立每个连杆对应的坐标系,这些坐标系之间的相对关系可以用齐次坐标变换的方法描述,每个关节的坐标表换矩阵用 Ti表示T1=-100000-100-10L10001|(1)T2=c20-s2L2c2s20c2L2s20-1000001|(2)T3=-10000-100001L20001|(3)T4=c40s4L4c4s40-c4L4s401000001|(4)式中:si=sin i,ci=cos i。将每个关节所对应的变换矩阵 Ti相乘可以得到机器人系统的总的变换矩阵,即机器人的运动学模型。T=1T2T3T4=c2c4s2c2c4u-s40c4-L4s4c4s2-c2s2s4v0001|(5)式中:u=L3s2-L2c2+L3c2c4sin i,v=L1-L3c2-L2s2+L4c4s23.2 清洁机械臂逆运动学分析机器人的逆运动学求解是在已知机械臂末端的状态下,求解所对应的各个关节变量的过程,首先假设机械臂末端状态在基坐标系中所对应位姿矩阵为 AA=nxoxaxpxnyoyaypynzozazpz0001|(8)其中式中:n,o,a 表示机械臂末端在基坐标的相对姿态;P表示机械臂末端在基坐标的相对位置关系。令 T=A 得出nx=cos 2cos 4ox=sin 2px=L3sin 2-L2cos 2+L4cos 2cos 4ay=cos 4oz=-cos 2pz=L1cos 2-L2sin 2+L4cos 4sin 2|(9)由上述公式可求得清洁机器人的机械臂逆运动学解析式L1=L4ayox-p2-L2oxoz2=arcsin oxL3=px-L2oz+L4ozayox4=arccosnxcos(arcsin ox)|(10)根据(10)式,可以求出机械臂末端状态所对应各个关节的变量。4 清洁机器人运动控制系统设计4.1 清洁机器人总系统设计清洁机器人在 ROS 操作系统下,采用分层式设计结构和模块化思想15,把清洁机器人总系统分为四个部分:分别为控制部分、驱动部分、数据处理部分、硬件部分。通过对这四部分设计,使机器人能够实现运动控制、数据采集、环境建图等功能。系统的总体结构图如图 5 所示,控制部分主要作用是通过 PC 机与机器人系统进行通讯,实现人机交互功能,然后远程操作树莓派对机器人系统进行导航、视觉以及运动控制等智能算法的实现,提高机器人的智能化功能。驱动部分主要包括雷达的驱动、相机的驱