-
Notifications
You must be signed in to change notification settings - Fork 112
GSoC_2025
Dora is a dataflow-based, low-latency middleware designed to revolutionize the development of robotic applications. In the field of robotics, where efficiency and speed are crucial, Dora stands out by supporting multiple programming languages, including Python, Rust, C, and C++. This multi-language support enables developers from diverse backgrounds to contribute and innovate.
The following is a list of projects suggested for GSoC 2025. These projects aim to further expand Dora's capabilities, enhance its usability, and contribute to the growth of the global robotics community.
Description The robot data collection is expensive and hard to manage. The primary objective of this project is to create an end to end tutorials with affordable robot kit, specifically designed around the Dora platform, and utilize it to establish a comprehensive robot dataset collection system. This system is designed to facilitate the collection of data, which can be used for various applications such as robotics research, algorithm development, and model training.
Expected Outcomes
- Designing and 3D printing the robot components. 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. This can be done with help from other open source projects such as Koch robot arms.
- Creating the Mojoco robot model. 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.
- Implementing data collection nodes in Dora. The system will be programmed to collect a variety of data from the real robot, including the robot's joint angles, rotational speeds, and pose information. The data format will follow the ARIO unified data format.
- Integrating with the ARIO unified data format. the code will be integrated with the Mojoco simulation environment to ensure seamless data collection from simulated robots.
- Create tutorials and documentation that will help the community replicate the data collection system.
- dataset collected will be shared within the open source community.
Resources.
https://imaei.github.io/project_pages/ario/
Skills required/preferred. Python, CAD, DORA
Difficulty rating. medium
Expected size: 350h
Mentors: bding@dora-rs.org, huangyu@dora-rs.org
Description In robotics education, a gap often exists between theoretical knowledge and practical application. Dora-Lerobot bridges this gap by integrating hands-on learning with AI-powered, pre-trained models. Its primary goal is to lower the barrier to entry in robotics, enabling everyone to master end-to-end control.
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 improve the 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.
- Writing detailed setup and usage tutorials.
- Implementing code for calibration, control, training, and inference.
- Creating video tutorials and improve based on community feedbacks.
- Creating test plan for user testing to ensure the tutorial is easy to follow.
Resources.
https://github.com/dora-rs/dora-lerobot/tree/main
https://github.com/huggingface/lerobot
Skills required/preferred. Python, Rust, DORA
Difficulty rating. medium
Expected size: 350h
Mentors: shavtao@gmail.com, bding@dora-rs.org
Description Currently, debugging Dora nodes has several limitations. There's limited real - time visibility as debug messages are only accessible from log files, forcing developers to halt the robot application, access and analyze logs, which is time - consuming and lacks real - time insights. There's also a lack of integrated visualization, making it hard to correlate debug messages with sensor data processing like LiDAR or camera feeds, and thus difficult to determine if issues in object detection are due to sensor data or the algorithm. Additionally, the absence of a unified real - time debugging solution leads to a fragmented debugging experience, with developers relying on multiple tools and techniques, making it more challenging to identify and fix issues efficiently.
Expected Outcomes
- Improving the dora-rerun node to collect real-time debug messages. Improve dora-rerun node to allow rerun viewer to collect each node real time debug message with python or rust.
- Displaying sensor data processing examples. Create sensor data processing(e.g., LiDAR, camera feeds) python or Rust example code and documentation to show how to use debug messages.
- Visualizing robot trajectories and arm poses. Rerun will be used to visualize robot trajectories, arm poses, or other relevant data in the same rerun window and how to setup with detailed tutorials.
- Creating detailed tutorials. Create detailed tutorials on how to set up Rerun for debugging Dora nodes. This makes it easier for developers, especially those new to Rerun or Dora, to start using this debugging tool effectively.
Resources.
https://github.com/dora-rs/dora/tree/main/node-hub/dora-rerun
Skills required/preferred. Rust, DORA
Difficulty rating. medium
Expected size: 175h
Mentors: shavtao@gmail.com, bding@dora-rs.org
Description Dora currently lacks a library for UR5 robots, which are widely used in schools. This project aims to extend Dora’s capabilities by adding support for Universal Robots’ UR5 collaborative robots. The primary focus is to develop UR5 library within the Dora framework. This library is designed to offer control over UR5 collaborative robots (cobots). By doing so, it will empower developers to more effectively integrate and utilize Dora in combination with their existing assets, opening up new possibilities for seamless robotics development and enhanced productivity.
Expected Outcomes
- Developing the Rust library for UR5 control. A well-documented, efficient, and effective Rust library that interfaces with UR5 cobots through Dora.
- Integrating with URSim. The project will include an implementation that demonstrates control of the UR5 robot model and its gripper within the URSim virtual machine environment.
- Porting the test_move example to Rust. A Rust version of the test_move example (originally in Python) will be developed, providing a concrete demonstration of how to use the library with Dora.
- Creating comprehensive documentation and tutorials. Comprehensive documentation and usage tutorials that guide developers on UR5 support within their robotics projects using Dora.
Resources.
(https://github.com/UniversalRobots/Universal_Robots_ROS_Driver/blob/master/ur_robot_driver/scripts/test_move)
https://github.com/dora-rs/libfranka-rs. for reference on interfacing with robotics hardware using Rust
Skills required/preferred. Rust,C++, Python, DORA
Difficulty rating. hard
Expected size: 350h
Mentors: bding@dora-rs.org, shavtao@gmail.com