3-day Intensive Live Training

Get ROS2 Industrial Ready

ROS2 Basics + ROS2 Nav2 + Manipulation with Movelt2

€2999

€2399/person

Early-bird discount runs until June 29, 2022

Available at three different Time Zones: CDT, PDT and JST

3 training days

}

22.5 hours in total

9:00 - 17:00 CDT

July 6 – 8, 2022

Central Daylight Time (CDT)

9:00 - 17:00 PDT

July 13 – 15, 2022

Pacific Daylight Time (PDT)

9:00 - 17:00 JST

July 20 – 22, 2022

Japan Standard Time (JST)

Past attendees from

Be on the edge of programming industrial robots with ROS2

ROS2 is expected to replace ROS1 by 2023 completely. The latest ROS2 distributions (Galactic and Foxy) are mature enough to create real-world robotics applications.

In this 3-day workshop, students will learn how to create basic programs in ROS2, use the Nav2 navigation system and perceive and grasp objects using MoveIt2.

How you’ll learn

Students learn through real-time ROS expert-led explanations, along with explanatory notebooks and robotic simulations. The students will complete the exercises with simulated robots, working with the instructor. Each student is assigned their own simulated robots. 

N

ROS Expert-led Training

N

Practice with Simulations & Real Robots

N

10 Hours of Practice with a Real Mobile Robot RB-1 BASE & an UR3e Robot Arm

N

Certificate

Who is this workshop for?

  • Robotics Developers who want to run their robots with ROS 2
  • Companies that want to equip their team with ROS 2
  • Robotics teams that want to transition from ROS1 to ROS2
  • Engineers or CTOs who want to build scalable robotics products, faster

What You’ll Learn

N

How to create packages, nodes, topics, services, and actions in ROS2

N

Management of the new Colcon universal building system

N

Topic publishers and subscribers in ROS2 Python

N

Management of nodes in ROS2: life cycle, executors and callback groups

N

Hybrid applications with ROS1 and ROS2

N

Use of debugging tools in ROS2

N

ROS2 Localization

N

ROS2 Path Planning

N

ROS2 Mapping

N

ROS2 + DDS

N

ROS2 Obstacle avoidance

N

ROS2 arm planning and grasping using MoveIt2

3 days intensive training plan

8

hours

per

day

N

2 hrs/day: Learn Theory

N

2 hrs/day: Do Exercises with Simulated Robots

N

3 hrs/day: Work on Real Robot Projects

N

1 hr/day: Apply & Debug Your Codes on Real Robots (with our support)

Real Robots Used

You will be using the following real robots throughout the training

Robotnik RB-1 Base Robot

RB-1 BASE Mobile Robot

Developed by

Robotnik RB-1 Base Robot

UR3e Robot Arm with OnRobot Gripper

Simulated Robots Used

You will use several robots in simulations and others in reality. This will allow you to see the flexibility of ROS2 with different robotic platforms.

RB-1 BASE

MP-400

UR3e with Gripper

Syllabus

What You Will Learn in 3-Day

Prerequisites:

  • Basic programming knowledge in Python and C ++.
  • Experience in creating applications in ROS1 for autonomous robots.
  • Google Chrome or Firefox browser.
  • It is not necessary to have Linux on the student’s computer. Any operating system is valid.
  • It is not necessary to have ROS installed on the student’s computer.
  • Institution: The Construct in cooperation with Robotnik
  • Programming Language: Python and C++ in Linux
  • Language: English
Day 1 - ROS2 Basics
Day 1
Time Lesson
9:00 – 9:15 Opening
9:15 – 11:15 ROS2 Basics Session 1
11:15 – 11:30 Coffee Break
11:30 – 13:30

ROS2 Basics Session 2

13:30 – 14:00 Lunch
14:00 Real Robot Project Introduction
14:15 – 17:00 Work on real robot project

 

