
Create a catkin workspace to organize ROS development in the source folder, build and devel folders via catkin_make, and manage packages with package.xml and CMakeLists.txt.
Create a python ros publisher that sends 'hello world' plus an incrementing counter at a set rate. Initialize a ros node, publish a std_msgs string, and verify via rostopic commands.
Create two ROS nodes: a rpm publisher and a speed calculator subscriber, converting rpm to meters per second using the wheel radius.
Learn to use the ROS parameter server in Python to store and retrieve robot values, such as wheel radius, avoiding hard-coded sizes, and update parameters dynamically with rospy.get_param.
Use launch files to simplify running ros scripts, source your workspace, and define executable nodes with ros launch in a clear package structure.
Create a custom ROS service with a .srv file, update package.xml and CMakeLists.txt, and build with catkin_make. Implement a Python service server and client to check odd or even.
Walks through a ROS actions project, showing how to implement a navigate 2D action with an action server, action client, and a robot point publisher, including goal and feedback.
Explore ROS visualization tools by using RViz for 3D visualization, adding robot models and TF frames, and using rqt plugins to inspect topics, parameters, and ROS bag playback.
Celebrate completing the course and apply your ROS in Python skills to program robots, share your projects on GitHub, and showcase experience to recruiters in your resume.
Learn how to use the Robot Operating System (ROS) platform which is used to program real world robotics. The course is designed for beginners with little, to no experience using ROS. The coding in this course is done in Python 3 using ROS Noetic. We will go over installation of ROS, how to develop code that uses the framework, and even go over simulation tools so you can make your own robot and control it in simulation, with code that can easily be ported to a real robotic system.
The course is broken into 6 main sections:
Course Introduction
Environment Setup
ROS Overview
Using ROS in Python
Robotics Simulation
Course Outro
Section 1 is a general introduction to the course.
In section 2 you will learn how to setup your computer to be able to run ROS. This includes utilizing the Ubuntu operating system, installing ROS, and introducing you to the code editors we will be using in this course.
In section 3 I will teach you at a high level what "tools" are included in the ROS framework, and what each of them do.
You will spend the majority of this course in section 4, learning how to implement all the various ROS tools in your very own Python code.
Section 5 will touch on using the simulation and sensor data visualization tools ROS has to offer.
And lastly the course outro will go over what you can do once you have completed the course, as well as some frequently asked questions and a survey to help me improve the course.
So what are you waiting for? Let's get to programming, using the most widely used open source robotics platform, ROS.