
Set up your development environment, ask questions in the q&a section, and learn robotics and self-driving concepts in c++ and python using the framework with a real robot or simulator.
Learn how ROS manages hardware drivers and communication, enabling you to reuse your computer vision package across robots with different cameras and motors.
Visualize robot data with RViz, a ROS visualization tool that subscribes to topics and renders occupancy grid maps, laser scans, and camera images using plugins.
show some world that is possible to create with gazebo AWS robomaker
Express the pose of a mobile robot in a 2d space using world and mobile frames, defining x, y, and theta, then treat translation and rotation as roto-translation.
Master ros turtlesim to apply two dimensional pose kinematics using keyboard teleop and velocity commands, visualize topics with ros graph, and spawn multiple turtles.
Operate a robot in gazebo with a joystick, publishing velocity commands to the bumper bot controller. Map the left axis to linear x and the right axis to angular z.
Explore how ROS timer tracks time progression to synchronize image acquisition, post-processing, and path planning, enabling estimation of dynamic obstacle positions and regular, repeated execution of user-defined functions.
Create a Python ROS node that uses a timer to execute a callback every second, printing a log message and keeping the node running with a spin loop, via catkin.
Develop a Python ROS service server that takes two integers as a request and returns their sum using a defined add two int service interface.
Add a ROS service server to the C++ TF examples that returns the transform between any two frames, using tf2 lookup and a transform stamped response with a success flag.
Explore how rotation matrices express two-dimensional and three-dimensional orientation, and why quaternions, composed of four components, offer advantages over rotation matrices across robotics, computer science, and related fields.
Learn how to convert Euler angles to a quaternion and rotate a bumper bot base frame while translating, using quaternion multiply and inverse with a 100-step cycle.
Apply differential inverse kinematics to derive the robot’s linear and angular velocity from wheel rotation rates using encoders and wheel radii, and compute forward odometry on the x-y plane.
Implement wheel odometry in the C++ bumper robot controller to compute x, y, and theta from wheel rotations, then visualize in Gazebo and verify with ROS topics.
Would you like to build a real Self-Driving Robot using ROS, the Robot Operating System?
Would you like to get started with Autonomous Navigation of Robot and dive into the theoretical and practical aspects of Odometry and Localization from industry experts?
The philosophy of this course is the Learn by Doing and quoting the American writer and teacher Dale Carnegie
Learning is an Active Process. We learn by doing, only knowledge that is used sticks in your mind.
In order for you to master the concepts covered in this course and use them in your projects and also in your future job, I will guide you through the learning of all the functionalities of ROS both from the theoretical and practical point of view.
Each section is composed of three parts:
Theoretical explanation of the concept and functionality
Usage of the concept in a simple Practical example
Application of the functionality in a real Robot
There is more!
All the programming lessons are developed both using Python and C++ . This means that you can choose the language you are most familiar with or become an expert Robotics Software Developer in both programming languages!
By taking this course, you will gain a deeper understanding of self-driving robots and ROS, which will open up opportunities for you in the exciting field of robotics.