This repository focuses on building a ROS2 based Person Follower.
This project aims to develop a comprehensive ROS2 simulation package tailored for a differential drive robot. The robot will be equipped with person-following capability, leveraging Kinect camera technology for person detection and tracking. The system's primary objective is to enable the robot to autonomously follow individuals, showcasing its potential for practical applications in various domains, including payload transportation and assistance tasks.
Follow these instructions to set up this project on your system.
Follow these steps to install ROS Humble and OpenCV
-
ROS Humble Refer to the official ROS 2 installation guide
-
OpenCV
pip install opencv-contrib-python
-
MediaPipe
pip install mediapipe
-
Gazebo Classic Refer to the official Gazebo installation guide
-
Make a new workspace
mkdir -p personfollower_ws/src
-
Clone the ROS-Perception-Pipeline repository
Now go ahead and clone this repository inside the "src" folder of the workspace you just created.
cd personfollower_ws/src git clone [email protected]:atom-robotics-lab/Person-Follower.git
-
Compile the package
Follow this execution to compile your ROS 2 package
colcon build --symlink-install
-
Source your workspace
source install/local_setup.bash
We have made a demo world to test our person follower. To launch this world, follow the steps given below
ros2 launch person_follower_sim gazebo.launch.py
The above command will launch the world as shown below :
Don't forget to click on the play button on the bottom left corner of the Gazebo window.
Now to see the inference results, open a new terminal and enter the given command
ros2 run rqt_image_view rqt_image_view
We wholeheartedly welcome contributions!
They are the driving force that makes the open-source community an extraordinary space for learning, inspiration, and creativity. Your contributions, no matter how big or small, are genuinely valued and highly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/New-Feature
) - Commit your Changes (
git commit -m 'Add some New-Feature'
) - Push to the Branch (
git push origin feature/New-Feature
) - Open a Pull Request
Please adhere to this project's code of conduct
.
If you have any feedback, please reach out to us at:
Our Socials - Linktree