一、tutoria开源包
1.这里有创客智造教程,里面有下载tutoria的链接。不过我没有去运行整个文件包,我只是把这个包关于move_group c++的代码作为参考,放到我自己的环境下运行:
在下载的包的DOC/planning包下面,有一个move_group_interface_tutorial.cpp的文件,把它放到自己的工作空间下的一个pkg下面的src里,然后配置和更改与src在同一目录下的launch和cmakelist的文件内容
2.先运行一个可以运行rviz-moveit的launch,然后再运行启动cpp节点的的launch
3.直接用下载的move_group_interface_tutorial.cpp文件会报错,
(1)
第一个报错是显示找不到h文件,第二个报错是my plan,这篇博客都已经给出解决方法了
(2)
这个是success的bool类型报错,就是换个语法
(3)
type报错,这篇给出的解决方法就是,删去devel和build文件夹,然后再编译,就不报错了
二、将UR5导入到noetic里,在rviz-moveit显示,还有使用cpp文件简单控制UR5Q运动
(1)这个教程详细,但可惜是英文的
MOVEIT官网教程
(2)
导入官网的UR5文件包,包括配置MOVEIT文件和模型,但是因为官网没有noetic的,所以按照这篇文章可以在noetic下面编译运行文件包
(3)
UR5可以用的move_group c++接口,这个文件是修改过的,在(一、)中所说的那三个报错,这篇博客已经修改过了,所以几乎直接就能跑通。
碰到的一些问题:
(1)在运行cpp文件时,报错找不到node
解决方法:看看cmaklelist有没有加依赖;从网上直接copy的文件可能没有执行权限,文件右键属性看看是不是可执行文件。
(2)如果报错type问题或者怎么也找不到节点,把devel和build文件删掉再编译运行
三、py接口
按照创客智造教程复制粘贴,其中有几个问题:
(1)当使用python3的时候,会报错
AttributeError: 'tuple' object has no attribute 'joint_trajectory'
查找之后,这里给出了解决方案
也就是将plan1 = group.plan()
改成plan_success, plan1, planning_time, error_code = group.plan()
然后就不报错了
(2)代码给的是pyhon2的代码,所以print函数他用的是不加括号的,使用pyhotn3需要加括号