Learn the fundamentals of ROS, Robot Operating System, to create advanced robotic systems.
Are you interested in taking your first steps in robotics? Do you seek a practical approach and want to learn by doing? Join our course and learn how to program a complete real-world robotic system with ROS!
The Robot Operating System (ROS) enables you to quickly build robotic applications through access to a large set of open-source software and tools. Over the years, ROS has become the essential tool for roboticists. A large community surrounds ROS and there has been extensive input from industrial users in the development of these tools.
Many of the new advanced robot capabilities for manipulation, perception, and navigation have been developed using ROS. Companies such as Airbus and Boeing are using ROS for several of their applications. And we at Delft University of Technology won the Amazon Robotics Challenge 2016 with a robotic system developed with ROS.
In this course, you will learn to use different ROS tools to create a complete robotic application. You will be working with your own standalone Ubuntu-Linux installation and with industrial and mobile robots on the physics-based simulation engine, Gazebo. You will learn to program and configure basic robotic tasks such as pick-and-place objects, and navigate through obstacles. You will then integrate all this knowledge to build an industrial production line with two robotic arms and a mobile robot.
Are you ready to make your robot say "Hello" to the (real) world with ROS?
What you will learn:
- How to use ROS communication tools (topics, services, actions) to exchange information between functional modules
- Visualization and creation of a custom environment with a robot
- Mapping of the robot environment and navigation with a mobile robot
- How to implement a pick-and-place function with industrial robot arms
- Design of a complete robotic application with state machines
The development of this course is supported by ROSIN - ROS-Industrial Quality-Assured Robot Software Components. ROSIN project is funded by the European Union's Horizon 2020 research and innovation program under grant agreement no. 732287.
Week 0: Course setup
Installation of Ubuntu-Linux, course simulation setup and supporting software.
Week 1: ROS Essentials
Introduction to ROS Topics, Services, Actions, and Nodes. Simple interaction with the course simulation environment.
Week 2: Build your own robot environment
Software representation of a Robot using Unified Robot Description Format (URDF), ROS parameter server and adding real-world object representations to the simulation environment.
Week 3: Autonomous Navigation
Map creation with GMapping package, autonomously navigate a known map with ROS navigation.
Week 4: Manipulation
Motion planning, pick and place behaviors using industrial robots with ROS MoveIt!
Week 5: Robot Vision
Object detection, pose estimation.
Week 6: Final Project
ROS file system, basic concepts of behavior design with state machines, build a production line application with two industrial robot arms and a mobile robot.
Unless otherwise specified, the Course Materials of this course are Copyright Delft University of Technology and are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
This is a Massive Open Online Course (MOOC) that runs on edX.
- Basic programming in Python (variables, conditionals, loops and functions)
- A computer ready for Ubuntu-Linux installation
- The knowledge of basic Linear Algebra, computer science concepts and Linux command line is preferred, but students may also choose to learn these skills on their own along the course.