【MoveIt 2】直接通过 C++ API 使用 MoveIt : 可视化碰撞 (launch文件过时)

3cfc9e0842f66037c02e5b343ffdfac1.png

本节将引导您完成 C++示例代码,使您能够在 RViz 中移动和操作机器人手臂时可视化机器人自身与世界之间的碰撞接触点。

 运行代码 

直接从 moveit_tutorials 运行代码的启动文件:

您现在应该看到熊猫机器人和 2 个可拖动的交互标记。

5de7462575ae9b74d36ef110e4eb87b9.png

 课程 

本教程的代码主要在 InteractiveRobot 类中,我们将在下面进行讲解。 InteractiveRobot 类维护一个 RobotModel 、一个 RobotState 以及关于“世界”的信息(在本例中,“世界”是一个黄色的立方体)。

InteractiveRobot 类使用 IMarker 类来维护一个交互式标记。本教程不涉及 IMarker 类(imarker.cpp)的实现,但大部分代码是从 basic_controls 教程中复制的,如果你感兴趣,可以在那里阅读更多关于交互式标记的信息。

 互动 

在 RViz 中,您将看到两组红/绿/蓝交互标记箭头。用鼠标拖动这些箭头。移动右臂,使其与左臂接触。您将看到标记接触点的品红色球体。如果没有看到品红色球体,请确保已按照上述说明添加了带有 interactive_robot_marray 主题的 MarkerArray 显示。还要确保将 RobotAlpha 设置为 0.3(或小于 1 的其他值),以便机器人是透明的,可以看到球体。移动右臂,使其与黄色立方体接触(您也可以移动黄色立方体)。您将看到标记接触点的品红色球体。

 相关代码 

整个代码可以在 moveit_tutorials GitHub 项目中看到。使用的库可以在这里找到。为了使本教程专注于碰撞接触,许多理解此演示工作原理所需的信息被省略了。要完全理解此演示,强烈建议您通读源代码。https://github.com/moveit/moveit2_tutorials/tree/main/doc/examples/visualizing_collisions

#include <ros/ros.h>  // ROS头文件
#include "interactivity/interactive_robot
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值