机器人操作系统(ROS)课件10.2MoveIt!的使用_第1页
机器人操作系统(ROS)课件10.2MoveIt!的使用_第2页
机器人操作系统(ROS)课件10.2MoveIt!的使用_第3页
机器人操作系统(ROS)课件10.2MoveIt!的使用_第4页
机器人操作系统(ROS)课件10.2MoveIt!的使用_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

机器人操作系统(ROS)机器人操作系统(ROS)MoveIt!的使用10.2机器人操作系统(ROS)10.2.1MoveIt!系统架构MoveIt!系统架构如图所示,内容参考官方文档概念说明。move_group是MoveIt!的核心节点,能够将其他的功能组件综合在一起为用户提供ROS中的动作指令和服务,其本身并不具备强大丰富的功能,依靠各种功能包和插件的集成,通过服务或消息的方式接收机器人发出的消息和机器人的TF坐标变换。MoveIt!系统架构机器人操作系统(ROS)10.2.1MoveIt!系统架构

用户可以通过如下三种方式访问move_group提供的操作和服务:基于move_group_interface的C++接口,基于moveit_commander的Python接口和使用rviz插件的GUI接口。move_group需要使用ROS参数服务器来获取以下三种信息:URDF:在ROS参数服务器上查找robot_description参数,以获取机器人模型的描述信息。SRDF:在ROS参数服务器上查找robot_description_semantic参数,以获取机器人模型的配置信息,配置信息通常由用户使用MoveIt!SetupAssistant创建。Config:机器人的其他配置信息,包括关节限制、运动学、运动规划、感知和其他信息。机器人操作系统(ROS)10.2.1MoveIt!系统架构运动规划(Motionplanning)就是在将机器人从初始姿态和位置移动到目标姿态和位置的过程中,避开环境中的障碍物并防止自身碰撞的一种算法MoveIt!通过插件机制(plugininterface)与运动规划器(motionplanner)进行交互,可以使用多个库的不同运动规划器,使得MoveIt!扩展性更强。MoveIt!中包含有多种运动规划器,包括基于采样的运动规划器OMPL(move_group默认使用),基于搜索的运动规划器SBPL和基于最优化的运动规划器CHOMP等。运动规划器结构如图所示,运动规划请求需要根据实际情况设置一些约束条件:①位置约束:限制link的空间区域。②方向约束:限制link的运动方向(滚转、俯仰和偏航)。③可见性约束:限制link上的某个点在某个区域的可见性。④关节约束:限制关节的运动范围。⑤用户指定约束:用户通过回调函数定义约束条件。运动规划器结构机器人操作系统(ROS)10.2.1MoveIt!系统架构规划场景用于重现机器人的周围状态以及机器人的自身姿态。这一功能主要由规划场景监听器(PlanningSceneMonitor)实现,如图所示:规划场景框图机器人操作系统(ROS)10.2.2如何使用MoveIt!配置助手配置机械臂运行如下命令安装MoveIt!,如图所示:$sudoapt-getinstallros-melodic-moveit*安装MoveIt!机器人操作系统(ROS)10.2.2如何使用MoveIt!配置助手配置机械臂

