ROS for Beginners: Basics, Motion, and OpenCV

BY
Udemy

Mode

Online

Fees

₹ 3099

Quick Facts

particular details
Medium of instructions English
Mode of learning Self study
Mode of Delivery Video and Text Based

Course and certificate fees

Fees information
₹ 3,099
certificate availability

Yes

certificate providing authority

Udemy

The syllabus

Introduction

  • What is this course about?
  • About the Instructor

ROS: How did it revolutionize robotics software development

  • About this section (slides attached to resources)
  • Introduction
  • Why did I decided to use ROS in my work?
  • The Robot Life Cycle
  • ROS Impact
  • Self-Driving Car Use Case
  • ROS Evolution
  • ROS Distributions (version) over Time
  • ROS Architecture
  • ROS Basic Concepts and Demo
  • ROS Communication Paradigms (Topics/Services/ActionLib)
  • ROS Path Planning and Navigation
  • Limitation of ROS
  • ROS2
  • [OPTIONAL] Some Contributions to ROS

[NEW] Setting your environment with ROS Noetic

  • Install ROS Slides
  • Install ROS Noetic on Ubuntu 20.04
  • Create your catkin workspace with ROS Noetic
  • Clone the right GitHub Repository for the ROS Noetic distribution
  • Testing your installation with C++ nodes
  • Testing and fixing installation with Python nodes
  • [IMPORTANT] BEFORE START WORKING ON THE COURSE

[LEGACY] Installation & Environment Setup

  • Note about this section
  • [OPTIONAL] ROS Installation Tips
  • The Link to the Pre-Installed Virtual Machine
  • Install a Ubuntu Virtual Machine on Mac-OS using VM-Fusion
  • UPDATE NOTE ABOUT ROS DISTRIBUTION
  • Install ROS (Melodic) on Ubuntu (Bionic)
  • Which Integrated Development Environment (ID) to use with ROS?
  • [UPDATE] Note: My recommendation of editor to use

Create a ROS Workspace and ROS Package

  • Section Note Update
  • ROS Workspace and ROS Package (Setting up your ROS projects)
  • Wrapping up
  • ROS Workspace and ROS Package
  • Note about the next lecture
  • [LEGACY] Setup ROS (Kinetic+Melodic) Project of the course using GitHub

[NEW] ROS Computation Graph

  • What is a ROS Computation Graph?
  • ROS Computation Graph Life Cycle
  • Start the ROS Master Node
  • How to run a new node (executable) in ROS?
  • What happens when we start a new ROS node?
  • Adding a teleop node to make the robot move
  • Get the information of a node and the information of a topic
  • The content of the motion message /tutle1/cmd_vel
  • Understand the structure of a ROS message
  • How to show the message structure on ROS command line?
  • Publish a message on a topic from a command line
  • Visualize the ROS Computation Graph using ros_rqt_graph
  • Demo: Starting Turtlesim and checking information about the nodes and topics
  • Demo: Showing the content of ROS messages published
  • Demo: Understand the pose topic
  • Demo: What is the benefit of using ROS?
  • Demo: Publishing a message from a command line using rostopic pub
  • Demo: rqt_graph
  • [Quiz] ROS Computation Graph
  • ROS Filesystem and Ecosystem
  • NOTE
  • [OLD] The ROS Master Node (OPTIONAL - KEPT FOR STUDENT NOTES)
  • [OLD] ROS Computation Graph: Nodes, Topics (OPTIONAL - KEPT FOR STUDENT NOTES)

ROS Topics

  • ROS Topics Overview
  • Question: what happens if ROS Master crashes?
  • Guidelines to Write a Publisher and a Subscriber in ROS
  • Overview of the Talker/Listener Application (ROS Hello World Example)
  • Write a Publisher Node in Python
  • Write a Subscriber Node in Python
  • [DEMO] Talker/Listener in Python
  • Write a Publisher/Subscriber Node in C++
  • [DEMO] Talker/Listener in C++
  • Do-It-Yourself Assignment Explanation
  • Do-It-Yourself: Write your First ROS Program to Control the Motion of a Robot
  • [OLD-OPTIONAL] Write a ROS Publisher and Subscriber in C++
  • [OLD-OPTIONAL] Write a ROS Publisher and Subscriber in Python

ROS Messages

  • Create Custom ROS Messages: Overview
  • [Demo] Create a Custom ROS Message: Implementation
  • [DEMO] IoTSensor Custom Message Publisher/Subscriber Applications

