Course Details

ROS Developer Learning Path 2.0

Data Science
course-meta
Created by

Last Update

September 05, 2023

Created On

July 05, 2023

Description

The ROS Developer Learning Path 2.0 is an updated educational program that helps individuals learn and develop skills in Robot Operating System (ROS) development. It covers fundamental concepts, tools, packages, simulation, perception, control, and advanced topics in ROS. The path equips learners with the skills to create and deploy complex robotic systems using ROS.

Overview

The ROS Developer Learning Path 2.0 offers promising prospects, including in-demand skills, career opportunities in robotics, versatile knowledge, collaboration with the ROS community, potential for entrepreneurial ventures, and academic pursuits in robotics

Features

  • Lifetime course content access
  • Technical Assistance
  • Mentoring for ROS Projects
  • Internship
  • Course Completion Certification

What you'll learn

  • Prerequisites for Robotics and ROS
  • Let’s start with the Legacy: ROS 1
  • How to Migrate to ROS 2
  • ROS 2 Essentials concepts with Basic Projects
  • Mastering ROS 2 concepts with Intermediate Projects
  • Advance ROS 2 concepts with Advance Projects
  • Becoming a ROS Developer

Prerequisites

Curriculum

  • 58 modules

Introduction to Robotics and Robot Programming

What is a Robot?

Robotics in a nutshell

Different types of robots

Applications of robotics

Selecting sensors, actuators and computing units for your robot

Building your own robot

What is Robot Programming?

How to program a robot?

Software frameworks for programming robots

Learning Basic electronics for building a robot

Choosing electronics components for building a robot

Introduction to IO boards: Arduino, Tiva C Launchpad, Raspberry Pi Pico.

Introduction to Single Board Computers (SBC): Raspberry Pi, Odroid, Jetson Nano

Installing Ubuntu on PC/VirtualBox

Linux basic commands for robotics

Linux IDE & Text Editor: VS Code, nano, gedit

Linux and I/O board communication: USB to Serial communication Linux and Camera interfacing

How to customize Linux kernel for your robot

Raspberry Pi and Linux overview, Linux commands, GPIO handling

Learning C++ for Robotics and ROS: Fundamentals

Learning Python for Robotics and ROS: Fundamentals

Qt Fundamentals

OpenCV Fundamentals

PCL Fundamentals

What is a version control system?

What is Git?

What is GitHub and how to create a repository in GitHub

Basic concepts of Git:

Creating your Git portfolio and starting your first project in Git

Creating your own blog using GitHub

What is Docker?

Getting started with the basics of docker

How to use Linkedin effectively?

How to use GitHub effectively?

Creating your own YouTube channel

Creating a website/blog

How to start working & collaborate with Opensource projects

Basics concepts in mechanical design

Basics concepts of 3D Modeling

Overview of SolidWorks, Fusion 360, Free CAD, Blender for robot modeling Basic robot modeling using Fusion 360

Getting started with 3D printing

Modeling using Fusion 360 and printing using a 3D printer

Printing and assembling a robot model in 3D Printer

Best practices in 3D printing

Getting started with Robot simulator concepts

Overview of different robotic simulators: Webots, Ignition, Gazebo & CoppeliaSim

What is Robot Programming?

Getting started with ROS

ROS Equation

Why use ROS?

Installing ROS

ROS Architecture and concepts

ROS Filesystem

ROS Coding styles, IDE

ROS Hello World

ROS TurtleSim

ROS Workspace and package

ROS Client libraries: roscpp & rospy

Understanding roslaunch, rosbag, Rviz, rqt

Implementing Topics, Service, Parameters

Learning ROS programming using TurtleSim: roscpp and rospy

Understanding ROS concepts using TurtleSim Moving TurtleSim using ROS programming.

What is ROS TF?

Understanding Transformation and frames

Working with TF broadcaster and listener

Creating TF for your robot

Working with ROS TF tools

TurtleSim projects

Draw your caricature using TurtleSim

Object tracking using TurtleSim

What is URDF & xacro?

Understanding URDF & xacro

Writing your own URDF and xacro

Visualizing your robot

Interacting with the robot model

Moving the robot model

Modeling robot using Fusion 360

Introduction to Gazebo simulator

Getting started with Gazebo

Gazebo models and plugins

Spawning models into Gazebo

Interacting with a simulated robot

Working with Husky, Turtlebot3, and x-arm simulation Visualizing robot sensor data in Rviz

Creating your own mobile robot and robot arm simulation (Fusion 360)

Visualizing robot in Rviz

Introduction to ROS controllers

Interacting with robot models

Moving robots using ROS programming

Let’s start with the Legacy: ROS 1

Exploring Jetbot robot

Simulating Jetbot in ROS

