Mastering Robot Operating System (ROS) Essentials - Developing Intelligent Robots
About This Course
This comprehensive course offers an in-depth exploration of the Robot Operating System (ROS a.k.a ROS2), tailored for professionals aiming to enhance their expertise in intelligent robotics. Participants will begin with an introduction to ROS, understanding its applications and installation procedures. The course will cover practical tools and techniques such as ROS CLI tools for environment configuration, using turtlesim, and managing nodes and topics. This training provides a solid foundation in navigating the ROS environment, ensuring participants are well-prepared to implement these skills in various robotics applications.
Advancing further, attendees will delve into more complex topics such as ROS Client Libraries, ROS TF2 for managing dependencies, and ROS Navigation for mastering LIDAR and SLAM techniques. Practical sessions include writing publishers, subscribers, and clients in Python, creating custom interfaces, and controlling robot movements through the Turtlebot and robot arms using Moveit packages. By applying control theory and system feedback, participants will be equipped to diagnose robotic system faults and review organizational workflows efficiently, ensuring a high level of application in real-world scenarios.
What You'll Learn
LO1: Review organizational workflows using ROS in accordance to the principles of automation technologies
LO2: Diagnose robotic system faults using ROS during robot setup and operations.
LO3: Apply ROS control theory and system feedback to manage robotics applications
Course Outline:
Topic 1 Introduction to Robot Operating System (ROS)
- Overview of ROS (a.k.a ROS2)
- ROS Applications
- ROS Installation
Topic 2 ROS CLI Tools
- Configuring environment
- Using turtlesim, ros2, and rqt
- Nodes
-Topics
- Services
- Parameters
- Actions
- Using rqt_console to view logs
- Launching nodes
- Recording and playing back data
Topic 3 ROS Client Libraries
- ROS file system
- Creating a workspace
- Creating a package
- Writing a simple publisher and subscriber (Python)
- Testing with Turtlesim
- Writing a simple service and client (Python)
- Creating custom msg and srv files
- Implementing custom interfaces
- Using parameters in a class (Python)
- Using ros2bags
Topic 4 ROS TF2
- Managing Dependencies with rosdep
- Creating an action
- Writing an action server and client (Python)
- Composing multiple nodes in a single process
- Launch
- tf2
- Testing
- URDF
Topic 5 ROS Turtlebot
- Introduction to Turtlebot
- Install Turtlebot packages
- Control the robot
- Physical Turtlebot
Topic 6 ROS Navigation
- Overview of LIDAR
- ROS Cartographer
- Using Cartographer to create a map of environment
- Introduction to SLAM (Simultaneous Localization and Mapping)
- Launching the navigation stack
- Navigating the robot via rviz
- Physical robot demo
Topic 7 ROS Applications
- Obstacle Avoidance
- Internet of Things (IoT)
- Line Following
- Gesture Controlled Navigation
- Robot arm control
Entry Requirements
Knowledge and Skills
• Able to operate computer functions with minimum Computer Literacy Level 2 based on ICAS Computer Skills Assessment Framework
• Minimum 3 GCE ‘O’ Levels Passes including English or WPL Level 5 (Average of Reading, Listening, Speaking & Writing Scores)
Attitude
• Positive Learning Attitude
• Enthusiastic Learner
Experience
• Minimum of 1 year of working experience.
Target age group: 21-65 years old