Software development using ROS lecture slides from MIT.
ROS Industrial (Melodic) training exercises
Beginner tutorials for developing in Python are here.
There is a free book called "ROS Robot Programming" written by the TB3 developers (published by ROBOTIS). You can get a copy of the book here.
Developer guide for ROS1.
A list of best practices from ETH Zurich Legged Robotics group.
Why not use ROS2 in this course? ROS2 Dashing Diademata was released at the end of May 2019. As it currently stands, there are still many packages that have not been ported to ROS2 and there are still significant changes made to the design and build systems. There is also a lack of good cohesive documentation/tutorials and examples which increases the learning difficulty. As this is not strictly a ROS course, we believe that it will be easier and more time efficient to understand the big picture using ROS1.
An article about the reasoning why ROS2 is needed.
Unit testing tutorial.
Good resource for learning "by example" is the rospy_tutorials
rostest
is very similar to roslaunch
. The main difference is that it is designed to launch the tests as well as launching the nodes.
Tutorials available at ros wiki.
Look at the steps here
gtest
is used for testing C++ nodes. There is documentation available at the ros wiki
There are guidelines for testing and quality assurance requirements for ROS2 packages.
To test your node with previously recorded data you can use rosbag
files. A good example of this is the AMCL package