Learning content

 

  • ROS2 Basic Concepts:

    • Learn how to work with ROS2 packages
    • Create your first Hello World python ROS2 program
    • Create your first Hello World ROS2 launch file
    • Understand the setup.py file for source installation for ROS2 python based packages
    • Understand how ROS2 nodes work.
    • Use environmental ROS2 variables
  • ROS2 Topics:

    • Learn about all the ROS2 Topic basic commands, like listing running topics and message types.
    • Publish a ROS2 topic message through the command line
    • Create a ROS2 topic publisher and ROS2 topic subscriber in python.
    • Learn how to create a custom ROS2 topic and use it in a python script.
    • Learn how to remap topics in ROS2 in a launch file.
  • Managing Nodes:

    • Learn about the problem of using multiple callbacks in the same python script.
    • Learn how CallBack groups and multithreading can solve those issues.
    • Create multiple publishers, subscriber python ROS2 script, that uses multithreading and callback groups to manage all the callbacks and threads to make the robot have updated values of the laser and odometry to decide how to avoid an obstacle.
  • Debugging ROS2 programs

    • How to use and manage different levels of Debugging messages in ROS2 python scripts.
    • Learn how to visualize Camera Images, Pointclouds, TFs, robot models, and other complex data in RVIZ2.
    • Learn how to generate a PDF with the TF tree structure of the current ROS2 robot-description system.
    • Learn about ROS2Doctor debugging tool command, and how it can help you detect unused topics, old packages, and other system data like the RMW MIDDLEWARE used Topics list, and network setup.
  • Understanding DDS in ROS2

    • Learn about the reasons behind using DDS in ROS2 instead of the ROS1 TCP.
    • Learn the basic morphology and features of the default RMW MIDDLEWARE DDS used CycloneDDS.
    • Learn about the three supported DDS implementations in Galactic.
    • Learn how to change the DDS used to then execute scripts using that DDS implementation.
    • Learn about what is the ROS2 Daemon and what’s its relation with DDS.
    • Learn about the need for Quality of Services (QoS) systems in ROS2.
    • Learn how to start publishers and subscribers with different QoS and their compatibility.
    • How to change QoS in ROSbags.
    • How to change QoS setup in RVIZ2
  • ROS2 Services

    • Learn about all the ROS2 Service basic commands, like listing running services and message types.
    • Learn about the ROS2 services that can be synchronous or asynchronous.
    • Create your first ROS2 service server and service clients.
    • Create a custom Service message and use it in a python script to control the movement of the simulated Neobotix Mp-400.
  • ROS2 Actions

    • Learn about the new update in ROS2 having actions their own space.
    • Learn about all the ROS2 Action basic commands, like listing running actions and message types.
    • Create your first ROS2 action server and action clients.
    • Create a custom Action message and use it in a python script to control the movement of the simulated Neobotix Mp-400
Day 2 - ROS2 Navigation
Day 2
Time Lesson
9:00 – 11:15 ROS2 NAV2 Session 1
11:15 – 11:30 Coffee Break
11:30 – 13:30

ROS2 NAV2 Session 2

13:30 – 14:00 Lunch
14:00 – 17:00 Work on real robot project

Learning content

  • How to configure and launch a full navigation stack in ROS2
  • How to create a map of the environment using SLAM-Toolbox
  • How to provide the map to other applications using a map server
  • How to localize the robot using the AMCL particle filter
  • How to plan paths from one location to another using the planner for differential robots
  • How to make the robot follow a trajectory while avoiding obstacles using the controller
  • How to configure the costmaps (global and local) for effective obstacle avoidance
  • How to use Behavior Trees to control the navigation behavior of the robot
  • How to manage recovery behaviors
  • How to manage and synchronize the navigation nodes using the BT-Navigation-Manager
  • How to programmatically send requests and goals to the navigation system from external nodes using Python3
Day 3 - ROS2 Perception & Manipulation
Day 3
Time Lesson
9:00 – 11:15 ROS2 Perception
11:15 – 11:30 Coffee Break
11:30 – 13:30

ROS2 Manipulation

13:30 – 14:00 Lunch
14:00 – 14:15 Certificate Ceremony
14:15 – 17:00 Work on real robot project

Learning content

  • Identify the position of the object to pick using a depth camera
  • Provide the object location to the grasping algorithm
  • Create a MoveIt2 package config specific to your robot
  • Port a MoveIt1 package config to MoveIt2
  • Arm Trajectory Planning using MoveIt2
  • Open Motion Planning Library (OMPL) basic configuration
  • Test different planning algorithms such as RRT* or PRM*
  • Create programs to control a robot arm using the MoveIt2 C++ API
  • Gripper control using the Gripper Command action server
  • Bridge of action servers from ROS1 to ROS2 using the action_bridge node
  • Full Pick & Place pipeline based on:
    • Plan to the position of the object
    • Approach the object
    • Pick the object
    • Lift the objet
    • Plan to the release position
    • Release the object

Instructors

Miguel Angel

Miguel Angel

Head of Research @ The Construct | Creator of over 10 ROS AI courses | Author of ROS IN 5 DAYS book collection

Alberto Ezquerro

Alberto Ezquerro

Head of Education @ The Construct | Creator of over 30 ROS courses | Author of ROS IN 5 DAYS book collection

