This repository enables a Turtlebot 3 burger robot to follow a human around in an obstacle-ridden environment. The package uses a Kalman Filter for linear velocity control and a weighted-average-based angular velocity variation technique. Check the 'follower' node of the package for more implementation details. This package is tested and is sure to run in ROS Noetic, but can work in other earlier ROS 1 versions too, by running the appropriate commands to SSH into the Turtlebot.
To run the package and enable the Turtlebot to start following (the human initially placed right in front of it), execute the following commands.
[Remote PC] roscore
[Remote PC] ssh {Name of the Turtlebot}@{IP Address of the Turtlebot}
[Turtlebot3] export TURTLEBOT3_MODEL=burger
[Turtlebot3] roslaunch turtlebot3_bringup turtlebot3_robot.launch
[Remote PC] export TURTLEBOT3_MODEL=burger
[Remote PC] roslaunch turtlebot3_follow_filter turtlebot3_follow_filter.launch
[Remote PC] roslaunch turtlebot3_follower turtlebot3_follower.launch
Version | Kinetic + Ubuntu Xenial | Melodic + Ubuntu Bionic |
---|---|---|
- http://wiki.ros.org/turtlebot3_applications (metapackage)
- http://wiki.ros.org/turtlebot3_automatic_parking
- http://wiki.ros.org/turtlebot3_automatic_parking_vision
- http://wiki.ros.org/turtlebot3_follow_filter
- http://wiki.ros.org/turtlebot3_follower
- http://wiki.ros.org/turtlebot3_panorama
- turtlebot3
- turtlebot3_msgs
- turtlebot3_simulations
- turtlebot3_applications_msgs
- turtlebot3_applications
- turtlebot3_autorace
- turtlebot3_deliver
- hls_lfcd_lds_driver
- robotis_manipulator
- open_manipulator_msgs
- open_manipulator
- open_manipulator_simulations
- open_manipulator_perceptions
- open_manipulator_with_tb3_msgs
- open_manipulator_with_tb3
- open_manipulator_with_tb3_simulations
- dynamixel_sdk
- dynamixel_workbench
- OpenCR-Hardware
- OpenCR