-
Notifications
You must be signed in to change notification settings - Fork 4
Home
Welcome to the ROS_Tutorials wiki!
Beginners tutorials for learning ROS, TF, Configuring and Using the Navigation Stack, Movelt and Gazebo. These tutorials were done in ubuntu 16.04 LTS and in Kinetic ROS version and constitute a guideline for understanding the basic concepts of these tools.
More information on ROS can be consulted in the case Documents.
See page GitHub Tutorials for knowing the basics of GitHub, like commits, merge and pull concepts.
Tutorials for ROS are in ROS Tutorials. All the files from these tutorials are in the case ROS Tutorials.
Note 1: Every tutorial, from Beginner and Intermediate Level, are working fine and are very good to understand.
Tutorials for TF are in TF Tutorials. For doing the tutorials you can choose from python or c++ languages. For a better understanding, you can also do the tutorials twice for both languages. In this package, I did just for python language. All the files from these tutorials are in the case TF Tutorials.
Note 1: If you, just, did the python tutorials, the tutorial called Debugging tf problems is not very complete. Since you will be working with c++ files you have:
- To add 2 lines of code into the bottom of CMakeLists.txt to allow the c++ file compilation
add_executable(turtle_tf_listener_debug src/turtle_tf_listener_debug.cpp)
target_link_libraries(turtle_tf_listener_debug ${catkin_LIBRARIES})
- Create a new launch file called start_debug_demo.launch to call python and c++ files.
Note 2: The package geometry_tutorial was cloned from geometry_tutorial, since this package is used in the tutorial Using Stamped datatypes with tf:: MessageFilter and the default package was corrupt and missing files.
Note 3: For the tutorial Using urdf with robot_state_publisher is necessary to install the robot_state_publisher package though:
sudo apt-get install ros-kinetic-robot-state-publisher
Further, in the RViz the fixed referential is the Odom referential.
Tutorials for Configuring and Using the Navigation Stack are in Navigation Stack Tutorials. This tutorial is a step by step for configuring your own robot sensors. Thus, you will have to put the sensor drive names on the launch file and configure everything as the tutorial explains. Since I did not have a real robot and sensors, I read and understood the tutorials, creating the files needed for future tuning of the files. All the files from these tutorials are in the case Configuring and Using the Navigation Stack Tutorials.
Note 1: The tutorial Setting up your robot using tf appears also in the TF tutorials.
Note 2: The tutorial Setup and Configuration of the Navigation Stack on a Robot must be done first that the Basic Navigation Tuning Guide tutorial.
The MoveIt! Setup Assistant is in MoveIt Tutorials. All the files from these tutorials are in the case MoveIt Tutorials.
Note 1: In this tutorial, the robot fourth joint limit is -0.0698 rad and not 0, since the real robot joint limit is [-176, -4] [°], as presented in the robot datasheet in the case Documents/MoveIt.
First, you must check what is the correct Gazebo version for your ROS distribution in Gazebo version. Gazebo Tutorials are in Gazebo Tutorials. All the files from these tutorials are in the case Gazebo Tutorials.
Note 1: In the tutorial Intermediate: Control plugin to install Gazebo headers through sudo apt install libgazebo8-dev
you must see your version of Gazebo and replace the number 8 for the number of your Gazebo version. For killing the Gazebo server use the command killall gzserver
. Further, in the file velodyne.world you must put <plugin name="velodyne_control" filename="./libvelodyne_plugin.so"/>
instead of <plugin name="velodyne_control" filename="libvelodyne_plugin.so"/>
Note 2: The Advanced tutorials are only advisable if you want to contribute to Gazebo development.
Note 3: In the tutorial Tutorial: Using a URDF in Gazebo the package joint_state_publisher was missing from the ROS system and for that reason was cloned from the joint_state_publisher repository.
FINAL NOTE: All the tutorials are good and easy to understand but some have bugs, and for that reason It is necessary to be careful when doing the tutorials.