Open source SW/HW for omni-wheel robot

Robot

Finally, my robot worked well as shown in this video.

Control omni-wheel robot remotely #robot
This project is supported by PCBWay.音楽: Urban Big Beatミュージシャン: AlexGuzURL:

PCBWay thankfully supports this project.

Summary

In short, my project can be reproduced by ordering the following PCBs from a PCB supplier such as PCBWay

, producing the 3D-printed parts

, writing the following codes to the omni-wheel robot and remote controller

, preparing harnesses, motors, omni-wheels, screws, nuts, and spacers (8mm).

I will write a bit more detail on HW / SW in the following sections.

Hardware

The picture of the hardware is as follows. The white PCB controller controls the black omni-wheel robot remotely.

Parts selection

The parts selection criteria are summarized in the following link.

Circuit

The circuit for the omni-wheel robot and the remote controller are published in the github link.

The following articles are about the guidelines for circuit design.

3D printed parts

The following is the picture of the actual part.

stl files are provided in the following links.

a think plate: stl file link
motor bracket: stl file link

The design and order process is summarized in the articles below.

Harness

I have created 3 harnesses to convert from the 1.0mm pitch JST SH connector to the 2.54mm pitch QI connector for motors as in the following picture.

Software

Omni-robot

The source code is written here.

The code feature is…

  • Establish a Bluetooth connection with the remote controller.
  • Move a robot according to the command from the controller.
  • Control frequency is 20Hz (cycle time is 50 ms).
  • Light up an LED when a command is received from the remote controller or a button is pressed.
  • Imu sensory data processing

Remote controller

The source code is written here.

The code feature is…

  • Establish a Bluetooth connection with the omni-wheel robot.
  • Transmit the data whether the buttons are pressed to the robot.
  • Control frequency is 20Hz (cycle time is 50 ms).
  • Light up an LED when any button is pressed.

Future improvement

Currently, the board has trouble booting up when the battery is connected through the red circle area though it succeeds when the USB cable is connected via the yellow circle place. This should be improved in the future version.

コメント