使用moveit!控制真实机械臂(0)——思路

moveit!可以实现对机械臂的轨迹控制,这里的机械臂既可以是真实的,也可以是虚拟的,在此,我们想使用moveit!规划的轨迹来控制一个真实的机械臂,真实的机械臂千差万别,这里不涉及到真实机械臂的控制驱动,只讲一讲控制思路,每一条思路今后会再写文章逐步细化。

基本思路:

1、首先要有一个与真实机械臂相一致的机器人模型文件。
这里的一致指的是机械臂连杆参数一致,模型的细微差别不受影响。这一步也不是必须的,只是为了在rviz下使用moveit,这样可视化效果好一些,初学也容易接受,若不在rviz下使用moveit!,你也完全可以使用moveit!所提供的API编程接口,使用自己写的程序去发布规划的轨迹。

《使用moveit!控制真实机械臂(1)——获取一个机械臂模型文件》

2、使用moveit配置助手生成配置文件。
加载上述模型文件,跟着助手向导一路走下去,最终生成一个moveit的配置文件。
《使用moveit!控制真实机械臂(2)——使用moveit配置助手生成配置文件》

3、修改配置文件来控制真实机械臂。
上一步生成的配置文件默认控制的是虚拟机械臂,需要修改部分文件,来告诉moveit!我们想要控制的是真实机械臂。
《使用moveit!控制真实机械臂(3)——修改moveit配置文件来控制真实机械臂》

4、了解moveit!所使用的action。
此时需要理解action的工作原理,因为moveit!是通过action这种交互机制来控制机械臂的,这种方法的本质还是ROS下的消息,但编程方法有所不同,因此这里需要对moveit所使用的action做一个了解。
《使用moveit!控制真实机械臂(4)——了解moveit!所使用的action》

5、在真实机械臂的驱动节点中实现action服务端功能。
moveit扮演的角色是action的客户端,真实机械臂的控制节点是action服务端。
《使用moveit!控制真实机械臂(5)——编写真实机械臂节点中的action服务程序》

6、将action客户端的指令转化成机械臂能够执行的控制命令。
《使用moveit!控制真实机械臂(6)——将action的信息转化为机械臂的控制命令》

你可能感兴趣的:(机器人,C语言编程,程序设计,嵌入式系统设计,ROS,ROS程序开发自学笔记)