跳转至

人体跟踪

试想着有一个智能人形机器人陪你一起逛街购物、提包跑腿是一件多么美好的事情呀!本节将介绍如何使用OriginMan实现人体跟随功能。

运行示例

SSH连接成功后,输入以下指令操作OriginMan:

ros2 launch body_tracking body_tracking_without_gesture.launch.py

启动后可以看到如下界面:

image-20220902155741884

此时另起一个终端可以输入以下指令:

ros2 topic echo /cmd_vel
image-20220902155741884

cmd_vel就是实际机器人要运行的速度啦!

linear:
  x: 0.30000001192092896
  y: 0.0
  z: 0.0
angular:
  x: 0.0
  y: 0.0
  z: 0.0

linear.x:0.30000001192092896 代表以0.3m/s的速度前进。

现在我们需要将这个速度变为我们的动作。

在当前终端下按下Ctrl+C,并运行以下指令:

ros2 run originman_demo cmdvel_to_action_node

此时可以看到机器人运动起来了,并且正在往你靠近,在到达一定距离后还会向你挥手问号。

root@ubuntu:~# ros2 run originman_demo cmdvel_to_action_node
[INFO] [1740723064.148182250] [cmd_vel_to_action_node]: CmdVel 转动作节点已启动,执行初始站立动作...
[INFO] [1740723064.655577271] [cmd_vel_to_action_node]: 执行动作组: stand
[INFO] [1740723069.663428866] [cmd_vel_to_action_node]: CmdVel 转动作节点已就绪,等待 /cmd_vel 消息...
[INFO] [1740723069.668012120] [cmd_vel_to_action_node]: 收到速度命令: linear_x=0.5, angular_z=0.0, 执行动作: forward
[INFO] [1740723070.780538562] [cmd_vel_to_action_node]: 执行动作组: go_forward
[INFO] [1740723089.300148717] [cmd_vel_to_action_node]: 收到速度命令: linear_x=0.0, angular_z=0.0, 执行动作: wave
[INFO] [1740723093.284371927] [cmd_vel_to_action_node]: 执行动作组: wave

图片1