睿尔曼超轻量仿人机械臂—RM系列机械臂生成自定义Moveit配置文件及仿真demo使用说明

本文详细介绍了如何使用MoveitSetupAssistant配置Moveit,包括加载URDF模型、生成碰撞矩阵、添加虚拟关节和运动规划组,以及在ROS环境中进行仿真。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 前言

     Moveit的使用、配置和原理相关的内容较多,特别是assistant生成的moveit_config包,内容较多,在配置时容易让用户搞不清关系,导致配置过程艰难、漫长。那么什么是Moveit Setup Assistant? Moveit Setup Assistant是一个图形化的交互界面,可以用来配置任何URDF格式的机器人文件,更多详细内容可以参考Moveit 官方网站。

  • 准备工作

     首先要求环境配置:

    • Ubuntu20.04
    • ROS noetic
    • Moveit
    • URDF文件
  1. moveit安装

安装moveit官方说明文档:MoveIt 1 Source Build - Linux | MoveIt

源码地址:

GitHub - ros-planning/moveit_tutorials: A sphinx-based centralized documentation repo for MoveIt

      2.URDF文件获取

通过采用Solidwoks导出urdf模型文件,具体方法不做过多阐述。

  • MoveIt Setup Assistant使用

  1. 启动

roslaunch moveit_setup_assistant setup_assistant.launch

  • 开始菜单会有两个选项:
    • “Create New MoveIt Configuration Package”
    • “Edit Existing MoveIt Configuration Package“

可以选择”创建新的moveit-config配置文件包”,也可以”编辑已经存在的moveit-config配置文件包”。

本文选择”创建新的moveit-config配置文件包”。

2, 选择”创建新的moveit-config配置文件包”,点击”Browse”加载我们的urdf文件。

若成功发加载,则会在右侧看到机械臂的模型,如图:

生成碰撞矩阵

如果设置为比较高的采样密度,会消耗更多的计算时间,而较低的密度会有遗漏的情况,默认值是10000次碰撞检测

点击”Self-Collision”导航栏,然后点击”Generate Collision Matrix” 按钮

添加Virtual Joints

Virtual Joints是用来连接机器人和世界坐标系的,对于Realman的机器人来说,需要定义一个Virtual Joints连接base_link和world坐标系

  • 点击”Virtual Joints”栏, 点击”Add Virtual Joint”
  • Virtual Joint Name名字为 “virtual”
  • 设置”child link” 为”base_link”, “parent frame”为”world”
  • 设置”Joint type”为”fixed”
  • 点击保存按钮

添加运动规划组

运动规划组用来区分机械臂的不同部分,比如定义手臂部分和末端执行器

  • 点击”Planning Groups”栏
  • 点击”Add group”,得到下面的界面

手臂运动规划组配置

    • ”Group Name”设置为”arm”
    • 选择”trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin”作为动力学求解器
    • “Kin.SearchTimeout(sec)“设置为0.1
    • “Group Default Planner“设置为”RRTConnect“
    • 其他保留默认设置

点击Add Kin.Chain按钮,可以得到下图

    • Base Link选择为base_link
    • Tip Link选择为Link7
    • 点击保存按钮

夹持器运动规划组配置

  • 添加夹持器(注意:步骤和上面有不一样的地方)
    • 点击Add Group按钮
    • “Group name”设置为”gripper”
    • “Kinematics Solver”设置为”None”
    • 其他保持默认
    • “Group Default Planner“设置为”None“
    • 点击Add Joints按钮
    • 选中gripper_link1,再点击“>“符号将其作为被选中joint
    • 选中gripper_link2,再点击“>“符号将其作为被选中joint

点击save按钮进行保存

添加机器人位姿(可选)

可以用这一步来检查URDF文件有没有错误

    • “Pose Name”设置为”up”
    • Planning Group设置为”arm”
    • 使得各个joint处于零位
    • 点击save按钮进行保存

添加夹持器位姿(可选)

    • “Pose Name”设置为”close”
    • Planning Group设置为”gripper”
    • 使得gripper的link1和link2达到最大行程0.0442m
    • 点击save按钮进行保存
    • “Pose Name”设置为”open”
    • Planning Group设置为”gripper”
    • 使得gripper的link1和link2完全打开
    • 点击save按钮进行保存

定义末端执行器

  • 点击End Effector一栏
  • End effector name设置为parallel
  • End Effector group设置为gripper
  • Parent link设置为Link7
  • Parent Group设置为arm
  • 点击save按钮进行保存

 Passive Joints

告诉路径规划器,机器人上面可能存在被动关节(不被电机驱动),这些关节不会被控制, 这里不会用到,跳过

3D perception

用于设置yaml文件参数,跳过

Simulation

这个工具可以帮我们在Gazebo里面生成对应的机器人模型(跳过)

Controllers

生成MoveIt控制器用于控制机器人

  • 点击Controllers栏
  • 点击Auto Add FollowJointsTrajectory controllers For Each Planning Group进行自动添加控制器

添加作者信息

这一步不能省略,点击Author Information进行填写

生成Configuration 文件

  • 点击Configuration Files一栏,选择一个路径,新建文件夹rm75zf-eg2-moveit-config,点击Chose
  • 点击Generate Package按钮

完成

Rviz仿真

在上图的launch文件夹中包含了很多launch文件,进入到launch文件夹,运行demo.launch

在可视化工具rviz中打开

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值