Skip to content
Bob Ding edited this page Jan 28, 2025 · 3 revisions

Dora is an open source project for building robot applcation. t supports multiple programming languages such as Python, Rust, C, and C++. It provides ready - made nodes and operators that developers can directly use in the YAML data flow. This reduces the writing of repetitive boilerplate code, facilitating the rapid prototyping of robots.

This is a list of projects of suggested for GSoC 2025.

Project #1: Robot Data Collection with Robot Arm

Description The primary objective of this project is to create an affordable robot kit, specifically designed around the Dora platform, and utilize it to establish a comprehensive robot dataset collection system. This system aims to gather robot data related to the robot's operation, which can be used for various applications such as robotics research, algorithm development, and machine - learning model training.

Expected Outcomes

  • The robot will be constructed using 3D - printed components made from low - cost materials. This approach not only reduces the overall cost of the robot but also allows for easy customization and modification. The use of 3D printing enables the creation of complex geometries tailored to the specific requirements of the data collection tasks.

  • A Mojoco robot model will be created based on the robot arm. Mojoco is a high - performance physics simulation engine that provides accurate and efficient simulations. By creating a Mojoco model of the robot, we can collect data from the simulated model. This simulated data can serve as a baseline or supplement to the data collected from the real robot, and can also be used for preliminary testing and algorithm development in a controlled virtual environment.

  • The system will be programmed to collect a variety of data from the robot, including the robot's joint angles, rotational speeds, and pose information. These data points are crucial for understanding the robot's movement patterns and can be used to develop accurate motion models.

  • Code will be written to interface with the robot's sensors and control systems to collect the relevant data. Additionally, the code will be integrated with the Mojoco simulation environment to ensure seamless data collection from both the real and simulated robots.

  • The Dora framework will be used to manage the data flow between different components of the system, including the real robot, the Mojoco simulation, and the data storage and analysis modules. It will also enable real - time monitoring and control of the data collection process.

Resources. An example of wrapping an existing C++ source class in Python

Skills required/preferred. Python, CAD, DORA

Difficulty rating. medium

Expected size: 350h

Mentors: bding AT dora-rs.org, huangyu AT dora-rs.org

Project #2: Improve Dora-Lerobot Demo

Description The Dora-LeRobot project is a fully integrated Dora pipeline designed for manipulating robots, cameras, and all hardware compatible with LeRobot. Its primary goal is to lower the barrier to entry in robotics, enabling everyone to contribute and benefit from shared datasets and pretrained models.

Recently, support for the SO-ARM100, a low-cost robotic arm, was added to Dora through its driver. However, there is currently no end-to-end tutorial available for using this arm. Tutorials and documentation are critical for making the project more accessible to new users.

The goal of this project is to develop a comprehensive Python-based tutorial for using the SO-ARM100 robotic arm with Dora-LeRobot, enabling users to easily get started and contribute to the ecosystem

Expected Outcomes

  • Fix issues and add missing code so that Dora-LeRobot can be run with SO-ARM100 successfully.
  • Write tutorials with documentation how to setup SO-ARM100 arm, use remote control to collect data, train policy and run inference.
  • Cover from basic(calibration, control arm) to advanced (training and inference) topics
  • Create video recording of the tutorials.
  • The Dora framework will be used to manage the data flow between different components of the system

Resources. An example of project in Python
https://github.com/dora-rs/dora-lerobot/tree/main
https://github.com/huggingface/lerobot

Skills required/preferred. Python, DORA

Difficulty rating. medium

Expected size: 350h

Mentors: bding AT dora-rs.org, huangyu AT dora-rs.org

Project #3: Enhancing Real-Time Debugging Capabilities in dora-rs with Rerun

Description Dora is an open source project for building robot applcation. t supports multiple programming languages such as Python, Rust, C, and C++. It provides ready - made nodes and operators that developers can directly use in the YAML data flow. Current debug messages can be opened from logs files. However it will be very helpful to use real time debug message. Rerun can be used as a debugging tool for dora-rs nodes, and it is possible to display debug messages in the Rerun window in real time, similar to how ROS debug messages are printed in the console. Rerun is designed for visualizing data streams, including logs, and it can be configured to display textual debug messages alongside other visualizations.

Expected Outcomes

  • Improve dora-rerun node to allow rerun viewer to collect each node real time debug message.
  • Display sensor data (e.g., LiDAR, camera feeds) alongside debug messages.
  • Visualize robot trajectories, arm poses, or other relevant data in the same window
  • The Dora framework will be used to manage the data flow between different components of the system

Resources. An example of project in Python
https://github.com/dora-rs/dora/tree/main/node-hub/dora-rerun

Skills required/preferred. Rust, DORA

Difficulty rating. medium

Expected size: 175h

Mentors: bding AT dora-rs.org, huangyu AT dora-rs.org