ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A answers.ros.org

Lecture notes specifically for "Programming Robots with ROS"


#1

For better or for worse I’ve concluded that the best “textbook” for teaching ROS to Python developers is “Programming Robots With Ros” by Quigley, Gerkey and Smart. It is a few years old and uses Indigo. Many of the code and other instructions don’t work exactly as written. But the sequence of explanation and examples is really excellent.

My question: have any of you developed course notes, powerpoints or similar to go with that particular book that you’d be willing to share? I am starting to write some myself to see how it goes and thought I would reach out.


#2

If you see this book, you may change your mind


#3

I’ve looked very closely at that book and its quite good. However it uses only C++ while I think for teaching purposes python is much better suited.


#4

For teaching students they should be well versed in both C++ and Python, and perhaps any other language tricks of the trade. It would be doing them a disservice as with ROS in my experience I actively use both, all the time, sometimes both in the same day to achieve a goal.


#5

I have been teaching ROS with C++ at least two times at Universities, and it was clear that students struggled more with C++ syntax and build requirements that with ROS concepts.
Last ROS courses I used Python with student with zero background on Python and it was much more easier for them to grasp faster ROS concepts.
So, I think, unless you have students with good background in C++, it will be painful for them.
It seems with new C++ 11 supported in ROS2, programming in C++ with ROS will be less tedious.


#6

@Anis_Koubaa I totally agree and have reached the same conclusion. Our students know Java and Python (and many know additional languages. But C++ is a rare bird.) I do agree that to get a “job” in the ROS world you probably are going to need to know C++ but for teaching Python is the way to go.

(Anyway I have no desire or intention to start a debate on this. Everyone has their own experiences.)