In this tutorial, you will learn how to start programming with ROS. It’s funny and amazing, yet quite simple. The first thing you need to understand in ROS is how to subscribe to a ROS topic, and how to publish a message to a ROS topic as most of ROS operations are based on publishing and subscribing to topics.
It is assumed that you already know the main concepts on ROS including ROS topics, ROS nodes, ROS messages and ROS services. If not, you need to first take the first tutorial on ROS Background.
The code of this tutorial is available in
src/ros_basics/talker_listener/ of gaitech_edu package.
The following tutorial is based on the ROS tutorial Writing a Simple Publisher and Subscriber (C++) and Python but provides more practical programming and configuration hints. Although some videos are shown for ROS Hydro, they are also valid for all subsquent versions including Indigo and Jade, as they deal with the basics.
Learn ROS and get your ROS certificate by enrolling in the Udemy course (Highest Rated course) ROS for Beginners: Basics, Motion and OpenCV.
Learn about ROS2: ROS Next Generation by enrolling in the Udemy course ROS2 How To: Discover Next Generation ROS
Lecture 1: ROS Publisher and Subscribers in C++ and Python¶
In this video, you will learn:
- How to develop the simplest program with ROS
- How to publish a message to a ROS topic using C++ and Python
- How to subscribe a message to a ROS topic using C++ and Python
- How to configure
package.xmlto add new required packages for compilation and runtime
- How to run a program in ROS
- Write the C++/Python instruction that creates a new topic called chatter of type String?
- Write the C++/Python instruction that effectively publishes a message on the chatter topic?
- How to add a new exectuable in
package.xmlto be able to compile and run a C++ ROS program?
- How to declare a topic subscriber in C++/Python?
- What is the role of the subscriber callback function?
- in C++, what is the difference between
Lecture 2: ROS Services in C++ and Python¶
Coming soon ..