This project demonstrates the simulation of ROS Turtlebot3 path tracking with PID. I have generalized the pid controller to track circular or linear trajectories. Here is the youtube video.
- First, open a terminal(Lets call terminal 1) and navigate the project.
- Next, go to the root directory(terminal 1):
cd ~/catkin_ws/src/ # (you need to create the dir first if none exists, see ROS tutorial http://wiki.ros.org/ROS/Tutorials/InstallingandConfiguringROSEnvironment) - Then, clone following git projects(terminal 1):
git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.gitgit clone https://github.com/ROBOTIS-GIT/turtlebot3.gitgit clone https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git - Then, use the following command(terminal 1):
source devel/setup.bash - Then, use the following command(terminal 1):
cd ~/catkin_ws && catkin_make - Then, Set the turblebot3 model(terminal 1),
gedit ~/.bashrc - Then, Set the turblebot3 model(terminal 1):
export TURTLEBOT3_MODEL=waffle - Then, Save this file, and close it. Then make it to take effect immediately(terminal 1),
source ~/.bashrc - Next, go to the src directory of your workspace (/catkin_ws/src).
- Next, download the “tb3_simulation” package from Canvas and unzip it. then put this “tb3_control” folder under and copy and paste it to /catkin_ws/src.
- Then, use the following command(terminal 1):
cd ~/catkin_ws && catkin_make - Next, open a separate terminal, source it and run following command(terminal 2) and keep it opened:
roslaunch turtlebot3_fake turtlebot3_fake.launch - Next, run the rrt project using following command(terminal 1):
roslaunch tb3_control control.launch - Find the “Marker” and add a "Marker". Now Rviz should start to listen to the Marker messages published from the control node, and you should see a screen something similar to the attached video.