当前位置: 代码迷 >> 综合 >> MoveIt教程[15]:MoveIt! Setup Assistant
  详细解决方案

MoveIt教程[15]:MoveIt! Setup Assistant

热度:53   发布时间:2024-01-24 17:45:28.0

一.Overview
MoveIt Setup Assistant是一个图形用户界面配置任何robot使用MoveIt。它的主要功能是为robot生成一个Semantic Robot Description Format [SRDF]文件。此外,它还生成其它必要的配置文件,以便与MoveIt 管道一起使用。要了解更多关于SRDF的信息,可以浏览URDF/SRDF概览页面。

二.Getting Started
1.首先按照说明安装MoveIt,如果还没有这样做
2.如果还没有这样做,确保对于Kinetic有Franka描述软件包:sudo apt-get install ros-kinetic-franka-description
3.如果已经有panda_moveit_config包,一定要删除,因为本教程将教你如何从头开始创建:

cd ~/ws_moveit/src
rm -rf panda_moveit_config
catkin clean panda_moveit_config

三.Step 1: Start
1.开启MoveIt Setup Assistant:roslaunch moveit_setup_assistant setup_assistant.launch
2.这将打开开始屏幕,有两个选项:Create New MoveIt! Configuration Package或者Edit Existing MoveIt! Configuration Package
3.点击Create New MoveIt! Configuration Package按钮,调出以下画面
4.点击browse按钮和导航到已经安装的panda_arm_hand.urdf.xacro文件,当上面安装Franka包的时候[对于ROS Kinetic,在Ubuntu上,该文件位于/opt/ros/kinetic/share/franka_description/robots/panda_arm_hand.urdf.xacro]。选择该文件,然后点击Load Files。Setup Assistant将会加载文件[这可能需要几秒钟],显示这个屏幕。

四.Step 2: Generate Self-Collision Matrix
默认的Self-Collision Matrix生成器会搜索robot上可以安全地从冲突检查中禁用的links对,从而减少了运动规划处理时间。当这些links总是在碰撞中,从不在碰撞中,在robot默认位置的碰撞中,或者当links在运动链上相互相邻时,这些links就会被禁用。采样密度指定了多少个随机的robot位置来检查自碰撞。较高的密度需要更多的计算时间,而较低的密度有更大的可能性禁用不应该禁用的对。默认值是10,000个冲突检查。冲突检查是并行进行的,以减少处理时间。
1.单击左侧的Self-Collisions窗格选择器,然后单击生成Generate Collision Matrix按钮。Setup Assistant将工作几秒钟,然后在主表中显示其计算结果。

五.Step 3: Add Virtual Joints
虚拟关节主要用于将robot连接到外部世界。对于Panda,将只定义一个虚拟连接,将Panda的panda_link0连接到世界框架。这个虚拟关节表示robot的基座在平面上的运动。
1.点击Virtual Joints面板选择器,点击Add Virtual Joint
2.设置joint的名字virtual_joint
3.设置child link为panda_link0,和parent frame名字为world
4.设置Joint Type为fixed
5.点击保存按钮,应该会看到这个屏幕

六.Step 4: Add Planning Groups
规划组用于从语义上描述机器人的不同部分,比如定义手臂是什么,或者末端执行器是什么。如下所示:
[1]点击Planning Groups面板选择器
[2]点击Add Group,应看到以下画面
1.Add the arm
[1]首先将增加Panda arm作为一个规划小组

  • 输入Group Name名字为panda_arm
  • 选择kdl_kinematics_plugin/KDLKinematicsPlugin作为运动学求解器进行求解。说明:如果有一个定制的robot,想要一个强大的定制IK求解器,参考Kinematics/IKFast
  • 让Kin.Search Resolution和Kin.Search Timeout保持默认值。

[2]现在,点击Add Joints按钮。会在左手边看到一个关节列表。需要选择所有属于手臂的关节并将它们添加到右手边。这些节点按照它们存储在内部树结构中的顺序排列。这使得选择一个连续的关节链变得很容易

  • 点击virtual_joint,按住键盘上的Shift键,然后点击panda_joint8。现在单击>按钮,将这些节点添加到右侧的选择节点列表中

[3]点击Save按钮保存选择的group
2.Add the gripper
[1]还会为末端执行器添加一个组。请注意,将使用与添加arm不同的过程来完成此操作

  • 点击Add Group按钮
  • 输入Group Name为hand
  • 让Kin.Search Resolution和Kin. Search Timeout保持默认值
  • 点击Add Links按钮
  • 选择panda_hand,panda_leftfinger和panda_rightfinger,和将它们添加到右侧所选链接的列表中
  • 点击Save按钮

七.Step 5: Add Robot Poses
Setup Assistant允许将某些固定的姿势添加到配置中。例如,如果希望将robot的某个位置定义为Home位置,这将很有帮助。
1.选择Robot Poses面板
2.点击Add Pose

八.Step 6: Label End Effectors

九.Step 7: Add Passive Joints

十.Step 8: 3D Perception

十一.Step 9: Gazebo Simulation

十二.Step 10: ROS Control

十三.Step 11: Add Author Information

十四.Step 12: Generate Configuration Files

十五.What’s Next

十六.Additional Reading

参考文献:
[1]MoveIt! Setup Assistant:http://docs.ros.org/kinetic/api/moveit_tutorials/html/doc/setup_assistant/setup_assistant_tutorial.html
[2]

  相关解决方案