ROS Services

  • What is a ROS Service?
  • Understand ROS Services with Turtlesim
  • [DEMO] ROS Services with Turtlesim
  • Do-It-Yourself: ROS Service Hands-On Practice
  • AddTwoInts Service Overview
  • Create the Service File and Request/Response Messages
  • Write ROS Service (Client/Server) in Python
  • [DEMO] Write ROS Service (Client/Server) in Python
  • [DEMO] Writing a ROS Service (Client/Service) in C++
  • Rectangle Aera ROS Service (with video solution)

[NEW] Motion in ROS (Updated with ROS Noetic)

  • Note about this updated section
  • Cleaning Application Overview
  • Step 1. Understand Topics and Messages Used in the Application
  • Import the Libraries in Python and C++
  • The Divide and Conquer Approach
  • Move Straight Line (C++/Python)
  • [DEMO] Move Straight Line (C++/Python)
  • Rotate Motion (C++/Python)
  • [Demo] Rotate Motion (C++/Python)
  • Go-To-Goal Behavior
  • [Demo] Go-To-Goal Behavior
  • Set Desired Orientation
  • [Demo] Set Desired Orientation
  • Spiral Trajectory
  • Spiral Trajectory Demo
  • Putting All Together: The Cleaning Application
  • Running Multiple Nodes with a Launch File

Appendix: Motion in ROS (old videos but still applicable)

  • Cleaning Application Overview
  • Moving in a Straight Line
  • Rotate Left and Right
  • Go to Goal Location
  • Spiral Control and Clearning Application
  • Turtlesim Motion in Python
  • Assignment Solution: Linear Motion in ROS (Python)
  • Assignment Solution: Rotation Motion in ROS (Python)
  • Assignment Solution: Go-to-Goal Motion in ROS (Python)
  • Turtlebot 2 Robot Motion

ROS Tools & Utilities

  • ROS Network Configuration
  • Launch Files (Part I): Running multiple nodes with roslaunch
  • Launch Files (Part II): including a launch file and define parameters

Getting Started with Turtlebot3

  • Install Turtlebot3 Simulator
  • Overview of Turtlebot3 Simulation Environment
  • [Demo] Simple Demo with Turtlebot3

Perception 1: Computer Vision in ROS with OpenCV

  • OpenCV Overview
  • [BEFORE ROS-NOETIC] Install OpenCV for ROS (Melodic/Kinetic)
  • [New] Install OpenCV for ROS Noetic
  • Additional Note about OpenCV installation
  • OpenCV: Open/Save Image Files (Python)
  • OpenCV: Pixels and Image Structure (Python)
  • OpenCV: Image Encoding (Python)
  • OpenCV: Video Streams Input (Python)
  • OpenCV: Drawing Shapes
  • CvBridge: Bridging OpenCV and ROS
  • Simple and Adaptive Thresholding in OpenCV
  • Color Filtering in OpenCV (Tennis Ball use case)
  • Contours Detection and Processing in OpenCV
  • Tennis Ball Detection using OpenCV
  • OpenCV (C++) 
Video Input/Output
  • OpenCV (C++) 
Open and Save Images
  • OpenCV (C++) 
CvBridge: Bridging Images between OpenCV and ROS
  • Computer Vision Project: Ball Tracking with OpenCV and ROS

Perception 2: laser Range Finders (Laser Scanner)

  • What is a Laser Range Finder?
  • Laser Range Finders Characteristics
  • Laser Range Finders Quiz
  • Commercial Laser Range Finder Devices
  • Laser Scanner Devices used in Demonstrations
  • Connect Asus Live Pro RGBD Camera as a Laser Scanner
  • Connect Hokuyo URG 4LX Laser Scanner with ROS
  • Save Laser Scan Messages into a Bag File and Replay Them
  • Write a ROS Node (Python) as a Subscriber to a Laser Scanner
  • Write a ROS Node (C++) as a Subscriber to a Laser Scanner
  • Hands on-Activity on Laser Scanner

rosserial: Connecting New Hardware (Arduino) with ROS

  • What is rosserial?
  • What is Arduino?
  • Arduino Uno Board
  • Arduino IDE Overview
  • Install and Setup Arduino IDE
  • Range Sensor and Connection Setup
  • Programming The Ultrasonic Sensor with Arduino
  • Install rosserial libraries
  • rosserial Hello World application: Arduino ROS Publisher
  • rosserial Blink application: Arduino ROS Subscriber
  • rosserial using Arduino Ultrasonic Range Sensor

Bonus

  • What is next?

Trending Courses

Popular Courses

Popular Platforms

Learn more about the Courses

Download the Careers360 App on your Android phone

Regular exam updates, QnA, Predictors, College Applications & E-books now on your Mobile

Careers360 App
150M+ Students
30,000+ Colleges
500+ Exams
1500+ E-books