1. Select a serial communications library for Python and install it. As an example PySerial works well.

  2. Serial communications under Ubuntu require some permission adjustments.
    Run these commands:

    sudo usermod -a -G tty robot
    sudo usermod -a -G dialout robot

    and then log out and in. Without this, opening a serial port won’t work without sudo permissions.

  3. Open the cloned repository in your IDE.

  4. Use motion.py as an example and create the class OmniMotionRobot that implements the IRobotMotion interface.

    1. Create the new class OmniMotionRobot that extends IRobotMotion.

    2. Add implementations for the open and close methods. Use TurtleRobot as an example. Consider that you should be able to define what port the serial connection should be created for.

    3. Define a new method for sending commands to the mainboard over serial. Refer to Test robot page for a detailed explanation of the command structure and how to assemble a command.

    4. Test your code to validate that you can connect to and disconnect from the mainboard.

    5. In case of issues, debug and ask instructors for help.

    6. Connect the mainboard to the computer and check that the mainboard is wired to a motor driver correctly. It should be able to control motors.

    7. Use your created functionality to control the motors. Tell the motor to spin with a speed of 20 and after 2 seconds, reverse its direction.

  5. Show your progress to an instructor.

  6. If everything works, you can continue to the next step. In case of issues, consult with instructors.