目录
一、简介
大家好,欢迎关注遨博学院带来的系列技术分享文章(协作机器人ROS开发),今天我们来学习遨博机械臂MoveGroup Python接口编程。
二、环境版本
- 主机系统版本:Windwos10 64位
- 处理器型号:Intel-i7
- 虚拟机版本:VMware Workstation 16 Pro
- 虚拟机系统:Ubuntu 18.04.6 LTS
- ROS版本:Melodic
三、学习目标
四、知识储备
首先了解MoveIt! API框架。
move_group是MoveIt!的核心部分,可以综合机器人的各独立组件,为用户提供一系列需要的动作指令和服务。从架构图中我们可以看到,move_group类似于一个积分器,本身并不具备丰富的功能,主要做各功能包、插件的集成。它通过消息或服务的形式接收机器人上传的点云信息、joints的状态消息,还有机器人的tf tree,另外还需要ROS的参数服务器提供机器人的运动学参数,这些参数会在使用setup assistant的过程中根据机器人的URDF模型文件,创建生成(SRDF和配置文件)。
下面介绍Python接口moveit_commander。
要使用Python MoveIt!接口,我们将导入moveit_commander命名空间。这个命名空间为我们提供了一个MoveGroupCommander类、一个PlanningSceneInterface类和一个RobotCommander类。
类的层次结构如图所示。
程序导入使用示例如下。
五、任务实施
首先进行Python接口实例功能包的编译。
将光盘本课程压缩包拷贝至ROS工作空间aubo_examples目录下,执行如下指令解压并编译。
下一步启动机械臂仿真RViz和Gazebo节点。
接下来演示运行Python接口脚本程序。
任务解析。
MoveGroup Python接口编程
六、任务拓展
通过以上示例程序的学习,我们需要掌握moveit_commander_python 常用API接口的使用。
更详细的API接口说明,可查阅官方文档。(moveit_commander: Main Page)
七、课堂小结
1.moveit_commander初始化参数传递的group名称需和MoveIt!中配置的机械臂规划组一致,否则无法正常控制。
2.运行Python脚本程序前需确保其文件有可执行权限。
八、课后练习
在接下来的ROS课程中,我们会讲解遨博机械臂规划场景构建,欢迎持续关注。