Source: From the ancient yueju blog
We have introduced the features and structure of ROS. Next we will begin to prepare for the strong Ros. On the Wiki on the ROS official website, the tutorials for new users are very detailed. It is best to clarify all the tutorials for new users. This is the most basic thing for later development. Despite this, Ros is still difficult for beginners to get started. Here, I will summarize my learning history and serve as a reference for other new users.
I. Installing ros
The installation of Ros is of course the first step. Here we use Ubuntu, because Ros supports the best on Ubuntu.
If you are a newbie, we recommend that you use the "apt-Get" Method for installation. It is not easy to install. Follow the instructions on the Wiki, the complete version of Ros can be installed in about half an hour: (the latest version of Ros is groovy, but I am still used to using Fuerte)
Http://ros.org/wiki/fuerte/Installation/Ubuntu
If you want to challenge source code compilation, there is certainly no problem:
Http://ros.org/wiki/fuerte/Installation/Ubuntu/Source
After the installation is complete, Run "roscore". If there is no problem, the installation will be successful!
Note: Installation of GROOVY:
"Apt-Get": http://www.ros.org/wiki/groovy/Installation/Ubuntu
Source code compilation: http://www.ros.org/wiki/groovy/Installation/Source
Ii. New Ros tutorials
The tutorials for beginners on Wiki are very detailed and have explanations for the code. Beginners must understand these examples and code:
Http://www.ros.org/wiki/ROS/Tutorials
The above tutorials are all in English. If you feel a little pressure (I am), you can refer to some translations in the following two blogs:
Http://blog.sina.com.cn/s/articlelist_1712413141_0_1.html
However, I will continue to learn English materials and try to read English documents.
Ros uses the C ++ and Python programming languages, so there are also feature packages roscpp and rospy for these two languages. The tutorials of these two packages are basically similar to those of the above tutorial, after reading the above tutorial, you can also look at the tutorials for these two packages:
Http://www.ros.org/wiki/rospy_tutorials
Http://www.ros.org/wiki/roscpp/Tutorials
After studying these tutorials, you should at least understand what the nodes and messages in ROS are for. If you haven't understood them yet, read them several more times!
Iii. Common functions in ROS
Ros provides many powerful functions. after learning the basic knowledge above, we will continue to deepen our work.
1. rviz
Rviz is a powerful 3D visualization tool in ROS. This tool is frequently used in the future and must be understood. For detailed tutorials, refer to wiki:
Http://www.ros.org/wiki/rviz
We can create our own robots in it and let them move. You can also create maps and display 3D point clouds. In short, all the things you want to display in ROS can be displayed here. Of course, these displays are all completed through message subscription. Robots publish data through Ros, rviz subscribe to messages to receive data, and then display the data in a certain data format, you can refer to the following link:
Http://www.ros.org/wiki/rviz/DisplayTypes
See the robot above. Isn't it cool? In rviz, such a robot model is described through the urdf file. For details about how to write the urdf file, refer to wiki:
Http://www.ros.org/wiki/urdf
2. TF
TF is a Coordinate Transformation System in ROS, which is often used in robot modeling and simulation.
There are two coordinate systems in ROS:
(1) fixed Coordinate System: used to represent the reference coordinate system of the world;
(2) Target coordinate system: the reference coordinate system relative to the camera angle.
See http://www.ros.org/wiki/tf for tutorials
3. gazebo
This tool is a physical simulation environment in ROS. gazebo is a robot simulation software. Based on the ode physical engine, it can simulate robots and many physical features in the environment, this software is not necessary for subsequent development.
See http://www.ros.org/wiki/simulator_gazebo/Tutorials for tutorials
Iv. Common Ros robots
1. Pr2
When looking at ROs applications, the most common robot is pr2. This robot is the main Maintainer of ROS (Willow Garage) tailored to Ros. It has two computers running Ubuntu and Ros, two machine arm, and many awesome sensors, the function is very powerful, but the price is very expensive. It is rarely seen in China and is basically in foreign research institutes. This robot has a lot of ROS packages, from simulation to navigation, so the Code has a high reference value, of course, the novice should first look at the code of other robots and then challenge PR2, the code is more complex.
Wiki: http://www.ros.org/wiki/Robots/PR2
2. turtlebot
This robot is a typical representative of a small mobile robot using Ros. There are many materials, documents, and code, mainly in modeling and navigation, and the code is easy to understand, it can be used as the best robot for reference by new users. The robot shown in rviz above is it.
Wiki: http://www.ros.org/wiki/Robots/TurtleBot
3. Husky and erratic
These two robots are similar to turtlebot robots, both of which are small wheeled mobile robots. They can also be used as a reference for beginners to learn:
Http://www.ros.org/wiki/Robots/Husky
Http://www.ros.org/wiki/Robots/Erratic
These tutorials and robots are basically the ones I studied and learned at the time of study. The summary here also serves as a reference for beginners who are confused and can understand and master Ros as soon as possible. Once again, the new tutorials on Wiki must be familiar with each other, and the subsequent content can be learned in the follow-up learning process.
Ros exploration Summary (III)-New Ros tutorial