Follow-me with ADBSCAN on Aaeon Robot¶
This tutorial provides instructions for running the ADBSCAN-based Follow-me algorithm from Robotics SDK using Intel® RealSense™ camera input. Validation of the the algorithm was performed on a custom Aaeon robot.
The Intel® RealSense™ camera publishes to /camera/depth/color/points
topic. The adbscan_sub_node subscribes to the corresponding topic, detects the obstacle array, computes the robot’s velocity and publishes to the /cmd_vel
topic of type geometry_msg/msg/Twist. This twist
message consists of the updated angular and linear velocity of the robot to follow the target, which can be subsequently subscribed by a robot-driver.
Getting Started¶
Install the Deb package¶
Install the ros-humble-follow-me-tutorial
Deb package from the Intel® Robotics SDK APT repository.
Run Demo¶
Run the following script to launch the Follow-me application tutorial on the Aaeon robot.
After executing the above command, you can observe that the robot detecting the target within a tracking radius (~0.5 - 0.7 m) and subsequently following the moving target person.
Note
There are reconfigurable parameters in /opt/ros/humble/share/tutorial-follow-me/params/followme_adbscan_RS_params.yaml file. The user can modify the parameters depending on the respective robot, sensor configuration and environments (if required) before running the tutorial. Find a brief description of the parameters in the following table.
|
Type of the point cloud sensor. For Intel® RealSense™ camera and LIDAR inputs, the default value is set to |
|
Name of the topic publishing point cloud data. |
|
If this flag is set to |
|
This is the downsampling rate of the original point cloud data. Default value = 15 (i.e. every 15-th data in the original point cloud is sampled and passed to the core ADBSCAN algorithm). |
|
Point cloud data with x-coordinate > |
|
Point cloud data with y-coordinate > |
|
Point cloud data with z-coordinate < |
|
Filtering in the z-direction will be applied only if this value is non-zero. This option will be ignored in case of 2D Lidar. |
|
These are the coefficients used to calculate adaptive parameters of the ADBSCAN algorithm. These values are pre-computed and recommended to keep unchanged. |
|
This value describes the initial target location. The person needs to be at a distance of |
|
This is the maximum distance that the robot can follow. If the person moves at a distance > |
|
This value describes the safe distance the robot will always maintain with the target person. If the person moves closer than |
|
Maximum linear velocity of the robot. |
|
Maximum angular velocity of the robot. |
|
The robot will keep following the target for |
|
The robot will keep following the target as long as the current target location = previous location +/- |
Troubleshooting¶
Failed to install Deb package: Please make sure to run
sudo apt update
before installing the necessary Deb packages.You may stop the demo anytime by pressing
ctrl-C
.If the robot rotates more than intended at each step, try reducing the parameter
max_angular
in the parameter file.For general robot issues, go to: Troubleshooting for Robot Tutorials .
If the motor controller board does not start, restart the robot.