MoveIt!配置助手(SetupAssistant)是一个使用MoveIt!配置机器人的图形界面,主要功能是产生机器人的SRDF文件,另外还产生其他配置文件,从而创建一个MoveIt!配置的功能包,完成机器人的配置、可视化和仿真等工作。运行如下命令,启动设置助手,如图所示:$roslaunchmoveit_setup_assistantsetup_assistant.launchMoveIt!配置助手其中,按键“CreateNewMoveItConfigurationPackage”功能为新建配置功能包,按键“EditExistingMoveItConfigurationPackage”功能为使用已有的配置功能包。机器人操作系统(ROS)10.2.2如何使用MoveIt!配置助手配置机械臂点击按键“CreateNewMoveItConfigurationPackage”后,点击“Browse”按钮,加入相关模型,模型位置:robot_arm/robot_arm_description/urdf(需将本书对应代码拷贝至工作空间并进行编译),点击“LoadFiles”完成模型加载,如图所示。加载机械臂模型机器人操作系统(ROS)10.2.2如何使用MoveIt!配置助手配置机械臂点击“Self-Collisions”,配置自碰撞矩阵,如图所示。默认的自碰撞矩阵生成器搜索机械臂所有关节,这个碰撞免检矩阵是可以安全地关闭检查,从而减少行动规划的处理时间。采样密度指定了多少个随机机械臂位置来检查碰撞,默认10000个碰撞检查。可点击“GenerateCollisionMatrix”自动完成设置。配置自碰撞矩阵机器人操作系统(ROS)10.2.2如何使用MoveIt!配置助手配置机械臂点击“VirtualJoints”,分配机械臂的虚拟关节,如图所示。这里定义机械臂与世界坐标系的关系,把机械臂关节固定到某个物体上,例如机械臂有一个滑动底座,可以将机械臂的底座与里程计(odom)通过一个关节连接,此时机械臂就可以在二维平面滑动。这里用不上,直接跳过。分配机械臂虚拟关节机器人操作系统(ROS)10.2.2如何使用MoveIt!配置助手配置机械臂点击“PlanningGroups”,配置机械臂的规划群组,如图所示。规划组可以将机械臂划分为不同的组,例如机械臂本身和夹爪部分。运动规划会针对这一个组完成运动规划,在配置过程中还可以选择运动学解析器。配置机械臂的规划群组机器人操作系统(ROS)10.2.2如何使用MoveIt!配置助手配置机械臂点击“AddGroup”,按照图所示内容进行配置,其中:GroupName:规划组的名称。KinematicSolver:配置针对运动规划的运动学求解器,选择的是kdl的运动规划器插件。Kin.SearchResolution:关节空间的采样密度。Kin.SearchTimeout(sec):超时时间。创建机械臂arm组机器人操作系统(ROS)10.2.2如何使用MoveIt!配置助手配置机械臂点击“AddKin.Chain”,设置运动学计算中需包含的link,如图所示。具体设置如下:BaseLink:base_linkTipLink:grasping_frame添加运动学工具链机器人操作系统(ROS)10.2.2如何使用MoveIt!配置助手配置机械臂点击“AddGroup”,为机械臂夹爪创建如图所示的的gripper组。

创建机械臂夹爪的gripper组机器人操作系统(ROS)10.2.2如何使用MoveIt!配置助手配置机械臂将“finger_joint1”和“finger_joint2”加入到右侧的列表中,如图所示。选中“gripper”目录下的“Joints”,点击“EditSelected”,如图所示。进入gripper组中的joint进行配置设置gripper组中的joint机器人操作系统(ROS)10.2.2如何使用MoveIt!配置助手配置机械臂配置完成后,主配置界面如图所示。点击“RobotPoses”,定义机械臂的位姿。点击“AddPose”,首先设置机械臂的初始位姿,如图所示。主配置界面设置机械臂位姿机器人操作系统(ROS)10.2.2如何使用MoveIt!配置助手配置机械臂位姿设置完成后会出现如图所示的界面。通过更改相关的joint参数,设置机械臂的第二个位姿,如图所示。设置机械臂第二个位姿机械臂位姿配置完成机器人操作系统(ROS)10.2.2如何使用MoveIt!配置助手配置机械臂点击“EndEffectors”,配置机械臂的夹爪,如图所示。机械臂夹爪配置

点击“PassiveJoints”,如图所示,这里是配置不能驱动的关节,这些关节不需要MoveIt!对其进行规划和控制。由于本实验没有类似关节,所以无需配置。PassiveJoints配置机器人操作系统(ROS)10.2.2如何使用MoveIt!配置助手配置机械臂点击“AuthorInformation”,设置作者信息。点击“ConfigurationFiles”,生成配置文件。选择一个保存路径,配置助手将所有配置的文件打包成一个功能包(自行命名)进行保存,保存成功后点击“ExitSetupAssistant”即可退出配置助手,如图10-36所示。生成配置文件机器人操作系统(ROS)10.2.3启动MoveIt!

使用MoveIt!配置助手配置完成后,会在相应的路径下生成名为“robot_arm_config”的功能包,包含了大部分控制机械臂所需的启动和配置文件。运行如下命令,测试配置是否成功,如图所示:

$roslaunchrobot_arm_configdemo.launch运行demo.launch通过运动规划面板可以控制机械臂完成拖动规划、随机目标规划等功能。机器人操作系统(ROS)10.2.3启动MoveIt!

拖动机械臂的前端改变机械臂的姿态,点击“Planning”下的“Plan&Execute”,Moveit!开始规划路径,控制机械臂向目标位置移动,如图所示。拖动规划机器人操作系统(ROS)10.2.3启动MoveIt!

点击“Query”下的“GoalState”的下拉选项,选择“randomvalid

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论