Moveit!配置/开发机械臂全过程

1. 使用MoveIt Setup Assistant完成基础配置

根据自己需要的机械臂进行配置,各界面参数介绍请查阅:

Setuo Assistant
此处不再赘述。

roslaunch moveit_setup_assistant setup_assistant.launch

在这里插入图片描述
笔者在此过程中唯一遇到的问题就是在导入URDF文件时,Setup Assistant无法识别。
解决方法:从github上clone官方发布的urdf,并且注意clone与自己的ROS版本对应的urdf。如果是自己写的URDF文件,多检查文件的完整性。
至于从github上clone太慢的问题,可以采用国内服务器中转提速,亲测有效。
具体的方法请查阅: 国内git仓库中转

2. 配置工作空间

第一步:
MoveIt Setup Assistant的最后一个界面,选择generate package的路径。
建议放在主目录下,方便后续操作。
在这里插入图片描述
如上图,我generate在了主目录下,文件夹名为ur5_test2。

第二步:
在主目录下新建一个文件夹,并初始化为工作空间。如下图,ur5_test1。

第三步:
将MoveIt Setup Assistant生成的ur5_test2文件夹放到ur5_test1的src文件夹下。
在这里插入图片描述

第四步:
在src文件夹下新建一个功能包(catkin_create_pkg就不用我教了吧?)以后我们会把自己写的Moveit!程序放到这里面。
如上图所示的xds_code功能包

3. 启动demo

进入ur5_test2(MoveIt Setup Assistant生成的文件夹)中的launch文件夹
启动终端,运行:

roslaunch demo.launch

在这里插入图片描述
如下图,在Rviz中成功加载设定好的初始姿态模型
在这里插入图片描述

4. 为自己的代码设置依赖

在我们之前创建的功能包的src文件夹中,可以放置我们自己的代码文件。
在这里插入图片描述
我的代码是用C++写的,所以需要对功能包的CMakeList和package做如下改动:

CMakeList:
find_package(catkin REQUIRED COMPONENTS
roscpp
rospy
std_msgs
moveit_core
moveit_ros_perception
moveit_ros_planning_interface
moveit_visual_tools
)

catkin_package(
CATKIN_DEPENDS roscpp rospy std_msgs moveit_ros_perception moveit_ros_planning_interface moveit_core trajectory_msgs
)

add_executable(first_code src/first_code.cpp )
add_dependencies(first_code KaTeX parse error: Expected '}', got 'EOF' at end of input: {{PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
target_link_libraries(first_code ${catkin_LIBRARIES})

package:
<build_depend>moveit_core</build_depend>
<build_depend>moveit_ros_perception</build_depend>
<build_depend>moveit_ros_planning_interface</build_depend>
<build_depend>moveit_visual_tools</build_depend>
<build_depend>trajectory_msgs</build_depend>
<exec_depend>moveit_core</exec_depend>
<exec_depend>moveit_ros_perception</exec_depend>
<exec_depend>moveit_ros_planning_interface</exec_depend>
<exec_depend>moveit_visual_tools</exec_depend>
<exec_depend>trajectory_msgs</exec_depend>

按照上述步骤设置完依赖后,回到工作空间根目录catkin_make
编译过程中如果出现“未定义的引用”,多半是依赖出了问题,按照上面仔细检查。
尽量不要白嫖别人的程序,Moveit的C++API经历过改动,有些函数名称发生了变化,别人几年前写的程序放在今天可能编译就不通过。
2020/12/12我针对Moveit官方C++ API文档写了详解,可查阅:
Moveit!编程C++ API详解
鼓励有能力的同学自己看。

5. 运行自己的代码操控机器人

打开我们之前运行的Rviz界面,ctrl+alt+t打开终端,输入:
rosrun <功能包名> <节点名>
在这里插入图片描述
运行后,机械臂按程序进行Plan并execute
在这里插入图片描述

  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值