Skip to main content
此抓取和放置仿真示例应用使用基于 C++ 的机器人操作 ROS 2 节点 simulation_sample_pick_and_place 演示使用 MoveIt2 进行运动规划和使用 Gazebo 进行物理仿真的自主抓取和放置操作。
注意有关更多信息,请参见 GitHub 上的 simulation_sample_pick_and_place。

图:simulation_sample_pick_and_place 的示例效果

simulation_sample_pick_and_place 的流水线流程

image

simulation_sample_pick_and_place 流水线中使用的 ROS 节点

simulation_sample_pick_and_place 流水线中使用的 ROS topic

ROS Topic类型说明
/joint_statessensor_msgs/msg/JointState所有机器人关节控制信息的实时数据。
/hand_controller/controller_statecontrol_msgs.msg.ControllerState夹爪控制器的当前状态和状态信息。
/rm_group_controller/controller_statecontrol_msgs.msg.ControllerState机械臂控制器的当前状态和状态信息。
/robot_descriptionstd_msgs.msg.StringXML 格式的 URDF 机器人描述,用于机器人建模和可视化。
/robot_description_semanticstd_msgs.msg.String用于 MoveIt 规划和配置的 SRDF 语义机器人描述。

前提条件

你已完成 设置运行示例应用的环境 中的以下设置。
  • 设置设备
  • 设置主机 docker

设置仿真环境

1

在主机计算机上构建仿真环境

根据 QRB ROS Simulation 的 README 完成以下操作以构建 Qualcomm 机器人仿真环境。确保设备和主机在同一本地网络上,并可通过 ROS 通信相互通信。
  1. 在 Ubuntu24.04 主机或 Docker 上设置开发环境。
  2. 从源码构建。
2

启动 Gazebo 仿真环境

在主机上运行 qrb ros simulation。打开终端并运行以下命令以启动 Gazebo 仿真环境:
SSH Session
3

启动控制器管理器

在 Gazebo 中选择 Play 按钮以启动仿真,然后打开另一个终端并运行以下命令以启动控制器管理器:
SSH Session

开箱即用运行 simulation_sample_pick_and_place

1

启动 moveit ROS move group

在开发套件上,打开一个终端并运行以下命令:
SSH Session
如果 ROS 节点成功启动,会出现从 [move_group-1] You can start planning now! 开始的日志。
2

启动抓取和放置示例应用

打开另一个终端并运行以下命令:
SSH Session
结果 如果 ROS 节点成功启动,你可以在 Gazebo 中看到机械臂执行抓取和放置操作。

构建并运行 simulation_sample_pick_and_place

注意
  • <qir_version>:QIR SDK 的版本,请参见 QIR SDK 2.0 发布说明。
  • <qir_decompressed_path>:你解压 QIR SDK 的路径。
1

在主机计算机上构建并打包

  1. 构建示例应用项目。
    SSH Session
  2. 打包并将示例应用推送到设备。
    SSH Session
2

在开发套件上安装并运行

  1. 安装示例应用。
    SSH Session
  2. 按照 开箱即用运行 simulation_sample_pick_and_place 中的步骤运行示例应用。