Ricardo Téllez

Ricardo Téllez

CEO @ The Construct | Teacher of Robotics at La Salle University and Universitat Politècnica de Catalunya

Rodrigo Gonzalez

Rodrigo Gonzalez

Robotics Engineer @ The Construct | Leader of RoBox – 24/7 Remote Real Robot Lab

Roberto Zegers

Roberto Zegers

Robotics Software Developer / Creator of ROS2 Control course

R

100% PRACTICAL

You will get REAL, PRACTICAL experience that is APPLICABLE to your real-life robotics development.

FOR THOSE WHO WANT TO APPLY ROS2 TO ROBOTS, FAST

We help you move fast!

Certificate

Get recognized! Upon successfully completing this training, The Construct grants a certificate of completion to participants. This training is graded as a pass or fail; participants must receive 75% to pass and obtain the certificate of completion.

Thank you all for your outstanding effort. It was a great training with A LOT of outcomes! Thank you for bearing with me. I really appreciate your professionalism during this workshop.

Saleh Alkhamees

Systems Engineer, Advanced Electronics Company

Previous workshop recap

Need ROS2 Training for Your Team? Contact Us for On-demand ROS2 Workshops

We provide customized ROS2 training tailored to your needs.

Email

info@theconstructsim.com

Phone Number

(+34) 687 672 123

Frequently Asked Questions

What is ROS2? Why ROS2?

ROS 2 (Robot Operating System 2) is an open-source software development kit for robotics applications. The purpose of ROS 2 is to offer a standard software platform to developers across industries that will carry them from research and prototyping to deployment and production. ROS 2 builds on the success of ROS 1, which is used today in myriad robotics applications around the world.

» Shorten time to market
ROS 2 provides the robotics tools, libraries, and capabilities needed to develop your applications, allowing you to spend your time on the work that is important for your business. Because it is open-source, you have the flexibility to decide where and how to use ROS2 and, the freedom to customize it to fit your needs.

» Designed for production
Drawing on a decade of experience in establishing ROS 1 as the de facto global standard for robotics R&D, ROS 2 was built from the ground up to be industry-grade and used in production, including high reliability and safety-critical systems. Design choices, development practices, and project governance for ROS 2 are based on requirements from industry stakeholders.

» Multi-platform
ROS 2 is supported and tested on Linux, Windows, and macOS, allowing seamless development and deployment of on-robot autonomy, back-end management, and user interfaces. In addition, the tiered support model allows for ports to new platforms, such as real-time and embedded OSs, to be introduced and promoted as they gain interest and investment.

» Multi-domain
Like ROS 1 before it, ROS 2 is ready for use across a wide array of robotics applications, from indoor to outdoor, home to automotive, underwater to space, and consumer to industrial.

» No vendor lock-in
ROS 2 is built on an abstraction layer that insulates the robotics libraries and applications from the communication technologies. Below the abstraction are multiple implementations of the communications code, including both open source and proprietary solutions. Above the abstraction, core libraries and user applications are portable.

» Built on open standards
The default communications method in ROS 2 uses industry standards like IDL, DDS, and DDS-I RTPS, which are already widely deployed in a various of industrial applications, from factories to aerospace.

» Permissive open source license
ROS2 code is licensed under the Apache 2.0 License, with ported ROS 1 code under the 3-clause (or “new”) BSD License. Both licenses allow permissive use of the software, without implications on the user’s intellectual property.

» Global community
Over 10+ years the ROS project has produced a vast ecosystem of software for robotics by nurturing a global community of hundreds of thousands of developers and users who contribute to and improve that software. ROS 2 is developed by and for that community, who will be its stewards into the future.

» Industry support
As demonstrated by the membership of the ROS 2 Technical Steering Committee, industry support for ROS 2 is strong. Companies large and small from around the world are committing their resources to make open-source contributions to ROS 2, in addition to developing products on top.

» Interoperability with ROS 1
ROS 2 includes a bridge to ROS 1 that handles bidirectional communication between the two systems. If you have an existing ROS 1 application, you can start experimenting with ROS 2 via the bridge and port your application incrementally according to your requirements and available resources.

(source: https://docs.ros.org/en/galactic/index.html)

Do I need to install ROS in advance?

No. You only need to bring your laptop and don’t need to have ROS installed. You can use Windows, Linux or macOS.

What do I need to prepare?

To prepare for this online workshop, you need to know the basics of Linux, Python, and C++. This is mandatory, so in case you need it, take the following three free courses:

  1. Linux for robotics
  2. Python3 for robotics
  3. C++ for robotics

Pin It on Pinterest