目录
一、简介
二、环境版本
三、学习目标
四、知识储备
五、任务实施
六、任务拓展
七、课堂小结
八、课后练习
一、简介
大家好,欢迎关注遨博学院带来的系列技术分享文章(协作机器人ROS开发),今天我们来学习遨博机械臂ROS通讯机制。
在前面课程中,我们学习了遨博机械臂ROS环境下仿真建模与控制,本节课讲解遨博机械臂ROS驱动功能包与机械臂控制器之间的通讯机制。
二、环境版本
主机系统版本:Windwos10 64位处理器型号:Intel-i7虚拟机版本:VMware Workstation 16 Pro虚拟机系统:Ubuntu 18.04.6 LTSROS版本:Melodic三、学习目标
四、知识储备
遨博机械臂提供了多种语言的二次开发接口。本课程以C++ SDK为例,讲解在ROS中常被调用的相关接口,其他接口介绍详见serviceinterface头文件。
接下来讲解机械臂MoveIt!低级控制器配置。
要创建的第一个文件是YAML配置文件。
接下来创建控制器的启动文件。
接下来讲解遨博ROS中间件通讯机制。
在上一步中MoveIt!作为Action Client将路点信息发送出去。aubo_controller功能包中的aubo_joint_trajectory_action节点实现Action Server功能获取该信息,发布到joint_path_command主题。
aubo_robot_simulator节点订阅joint_path_command主题信息,并通过moveItController_cmd主题将MoveIt!发布的机械臂路点信息发布出去。
aubo_driver功能包向下连接真实的机械臂控制器,设置机械臂的运动参数,订阅moveItController_cmd主题消息。定时器每0.1秒查询是否有路点信息,如果有,则通过底层API函数向机械臂控制器发送MoveIt!为机械臂计算出来的路点信息。
aubo_driver功能包同时也获取机械臂的真实状态,并将这些参数向上发送给move_group、rosout、aubo_robot_simulator、robot_state_publisher、rviz等需要获取该消息的节点。
五、任务实施
接下来通过ROS系统提供的rqt工具验证并学习遨博机械臂ROS功能包从上层到底层的整个通讯流程。详见微课实操演示。
遨博机械臂ROS通讯机制
六、任务拓展
七、课堂小结
遨博ROS驱动功能包:GitHub - AuboRobot/aubo_robot: Developed for aubo robot (http://www.aubo-/)
通过本篇文章的学习,用户可以基本掌握开源ROS系统下机械臂MoveIt!开发框架如何与遨博机械臂控制器进行通讯的流程,小结如下。
八、课后练习
在接下来的ROS课程中,我们会讲解遨博机械臂MoveGroup C++接口编程,欢迎持续关注。