Table of Contents
Course Description
The ‘Mastering Robot Operating System‘ course is part of the ongoing ROS Developer Learning Path. The ROS Developer Learning Path is having a series of ROS courses such as 1) ROS for Absolute Beginners 2) Mastering ROS 3) ROS Advanced 4) Becoming a ROS developer. The first course ROS for Absolute Beginners will be finishing on October 1st week – 2020. Now we are inviting students to join to next course, ‘i.e ‘Mastering ROS‘. This course aims to discuss core aspects of ROS such as Navigation, MoveIt!, Perception, Robot modeling, etc in detail. The complete course will be online and the expected completion of this course will be December 1st week-2020. You can find the Course eligibility, Prerequisites, Syllabus, Course schedule, and Course features below.
ROS for Beginners course: Weekly projects
We have successfully completed the first module of our course. Here are some cool projects from the first course. The weekly projects are innovative project ideas implemented by the students.
1) Pong Game using Turtlesim:
ROS Developer: Franz Pucher | Github | Blog Post
2) Drawing Ironman using Turtlesim
ROS Developer: Shilpaj Bhalerao | Github | Blog post
3) The Turtlesim Plus project
ROS Developer: Pedro Alcantara | Github
4) Rqt plugin for turtlesim control
ROS Developer: Franz Pucher | Github | Blog Post
5) Turtlesim Planner | Turtlesim Buster | Jetbot Differential drive
ROS Developer: Rangel Isaías | Github
6) Catch me if you can – Turtlesim Game
ROS Developer: Jatin Kumar Arora | Github
Course Eligibility
Given below a list of mandatory requirements for this course. Those who are meeting these mandatory requirements are eligible for this course.
- Understanding of ROS Concepts, URDF, Gazebo, roscpp, and rospy
- Interest and basic understanding in Robotics
- Understanding of Ubuntu Linux and Linux commands
- Object-Oriented Concepts, C++, Python
Course Requirements
To successfully execute the Mastering ROS course, you should have the following things.
- A Windows 7/10, Mac or Ubuntu computer with >= 4 GB of RAM
- A good headphone with a microphone for discussion
- Github account (Create a new account if don’t have one)
- Optional: Raspberry Pi and Arduino
Course Syllabus
Here are course chapters discussed in the Mastering ROS course.
Mastering Robot Modelling using URDF
- Deep dive into ROS URDF and xacro
- Discussing various tags in URDF
- Creating your own URDF/xacro for your robot
- Creating your URDF/xacro for a mobile robot
- Creating your URDF/xacro for a robotic arm
- Creating your URDF/xacro for a four legged robot
- Working with Joint state publisher and robot state publisher
- Working with Gazebo URDF tags and Spawning in Gazebo
- Writing launch file to simulation and visualization
- Assigning ros controllers to the robot moving robot
Mastering Autonomous Navigation using ROS
- Deep dive into ROS Navigation stack
- Configuring and fine-tuning navigation stack
- Using different path planners in the Navigation stack: TEB planner
- Deep dive into ROS move_base node
- Deep dive into ROS SLAM Gmapping
- Creating Map using ROS SLAM
- Working with AMCL
- Testing AMCL and Navigation stack
- Testing Autonomous Navigation in real hardware: Turtlebot3
Mastering 2D and 3D SLAM
- ROS Cartographer
- Hector SLAM
- RTAB SLAM
- ROS ORB SLAM
- LOAM
Mastering ROS MoveIt!
- Deep dive into ROS MoveIt!
- Configuring and fine-tuning MoveIt! for any robot
- Using different planners in MoveIt!
- Using different IK solvers in MoveIt!
- Interfacing perception in MoveIt!
- Complex motion planning and pick-place
- Interfacing MoveIt! in Gazebo and real robots
- Programming using MoveIt! APIs
- FlexBE and MoveIt! planning
Mastering ROS Perception
- Deep dive into ROS interface of OpenCV and PCL
- Creating ROS nodelets for working with PCL
- 2D & 3D Object detection using ROS
- YOLO 2D and 3D Object detection using ROS
- ROS-Perception projects
Creating Web application using ROS
- Introduction to Robot Webtools
- Introduction to ros bridge server
- Introduction to roslibjs, ros2djs and ros3djs
- Introduction to roslibpy and rosbag.js
- Introduction to worldview and Webviz
- Working with ROS Control center
- Creating web based teleop app for your robot
Reinforcement Learning in ROS using OpenAI Gym
- Introduction to ROS and OpenAI Gym
- Interfacing OpenAI Gym and ROS
- Turtlebot3 and OpenAI
Developing a Social robot in ROS
- Modeling the CAD of the robot
- Simulating social robot in Gazebo
- Assigning ROS controllers
- Designing the circuit of the robot
- Creating hardware prototype
- Writing speech recognition and TTS in ROS
- Creating Face tracker in ROS
- Creating face animation using OpenCV
- Testing robot
ROS Industrial
- Introduction to ROS Industrial
- Creating URDF for the robot
- Creating IK solver for industrial robot
- ROS Industrial MoveIt!: ABB, Fanuc, Motoman
Docker for ROS App deployment
- Mastering Docker concepts and commands
- Working with Docker-ROS container
- Deploying your ROS app in docker
- Working with NVIDIA Docker and ROS
- Working with ROS Gazebo with Docker
- ROS Docker in Raspberry Pi
Testing and Deployment of your Code
- Mastering GitHub and Travis CI for ROS project
- Creating and pushing a ROS project in GitHub
- Integrating Continuous Integration using Travis CI
- Releasing your ROS package
- Adding your own package in ROS distro
Course Features
Here are the main features of the Mastering ROS course.
Live classes
This course will be live classes. There will be an opportunity to interact and ask doubts to the instructor during teaching. If anyone can't attend live sessions, there will be recordings of the classes and they can interact with the instructor either personally or the discussion channel.
Certification
After successfully completing the course, assignments, and final projects, you will get awarded a course completion certificate from Lentin Joseph on behalf of Robocademy. If anyone just audits the course, they will get the participation certificates.
Mentorship in ROS projects
You will get mentorship to your ROS project if you are planning to work on any ROS projects. The instructor can give you guidelines on how to proceed with your project.
Tutorial Code and Instructions
After the course completion, the student will have access to all study materials, codes, and discussion channel content. After completing the course and awarding certificate, students will be added to a public group so that, they can in touch with the Robocademy community and ask doubts.
Free Mastering ROS book
Each student will get an e-copy of the Mastering ROS book which is written by Lentin Joseph.
Technical Assistance
In additional live class and mentorship, if you have difficulties in setting Ubuntu/ROS in your PC, you will get technical support from the instructor. The support can be either through remote desktop connection or through a voice call
Course Schedule
There will be small changes in the schedule and you will be notified once you enroll in this course.
- Lecture: 4 hrs/week (Friday and Saturday)
- Project Meeting: (Sunday)
- Live Class time: 7 PM IST (Indian Standard Time), It can vary according to feedback
- Q&A and interaction: 8 hrs/week
- Total Estimated course time: 60 to 80 hr
Enroll in Mastering Robot Operating System (ROS)
You can enrol in the Mastering ROS course by clicking the following button. Enroll today, only limited seats are available.
Update: The course is no longer accepting new enrolment
FAQ
Is the course fee payable in advance? Is it refundable?
The course fee has to pay in advance. It should be a one-time payment. Regarding the refunding, if the student is not at all happy with the course and if they can come up with a solid reason, we will refund a part of the fee amount. It will depend on when they ask for a refund. After getting a refund, they are not eligible to get a certificate.
Is there an EMI Scheme available for payment?
Yes, In the payment gateway, you can see an EMI option.
Please let us know if you have any issues with this.
What time will be these online classes? If I can't attend classes, will I able to attend it later?
All live classes will be recorded, so if anyone can't attend the classes, you can audit the course and you can contact the instructor if you have any queries
Will I get technical support after the course?
Yes, you will get 1-month extra support after this course.