What is robot perception?

Introduction to ROS perception stacks

Working with ROS OpenCV and Point Cloud

Robotic vision using OpenCV and ROS

Point cloud processing using PCL and ROS

Example projects using OpenCV and PCL

ROS and Object detection: YOLO ROS interface

ROS and 3D Object detection

Introduction to ROS serial

Working with ROS and Arduino

Working with ROS and Tiva C Launchpad

Working with Jetson Nano and ROS

Setting ROS vision in Jetson Nano

Working with ROS and Raspberry Pi

Interfacing RPI camera to ROS

Interfacing GPIO pins of RPI using ROS

Interfacing sensors to RPI and ROS

Controlling motors from RPI and ROS

Implementing a PID controller using RPI and ROS

What is an autonomous mobile robot?

Creating a robot model of a delivery robot

Understanding the basics of ROS navigation stack

Interfacing our mobile robot to ROS navigation stack

Implement Mapping and Localization using SLAM

and AMCL

How to tune Navigation parameters

Commanding robot using GUI

Introduction to ROS MoveIt!

Interfacing Simulated robotic arm to MoveIt!

Path planning using MoveIt!

Grasping using MoveIt!

Implement pick-place using MoveIt! and Gazebo

Let’s start with the Legacy: ROS 1 | Projects

Introduction to SMACH,SMAC and Flexbe

Creating state machines using Flexbe

Creating Navigation and Manipulation using Flexbe

Deep dive into ROS Nodelets

Writing your first Nodelets

Implementing vision algorithms using ROS nodelets

Let’s start with the Legacy: ROS 1 | Projects

Deep dive into ROS Gazebo plugins

Writing your first Gazebo plugin

Implementing a sensor using Gazebo plugin

Deep dive into ROS based path planners

Working with existing planners in ROS

Configuring a planner for your robot

Writing your own planner for your robot

Let’s start with the Legacy: ROS 1 | Projects

Deep dive into Rviz and Rqt plugins

Working with existing Rviz and Rqt plugins

Creating new Rviz plugin for visualization

Creating new Rqt plugin

List of SLAM wrappers in ROS

Gmapping, Cartographer

Deep dive into Visual SLAM

Configuring different SLAM package for your robot

Let’s start with the Legacy: ROS 1 | Projects

Deep dive into Controllers in ROS

Configuring ROS controllers for your robot

Writing ROS controllers for your robot

Interfacing ROS controllers to actual actuator

A Brief overview of ArduPilot and Pixhawk

Simulation and Drone in ROS and Gazebo

ROS with MavROS

Gazebo simulation using Pixhawk

Mapping and Localization

Let’s start with the Legacy: ROS 1 | Projects

Introduction champ project

Simulation of Boston Dynamics Spot robot

Mapping and Navigation using Legged robot

Prototyping lesson of mini legged robot

Open Dynamic Robot Initiative

ROS and Virtual Reality Projects

ROS based mobile manipulation demo projects

ROS android applications

ROS and Alexa interfacing

ROS and IoT applications

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

Let’s start with the Legacy: ROS 1 | Projects

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

Diagnosis and optimization of robotics software

Remote monitoring and operation of robot fleets

Interacting with humans

Interacting with other systems (IoT, smart buildings,

enterprise applications)

Optimizing robotics applications

The rise of robot interoperability standards

Industry applications and deployment models (RaaS)

Robot Web Tools: ROS stack for interacting with the

Web world

rosjava: developing Android interfaces with ROS

support

Exploring typical interfaces and APIs with the free

InOrbit RobOps platform

AWS RoboMaker for deployments and simulations

Migrating from ROS 1 to ROS 2

Installing ROS 2 on Ubuntu

Understanding main architecture difference between ROS 1 & ROS 2

Comparing ROS 1 & ROS 2 concepts

Comparing ROS 1 & ROS 2 programming

Comparing ROS 1 & ROS 2 simulation in Gazebo

Kickstarting Robot programming using ROS 2

Getting started with ROS 2

ROS 2 Equation

Why use ROS 2?

Installing ROS 2

ROS 2 Architecture and concepts

ROS 2 Filesystem

ROS 2 Coding styles, IDE

ROS 2 Hello World

ROS 2 TurtleSim

ROS 2 Workspace and package

ROS 2 Client libraries: rcl & rclpy

Understanding roslaunch, rosbag, rviz, rqt

Implementing Topics, Service, Parameters

Learning ROS programming using TurtleSim: rcl & rclpy

Understanding ROS 2 concepts using TurtleSim Moving TurtleSim using ROS 2 programming

What is ROS 2 TF?

Understanding Transformation and frames

Working with TF broadcaster and listener

Creating TF for your robot

