跳转至

小车人体跟随

之前我们介绍了如何利用 X3派 进行人体检测和跟踪,那么加入我们想要将体检测和跟踪和真实机器人做一个结合会是一种什么样的体验呢?

这里,我们将通过X3派检测到的人体目标进行一个移动跟踪,最终的一个效果就是当装配着X3派和摄像头的小车面前出现一个人物时,小车将会跟随着人体一起移动。接下来,让我们一起来体验一下吧。

编程开发方法

先来看整个程序的流程图:

body_tracking_workflow

这里,我们将通过 Gazebo 仿真环境下的虚拟小车作为真实机器,首先,让我们来做一些准备工作。

在PC端搭建一个仿真环境:

$ sudo apt-get install ros-foxy-gazebo-*
$ sudo apt install ros-foxy-turtlebot3
$ sudo apt install ros-foxy-turtlebot3-simulations

使用介绍

首先在 PC 端启动仿真环境

$ source /opt/ros/foxy/setup.bash
$ export TURTLEBOT3_MODEL=burger
$ ros2 launch turtlebot3_gazebo empty_world.launch.py
Attention

第一次加载可能比较慢,原因是正在下载部分需要的插件。

如下图所见:

gazebo

旭日X3 派运行 如下指令:

# 配置TogetherROS环境
$ source /opt/tros/setup.bash

# 从TogetherROS的安装路径中拷贝出运行示例需要的配置文件。
$ cp -r /opt/tros/lib/mono2d_body_detection/config/ .

#启动launch文件
$ ros2 launch body_tracking hobot_body_tracking_without_gesture.launch.py 

接下来,只需要你站在摄像头面前左右前后移动,就会发现仿真环境下的小车也会跟着你移动。

再来看终端输出的信息:

$ ros2 topic echo /cmd_vel
linear:
  x: 0.5
  y: 0.0
  z: 0.0
angular:
  x: 0.0
  y: 0.0
  z: -0.5
---
linear:
  x: 0.5
  y: 0.0
  z: 0.0
angular:
  x: 0.0
  y: 0.0
  z: -0.5
---

跟随效果

tracking

图片1