Skip to content

Commit 58c4834

Browse files
[ADBSCAN FOLLOW ME] Update commands to use launch files in Follow me algorithm (open-edge-platform#557)
1 parent b834c9d commit 58c4834

File tree

4 files changed

+71
-23
lines changed

4 files changed

+71
-23
lines changed

robotics-ai-suite/docs/robotics/dev_guide/tutorials_amr/navigation/follow_me/Tutorials/followme-on-aaeon.rst

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,19 @@
11
Follow-me with ADBSCAN on Aaeon Robot
22
================================================
33

4-
This tutorial provides instructions for running the ADBSCAN-based Follow-me algorithm from |p_amr| using |realsense| camera input. Validation of the the algorithm was performed on a custom Aaeon robot.
5-
The |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.
4+
This tutorial provides instructions for running the ADBSCAN-based Follow-me algorithm from |p_amr| using |realsense| camera input.
5+
Validation of the the algorithm was performed on a custom Aaeon robot.
6+
The |realsense| camera publishes to ``/camera/depth/color/points`` topic. The `adbscan_sub_node` subscribes to the corresponding topic,
7+
detects the obstacle array, computes the robot's velocity and publishes to the ``/cmd_vel`` topic of type `geometry_msg/msg/Twist`.
8+
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.
9+
10+
11+
Prerequisites:
12+
13+
- Assemble your robotic kit following the instructions provided by AAEON.
14+
15+
- Ensure the :doc:`system is set up correctly <../../../../../gsg_robot/prepare-system>`.
16+
617

718
Getting Started
819
----------------
@@ -18,21 +29,32 @@ Install the ``ros-humble-follow-me-tutorial`` |deb_pack| from the |intel| |p_amr
1829
sudo apt update
1930
sudo apt install ros-humble-follow-me-tutorial
2031
32+
Calibrate the robot
33+
^^^^^^^^^^^^^^^^^^^^^^^
34+
Please perform IMU calibration of the robot, launch script below:
35+
36+
.. code-block:: bash
37+
38+
source /opt/ros/humble/setup.bash
39+
/opt/ros/humble/share/ros2_amr_interface/scripts/calibration.sh
40+
2141
Run Demo
2242
----------------
2343

24-
Run the following script to launch the Follow-me application tutorial on the Aaeon robot.
44+
To launch the Follow-me application tutorial on the Aaeon robot, use the following ROS 2 launch file.
2545

2646
.. code-block::
2747
2848
source /opt/ros/humble/setup.bash
29-
/opt/ros/humble/share/tutorial-follow-me/scripts/follow-me.sh
49+
ros2 launch tutorial_follow_me aaeon_followme_launch.py
3050
31-
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.
51+
After executing the above command, you can observe that the robot detecting the target within a tracking radius
52+
(~0.5 - 1.5 m; `min_dist` and `max_dist` are set in `/opt/ros/humble/share/tutorial_follow_me/params/followme_adbscan_RS_params.yaml`)
53+
and subsequently following the moving target person.
3254

3355
.. note::
3456

35-
There are reconfigurable parameters in `/opt/ros/humble/share/tutorial-follow-me/params/followme_adbscan_RS_params.yaml`
57+
There are reconfigurable parameters in `/opt/ros/humble/share/tutorial_follow_me/params/followme_adbscan_RS_params.yaml`
3658
file. The user can modify the parameters depending on the respective robot, sensor configuration and environments (if required) before running the tutorial.
3759
Find a brief description of the parameters in the following table.
3860

robotics-ai-suite/docs/robotics/dev_guide/tutorials_amr/navigation/follow_me/Tutorials/followme-on-clearpathjackal.rst

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ Follow-me with ADBSCAN on |clearpath_robotics| |jackal| Robot
22
================================================================
33

44
This tutorial provides instructions for running the ADBSCAN-based Follow-me algorithm from |p_amr| using |realsense| camera input when using a |clearpath_robotics| |jackal| robot.
5-
The |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.
5+
The |realsense| camera publishes to ``/camera/depth/color/points`` topic. The ``adbscan_sub_node`` subscribes to the corresponding topic,
6+
detects the obstacle array, computes the robot's velocity and publishes to the ``/cmd_vel`` topic of type `geometry_msg/msg/Twist`.
7+
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.
68

79
Getting Started
810
----------------
@@ -21,18 +23,18 @@ Install the ``ros-humble-follow-me-tutorial`` |deb_pack| from the |lp_amr| APT r
2123
Run Demo
2224
----------------
2325

24-
Run the following script to launch the Follow-me application tutorial on the |jackal| robot.
26+
To launch the Follow-me application tutorial on the |jackal| robot, use the following ROS 2 launch file.
2527

2628
.. code-block:: bash
2729
2830
source /opt/ros/humble/setup.bash
29-
/opt/ros/humble/share/tutorial-follow-me/scripts/jackal-follow-me.sh
31+
ros2 launch tutorial_follow_me jackal_followme_launch.py
3032
3133
After starting the script, the robot should begin searching for trackable objects in its initial detection radius (defaulting to around 0.5m), and then following acquired targets as they move from the initial target location.
3234

3335
.. note::
3436

35-
There are reconfigurable parameters in ``/opt/ros/humble/share/tutorial-follow-me/params/followme_adbscan_RS_params.yaml``.
37+
There are reconfigurable parameters in ``/opt/ros/humble/share/tutorial_follow_me/params/followme_adbscan_RS_params.yaml``.
3638
You can modify the parameters depending on the respective robot, sensor configuration and environments (if required) before running the tutorial.
3739
Find a brief description of the parameters in the following table.
3840

robotics-ai-suite/docs/robotics/dev_guide/tutorials_amr/navigation/follow_me/Tutorials/followme-with-gesture-on-aaeon.rst

Lines changed: 35 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,34 @@ Follow-me with ADBSCAN and Gesture-based Control on Aaeon Robot
66
This tutorial demonstrates the Follow-me algorithm with gesture, where the robot follows a target person in real time.
77
The movement of the robot can be controlled by the person's position (relative to the robot) as well as the hand gestures.
88
This tutorial is demonstrated on Aaeon robot using 2 front-mounted |realsense| cameras: camera 1 and camera 2.
9-
Camera 1 takes the point cloud data as inputs and passes it through |intel|-patented object detection algorithm, namely Adaptive DBSCAN, to detect the position of the target person.
9+
Camera 1 takes the point cloud data as inputs and passes it through |intel|-patented object detection algorithm, namely Adaptive DBSCAN,
10+
to detect the position of the target person.
1011
Camera 2 is positioned at a certain height for capturing the RGB images of the target's hand gestures.
11-
This RGB image is passed through a deep learning-based gesture recognition pipeline, called `Mediapipe Hands Framework <https://mediapipe.readthedocs.io/en/latest/solutions/hands.html>`__, to detect the gesture category.
12+
This RGB image is passed through a deep learning-based gesture recognition pipeline,
13+
called `Mediapipe Hands Framework <https://mediapipe.readthedocs.io/en/latest/solutions/hands.html>`__, to detect the gesture category.
1214
The motion commands for the robot are published to ``twist`` topic based on these two outputs: person's position and gesture category.
1315

16+
Prerequisites:
17+
18+
- Assemble your robotic kit following the instructions provided by AAEON.
19+
20+
- Ensure the :doc:`system is set up correctly <../../../../../gsg_robot/prepare-system>`.
21+
22+
1423
The two conditions required to start the robot's movement are as follows:
1524

16-
- The target person will be within the tracking radius (a reconfigurable parameter in the parameter file in `/opt/ros/humble/share/tutorial-follow-me-w-gesture/params/followme_adbscan_RS_params.yaml`) of the robot.
25+
- The target person will be within the tracking radius
26+
(a reconfigurable parameter in the parameter file in `/opt/ros/humble/share/tutorial_follow_me_w_gesture/params/followme_adbscan_RS_params.yaml`) of the robot.
1727

1828
- The detected gesture of the target is ``thumbs up``.
1929

2030
Once the starting criteria are met, the robot keeps following the target unless one of the below stopping conditions holds true:
2131

22-
- The target moves to a distance greater than the tracking radius (a reconfigurable parameter in the parameter file in `/opt/ros/humble/share/tutorial-follow-me-w-gesture/params/followme_adbscan_RS_params.yaml`).
32+
- The target moves to a distance greater than the tracking radius
33+
(a reconfigurable parameter in the parameter file in `/opt/ros/humble/share/tutorial_follow_me_w_gesture/params/followme_adbscan_RS_params.yaml`).
2334

2435
- The detected gesture is ``thumbs down``.
25-
36+
2637
Getting Started
2738
----------------
2839

@@ -69,28 +80,42 @@ Check the Serial number
6980
7081
7182
Serial Number is the one which has to be used while launching the demo in below step
72-
83+
84+
Calibrate the robot
85+
^^^^^^^^^^^^^^^^^^^^^^^
86+
Please perform IMU calibration of the robot, launch script below:
87+
88+
.. code-block:: bash
89+
90+
source /opt/ros/humble/setup.bash
91+
/opt/ros/humble/share/ros2_amr_interface/scripts/calibration.sh
92+
7393
7494
Run Demo with |realsense| Camera
7595
---------------------------------
7696

77-
Execute the following script to launch the Follow-me application tutorial with gesture on the Aaeon robot:
97+
To launch the Follow-me application tutorial with gesture on the Aaeon robot, use the following ROS 2 launch file.
98+
7899

79100
.. code-block::
80101
81102
source /opt/ros/humble/setup.bash
82-
/opt/ros/humble/share/tutorial-follow-me-w-gesture/scripts/aaeon-follow-me-w-gesture.sh <Camera1 Serial number> < Camera2 Serial Number>
103+
ros2 launch tutorial_follow_me_w_gesture aaeon_gesture_launch.py <Camera1 Serial number> < Camera2 Serial Number>
83104
84105
85106
Camera1 serial number : Camera which is mounted to the bottom (used for tracking the target).
86107

87108
Camera2 serial Number : Camera mounted on the top (used for gesture recognition).
88109

89-
After executing the above command, you can observe that the robot is locating the target within a tracking radius (~0.5 - 0.7 m) and subsequently, following the moving target person as soon as he/she shows ``thumbs up``. The robot will stop as soon as ``thumbs down`` is showed or the target person moves away from the tracking radius.
110+
After executing the above command, you can observe that the robot is locating the target within a tracking radius
111+
(~0.5 - 1.5 m; `min_dist` and `max_dist` are set in `/opt/ros/humble/share/tutorial_follow_me/params/followme_adbscan_RS_params.yaml`) and subsequently,
112+
following the moving target person as soon as he/she shows ``thumbs up``.
113+
The robot will stop as soon as ``thumbs down`` is showed or the target person moves away from the tracking radius.
90114

91115
.. note::
92116

93-
There are reconfigurable parameters in `/opt/ros/humble/share/tutorial-follow-me-w-gesture/params` directory for |realsense| camera (`followme_adbscan_RS_params.yaml`). The user can modify parameters depending on the respective robot, sensor configuration and environments (if required) before running the tutorial.
117+
There are reconfigurable parameters in `/opt/ros/humble/share/tutorial_follow_me_w_gesture/params` directory for |realsense| camera (`followme_adbscan_RS_params.yaml`).
118+
The user can modify parameters depending on the respective robot, sensor configuration and environments (if required) before running the tutorial.
94119
Find a brief description of the parameters in the following table:
95120

96121
.. list-table:: Configurable Parameters

robotics-ai-suite/docs/robotics/dev_guide/tutorials_amr/navigation/follow_me/Tutorials/followme-with-gesture-on-clearpathjackal.rst

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ Execute the following script to launch Follow-Me with Gesture on the |clearpath_
7777
.. code-block:: bash
7878
7979
source /opt/ros/humble/setup.bash
80-
/opt/ros/humble/share/tutorial-follow-me-w-gesture/scripts/jackal-follow-me-w-gesture.sh <Camera Serial Number>
80+
ros2 launch tutorial_follow_me_w_gesture jackal_gesture_launch.py <Camera Serial Number>
8181
8282
8383
<Camera Serial Number>: Use the serial number returned when using `rs-enumerate-devices`. Note that the output of other programs like `lsusb` might return an incorrect serial number.
@@ -86,7 +86,7 @@ After starting the script, the robot should begin searching for trackable object
8686

8787
.. note::
8888

89-
There are reconfigurable parameters in ``/opt/ros/humble/share/tutorial-follow-me-w-gesture/params`` directory for the |realsense| camera (`followme_adbscan_RS_params.yaml`). You can modify parameters depending on the respective robot, sensor configuration and environments (if required) before running the tutorial.
89+
There are reconfigurable parameters in ``/opt/ros/humble/share/tutorial_follow_me_w_gesture/params`` directory for the |realsense| camera (`followme_adbscan_RS_params.yaml`). You can modify parameters depending on the respective robot, sensor configuration and environments (if required) before running the tutorial.
9090
Find a brief description of the parameters in the following table:
9191

9292
.. list-table:: Configurable Parameters
@@ -145,4 +145,3 @@ Troubleshooting
145145
- If the motor controller board does not start, restart the robot.
146146

147147
- For general robot issues, go to: :doc:`../../../../../dev_guide/tutorials_amr/robot-tutorials-troubleshooting`.
148-

0 commit comments

Comments
 (0)