Working with ROS 2 TF tools

TurtleSim projects

Draw your caricature using TurtleSim

Object tracking using TurtleSim

What is URDF & xacro?

Understanding URDF & xacro

Writing your own URDF and xacro

Visualizing your robot

Interacting with the robot model

Moving the robot model

Modeling robot using Fusion 360

Introduction to Gazebo simulator

Getting started with Gazebo

Gazebo models and plugins

Spawning models into Gazebo

Interacting with a simulated robot

Working with Turtlebot3 and Rover robot

Visualizing robot sensor data in Rviz

Creating your own mobile robot and robot arm simulation (Fusion 360) Visualizing robot in Rviz

Introduction to ROS controllers

Interacting with robot models

Moving robots using ROS 2 programming

What is robot perception?

Introduction to ROS 2 perception stacks

Working with ROS 2 OpenCV and Open3D

Robotic vision using OpenCV and ROS

Point cloud processing using Open3D and ROS Example projects using OpenCV and Open3D ROS 2 and Object detection: YOLO ROS interface

ROS and 3D Object detection

Introduction to microROS

Installing microROS on Arduino, Teensy, Raspberry

Pico

Interfacing motors & sensors to microROS

ROS 2 on Jetson Nano

What is an autonomous mobile robot?

Creating a robot model of a delivery robot

Setup robot hardware and electronics for the robot

Understanding the basics of ROS 2 navigation stack

Interfacing our mobile robot to ROS 2 navigation stack

Implement Mapping and Localization using SLAM

and AMCL

Commanding robot using GUI

Simulation of Jetbot and Turtlebot 3 in Gazebo

Introduction to Ignition simulation

Interfacing Ignition to ROS 2

Simulate a basic robot in Ignition and ROS 2

Introduction to Webots

Interfacing Webots to ROS2

Simulate a basic robot in Webots and ROS 2

ROS 2 Essentials concepts with Basic Projects

Introduction to Isacc simulator from NVIDIA

Interfacing Isacc to ROS 2

Simulate a basic robot in Ignition and ROS 2

Mastering ROS Navigation stack 2

Deep dive into ROS Navigation stack

Configuring and fine-tuning navigation stack

Working with Navigation stack 2 and Behavior trees

Using different path planners in Navigation stack

Deep dive into ROS navigation node

Mastering ROS MoveIt! 2

Deep dive into ROS MoveIt! 2

Configuring and fine tuning MoveIt! 2 for any robot

Using different planners in MoveIt!

Interfacing perception to MoveIt! 2

Complex motion planning and pick-place

Programming using MoveIt! 2 APIs

Deep dive into ROS 2 interface of OpenCV and PCL

Interfacing ROS 2 and Tensor Flow

Interfacing ROS 2 and Pytorch

Object detection using ROS 2 and deep learning –NVIDIA

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

Mastering GitHub Actions and Travis CI for ROS project

Creating and pushing a ROS 2 project in GitHub

Integrating Continuous Integration using Travis CI

Releasing your ROS 2 package

Adding your own package in ROS distro

ROS 2 Deep learning projects

ROS 2 Navigation application

ROS 2 Manipulation applications

List of SLAM wrappers in ROS 2

Gmapping, Cartographer

ROS 2 and SLAM TOOL Box

Deep dive into Visual SLAM

Configuring different SLAM package for your robot

Deep dive into Controllers in ROS

Configuring ROS controllers for your robot

Writing ROS controllers for your robot

Interfacing ROS controllers to actual actuator

Deep dive into ROS Gazebo plugin

Writing your first Gazebo plugin

Implementing a sensor in Gazebo using plugin

Deep dive into ROS 2 based path planners

Working with existing planners in ROS

Configuring a planner for your robot

Writing your own planner for your robot

Deep dive into Rviz and Rqt plugins

Working with existing Rviz and Rqt plugins

Creating new Rviz plugin for visualization

Creating new Rqt plugin

Deep dive into the self-driving car technology

Discussing hardware to build a self-driving car

Discussing the software architecture

ROS based software for self-driving car

Working with Autoware project

Simulating and Visualizing a self-driving car

Visualization of Self-driving data in Webviz & XVIZ

Deep dive into Deep learning frameworks

Interfacing deep learning frameworks to ROS: TensorFlow and PyTorch Working with Object detection using ROS NVIDIA deep learning stacks

Becoming a ROS Developer

List of robotics companies working on ROS and Robotics

Common interview questions for ROS developer

Mock exams for ROS developer

Mock interviews for a ROS developer

More reference and materials

Instructors

Skoliko Faculty

image not found
₹20000.00
  • Modules
    58 Modules
  • Duration
    200 Hours
  • Category
    Data Science

Login to Purchase the Course