Skip to content

ICube-Robotics/ecat_ros2_workshop

 
 

Repository files navigation

SCARA ROS2 EtherCAT Workshop

Documentation ROS2 License

The ros2_control framework is a real-time control framework designed for general robotics applications that is gaining increasing attention for both research and industrial purposes.

This comprehensive tutorial teaches the basic concepts of controlling a robot using ros2_control and EtherCAT.

📚 Documentation

Full documentation is available at: https://icube-robotics.github.io/ecat_ros2_workshop/

📖 Tutorial Contents

SCARA Model

🚀 Quick Start

Required setup: Ubuntu 24.04 LTS and ROS2 Jazzy

Installation

  1. Install ROS2 Jazzy (installation guide)

  2. Source your ROS2 environment:

    source /opt/ros/jazzy/setup.bash
  3. Install colcon:

    sudo apt install python3-colcon-common-extensions
  4. Create and build workspace:

    mkdir -p ~/ros2_ws/src
    cd ~/ros2_ws
    git clone https://github.com/ICube-Robotics/ecat_ros2_workshop.git src/ecat_ros2_workshop
    rosdep install --ignore-src --from-paths . -y -r
    colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release --symlink-install
    source install/setup.bash

Docker Setup (Alternative)

For a containerized environment, see the Docker setup guide.

docker build --tag ecat_ros2_workshop:jazzy --file .docker/Dockerfile .
docker run ecat_ros2_workshop:jazzy ros2 launch scara_bringup scara.launch.py

📦 Repository Structure

ecat_ros2_workshop/
├── scara_description/      # URDF and robot description files
├── scara_hardware/         # Custom hardware interface implementation
├── scara_controllers/      # Custom controller implementation
├── scara_bringup/         # Launch files and configurations
├── scara_nodes/           # Additional ROS2 nodes
├── docs/                  # MkDocs documentation source
└── resources/             # Tutorial resources and images

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

For bugs and feature requests, please open an issue on GitHub.

📄 License

This project is open source. See the LICENSE file for details.

👥 Contacts & Maintainers

University of Strasbourg, France

Manuel Yguel - [email protected] | @yguel

Maciej Bednarczyk - [email protected] | @mcbed

For more information, see the full contacts page.


ICube      Asterion

Made with ❤️ by ICube Laboratory and Asterion Robotics

About

Workshop ressources for building and controlling a scara type robot using ros2_control and ethercat.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 43.3%
  • Python 32.1%
  • CMake 13.7%
  • C 8.5%
  • Shell 1.4%
  • Dockerfile 1.0%