Close
0%
0%

Eurobot Competition - Edog Robot 2023

Open-Source Eurobot Competition Robot: ROS2 Code for Raspberry Pi 4 with Detailed Documentation in Progress

Public Chat
Similar projects worth following
250 views
0 followers
This robot has been designed to compete in the Eurobot competition 🏆

This project page offers non-exhaustive documentation detailing the creation process and code development. It features comprehensive articles discussing various topics related to the robot's research and development, all aimed at enabling optimal performance in the competition🤖

The code is fully open-source and has been developed using ROS2. It emphasizes compatibility with Raspberry Pi 4 to ensure seamless execution 🧠

Articles you will find here:

  • 1 × ODRIVE V3.6 ODrive v3.6 24V
  • 2 × Brushless Motor Aerodrive SK3 350kv Aerodrive SK3 - 4250-350kv
  • 1 × Rapsberry Pi 4 Rapsberry Pi 4 8go
  • 1 × Lidar A2M12 RPLIDAR A2M12 Slamtec
  • 1 × Servo Motor Driver PCA9685 16 Channel 12-Bit PWM Servo Motor Driver

  • Robot Random motions

    Gaultier Lecaillon11/11/2023 at 09:01 0 comments

  • Avoidance Using RPLIDAR A2M8

    Gaultier Lecaillon09/05/2023 at 10:23 0 comments

    The RPLIDAR A2M8 by Slamtec is a versatile and compact LIDAR sensor commonly employed in robotics for navigation and obstacle detection.


    LIDAR, which stands for Light Detection and Ranging, operates by emitting laser beams and then measuring the time it takes for those beams to return after reflecting off objects. This allows the RPLIDAR to generate a 360-degree map of its surroundings, effectively giving the robot a bird's eye view of its environment. When incorporated into a robot's control system, this data can be used to identify and avoid obstacles in real-time. The rapid scanning capability of the RPLIDAR A2M8, along with its high resolution, ensures that the robot can react promptly to any obstructions, be they static or moving. 

    By integrating the RPLIDAR A2M8's data with path planning algorithms, robots can smoothly navigate through complex environments, avoiding collisions and ensuring efficient and safe operation.



    At first, we utilized a defined angle in front of the robot. If any obstacle was detected within this zone, we would halt the robot. However, this technique resulted in many blind spots and unnecessary stops. We now prefer to observe the area in front of the robot using a rectangular shape

  • Pick up & Unstack Routine Demo

    Gaultier Lecaillon07/25/2023 at 13:06 0 comments

    Here's a brief demonstration of the routine designed to pick up and unstack the three distinct layers according to their color codes.

  • Making custom wheels

    Gaultier Lecaillon05/28/2023 at 01:10 0 comments

    Requirements


    Having established our "motors block" we now need a suitable wheel. Our requirements for this wheel are as follows:

    • The Diameter
      Given that the rotation axis is 29mm high, the aluminum chassis is 3mm thick, and the desired ground clearance for the robot is 7mm, we require a wheel that is exactly 78mm in diameter.

    • Thickness

    The Eurobot rules stipulate a maximum perimeter for the robot, which permits us to have a wheel thickness between 25 and 30 mm.

    • Grip

    A good grip is vital for success in the competition. As our goal is precise movement, minimizing drift is essential to guarantee accurate position estimation without offsets. We are particularly interested in wheels with a hardness of 40 to 50 Shore. This specification aligns with softer options like silicone or polyurethane wheels.

    • Mounting Hole

    The output shaft has a diameter of 8mm, making it compatible with an M3 screw.


    Conclusion

    Taking into account all these requirements, we quickly recognized that finding such a specialized component in the market is nearly impossible. As a result, we concluded that designing and manufacturing our own wheel is necessary.

  • Mobile base - Brushless x Odrive Board

    Gaultier Lecaillon05/28/2023 at 00:45 0 comments

    Context

    The mobility concept for the robot involves the use of two centrally located wheels and four height-adjustable pads at the corners of the chassis for stability. This arrangement facilitates smooth rotations without altering the robot's x and y position within its environment.

    Objectives

    Our primary goal is to construct a robot that exhibits exceptional precision in its movement. It is essential for us to consistently know the robot's exact position in terms of x and y coordinates, as well as its theta (orientation). We aim for an accuracy of 1mm, which will enable precise actions during matches.

    Motorization

    We are utilizing two Brushless Motors (Aerodrive SK3 - 4250-350kv) coupled with a 10:1 planetary gear (originally designed for NEMA 17 stepper motors). This setup offers us an optimal balance of torque and speed.

    For closed-loop motor control, a mount is used to join the motor to the reducer, with an encoder integrated into the assembly.

    (This design was inspired by Skyentific)


    Odrive

    Both motors and encoders are directly connected to an Odrive 3.6 board. This advanced board enables fine-tuned control of the robot's movement. We can adjust parameters such as PID, acceleration, deceleration, velocity, and more, to achieve precise motion control. Furthermore, real-time feedback from the encoders can be broadcast on a ROS2 topic and utilized by our Python code.

    All these aspects will be handled on the operating system side, empowering us to transmit dynamic commands to the robot based on sensor feedback, like from the LiDAR, enabling features such as obstacle avoidance."


    Motion Demo with Odrive 3.6

View all 5 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates