MoveIt教程3 - Panda机械臂案例(II) - Rviz

下载并编译好后,我们就可以在rviz中玩panda机械臂了。

1 运行程序并配置rviz

运行demo程序

roslaunch panda_moveit_config demo.launch rviz_tutorial:=true

如果是第一次运行rviz,会看到一个空的世界,这时需要手动添加插件


  • 点击左下角的Add

  • moveit_ros_visualization文件夹中选择MotionPlanning,点击OK

  • 这时Panda机械臂的3D模型会出现在世界里


  • 配置rivz

    • Global Options下,将Fixed Frame设置成/panda_link0
    • 点击MotionPlanning,确认以下设置正确
      • Robot Descriptionrobot_description
      • Planning Scene Topic/planning_scene
      • Planning Request中的Planning Grouppanda_arm
      • Planned Path中的Trajectory Topic/move_group/display_planned_path

2 设置可视化选项

MotionPlanning中有4种不同的可视化选项

    1. 机器人本身3D模型 (默认打开),可在Scene Robot- Show Robot Visual设置
    1. 规划的运动路径 (默认打开),可在Planned Path-Show Robot Visual设置
    1. 绿色:机器人运动的起始状态 (默认关闭),可在Planning Request-Query Start State设置
    1. 橙色:机器人运动的目标状态 (默认打开),可在Planning Request-Query Goal State设置

3 使用Interact

通过rviz左上角工具中的Interact可以调整机械臂的状态。

作如下的可视化勾选设置:

  • 勾选Planned Path-Show Robot Visual
  • 取消勾选Scene Robot-Show Robot Visual
  • 勾选Planning Request-Query Goal State
  • 勾选Planning Request-Query Start State

此时机械臂上会出现两个交互标记 (interactive markers),分别控制起始状态和目标状态,点击拖动可以进行改变。

碰撞 (collision)

MoveIt会检测目标状态是否会发生碰撞。标为红色的link表示到达目标状态会发生碰撞。


在MotionPlanning插件Planning选项卡中可以通过勾选`Use Collision-Aware IK'选项让运动求解器不断尝试找出无碰撞的解。若不勾选,则求解器会允许有碰撞的解。

出界 (workspace)

由于joint的角度限值和关节的固定长度,目标点需要再一个有效的空间(workspace)内, 对于出界的目标点,求解器将无法求出解。


4. 使用Motion Planning

现在可以通过Motion Planning让机械臂规划运动。

  • 点中Start State 拖到想要的起始位置
  • 点中Goal State 拖到想要的目标位置
  • 检查起始和目标状态下都没有碰撞
  • Planned Path选项卡中勾选Planned Path

在MotionPlanning插件的Planning中点击Plan按钮, 可以看到机械臂运动的轨迹。

查看轨迹点 (waypoints)

通过slider查看运动轨迹点。

  • Panels菜单中选择MotionPlanning - Slider,在左边会出现一个滑块。
  • 设置目标状态,点击Plan
  • 拖动滑块可以查看轨迹点。


保存Rviz配置

File->Save Config
下次打开Rviz可以通过File->Open 调用保存的配置。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容