- What is this course about?
- About the Instructor
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
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?
Articles
Popular Articles
prev
next