Skip to content

Line follower, platooning, sensor fusion with DroidControlSystem and etc.

License

Notifications You must be signed in to change notification settings

BlueAndi/RadonUlzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

1be5450 · Oct 29, 2023
Oct 29, 2023
Oct 29, 2023
Feb 4, 2023
Oct 29, 2023
Sep 9, 2023
Mar 3, 2023
Jun 19, 2023
Oct 29, 2023
Feb 4, 2023
May 6, 2023
Apr 13, 2023
Oct 5, 2023
May 7, 2023
May 8, 2023
May 8, 2023
Oct 29, 2023

Repository files navigation

Radon Ulzer - Firmware for Zumo32U4

License Repo Status Release Build Status

A robot as fast as the famous pod racer driven by Anakin Skywalker with the powerful engines from Radon Ulzer. :-)

Several kind of exclusive applications are available:

  • Convoy leader - A line follower, providing information to the DroidControlShip in a convoy leader role.
  • Line follower - Just a line follower, using a PID controller.
  • Remote Control - The robot is remote controlled by e.g. the DroidControlShip in a convoy follower role.

Table of content

The robot

The main target of the firmware is the Pololu Zumo32U4 robot (see https://www.pololu.com/category/129/zumo-robots-and-accessories) from Pololu.

deployment

The simulation

The simulation is based on the open source robot simulator Webots. The application and the services are equal to the target firmware. Only the HAL is different in the simulation.

Installation

  1. Install Webots.
  2. Setup for external controllers:
    1. Set environment variable WEBOTS_HOME to installation directory of Webots.
    2. Add to path:
      • Linux: ${WEBOTS_HOME}/lib/controller
      • Windows: %WEBOTS_HOME%\lib\controller
  3. Install the native compiler toolchain:
    • Linux: Install the gcc toolchain, depended on your distribution.
    • Windows: Install the MSYS2 toolchain and follow the instructions there.

The Webots library

To adapt the HAL to the simulation, some sourcecode files from Webots are necessary. Currently there is no Webots library in the platformio registry available. Therefore a local library is created during the build. Ensure that that Webots is already installed, before you try to build it!

The library creation is handled in the ./scripts/create_webots_library.py script and runs automatically after building for the WebotsSim environment.

Build

Platformio project tasks --> WebotsSim --> Build

Preparation

  1. Start the Webots simulation.
  2. File --> Open World
  3. Select webots/LineFollower_track.wbt.
  4. The loaded world should now look like this: webots_world
  5. Open a command line (shell) and change to the folder with the built executable in .pio/build/native. This folder contains all necessary shared libraries as well.
  6. Start the executable and the simulated display should show the name of the team and etc.

Running the robot on track

  1. Click in simulation on the display to focus the simulation.
  2. Now the keyboard keys a, b and c can be used to control the robot according to the implemented application logic.

Documentation

Used Libraries

Library Description License
Zumo32U4 library Provides access to the Zumo32U4 hardware. MIT
SerialMuxProt Multiplexing Communication Protocol MIT

Issues, Ideas And Bugs

If you have further ideas or you found some bugs, great! Create a issue or if you are able and willing to fix it by yourself, clone the repository and create a pull request.

License

The whole source code is published under the MIT license. Consider the different licenses of the used third party libraries too!

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, shall be licensed as above, without any additional terms or conditions.