Skip to content

SCARA ROS2 EtherCAT Workshop

Welcome to the SCARA ROS2 EtherCAT Workshop! This comprehensive tutorial will guide you through the fundamentals of controlling robotic systems using the ros2_control framework and EtherCAT communication.

SCARA Model

Overview

The ros2_control framework is a real-time control framework designed for general robotics applications that is gaining increasing attention in both research and industrial contexts. This tutorial is designed to help you understand the basic concepts of controlling a robot using ros2_control and EtherCAT.

What You'll Learn

This workshop covers the following topics:

  • URDF Description


    Learn how to write a complete URDF description for a simple SCARA manipulator, including geometry, dynamics, and ros2_control interfaces.

    URDF Tutorial

  • Launch & Interact


    Discover how to launch your robot system and interact with controllers through the Controller Manager.

    Launch Tutorial

  • Hardware Interface


    Develop custom hardware interfaces to communicate with your robot's physical hardware or simulation.

    Hardware Tutorial

  • Controller Development


    Write custom controllers tailored to your specific application requirements.

    Controller Tutorial

  • Gazebo Simulation


    Set up your SCARA manipulator to run with ros2_control and Gazebo for realistic physics simulation.

    Gazebo Tutorial

  • EtherCAT Integration


    Configure and control CIA 402 compliant EtherCAT motor drives using the ethercat_driver_ros2 stack.

    EtherCAT Tutorial

  • FSoE Safety Integration


    Integrate FailSafe over EtherCAT (FSoE) for enhanced safety in your robotic system.

    FSoE Tutorial

Prerequisites

System Requirements

  • Operating System: Ubuntu 24.04 LTS
  • ROS Distribution: ROS2 Jazzy
  • Basic Knowledge: Familiarity with ROS2, C++, and Python

Quick Start

Ready to get started? Follow our installation guide:

Get Started

The SCARA Robot

Throughout this tutorial, we'll work with a SCARA (Selective Compliance Assembly Robot Arm) manipulator. This robot type is commonly used in industrial applications for pick-and-place operations, assembly tasks, and more.

Robot Structure

The SCARA robot consists of:

  • 3 Degrees of Freedom: Two revolute joints for horizontal movement and one prismatic joint for vertical movement
  • Joint 1 & 2: Revolute joints controlling the arm position in the XY plane
  • Joint 3: Prismatic joint controlling the vertical (Z-axis) position

ros2_control Framework

Before diving into the tutorials, it's helpful to understand the ros2_control framework architecture:

  • Controller Manager: Orchestrates the control loop and manages controller lifecycle
  • Hardware Interface: Abstracts physical hardware or simulation
  • Controllers: Implement control algorithms for your robot
  • Resource Manager: Manages hardware resources and interfaces

For a detailed overview, see the ros2_control Overview.

Support & Contribution

Need Help?

If you encounter any issues or have questions:

  • Check the tutorial documentation
  • Open an issue on GitHub
  • Contact the maintainers (see Contacts)

License

This project is open source. Check the repository for license information.


ICube Laboratory

ICube

University of Strasbourg, France

Asterion Robotics

Asterion