I gave up on using the OpenCM board and decided on a change of strategy. The reasons for this change are:

  1. The specific board I have seems to be faulty
  2. The board is just a microcontroller that can execute only very simple scripts. Thus, the “real” computation would require a PC anyway.

If I am not going to use the OpenCM board to control the robot, what options do I have? There are mainly two practical ways I could get to my goal of developing robot skills using machine learning on the robot. The first one is to equip the robot with a more powerful board, something like an Arduino or a Beaggle board. The benefit of this approach would be that everything is mounted on the robot, which makes it self-contained (sensing-acting-learning). The drawback is that programming these boards, while not very different to programming in a normal computer, presents some limitations (specially the Arduino that is a controller and not a “full” computer). Practically, it would be also a big change in the embodiment of the robot to mount a board like the ones commented.

The second option is to use my computer as “brain” for the robot. This requires connecting all sensors and motors to the computer. The benefit: I can program on my computer as I usually do. The drawbacks: it is not that nice (not all self contained on the robot) and I need several cables connecting the computer to the robot.

I decided to follow this last option. And given that I have to order some hardware I decided to also remove the batteries and power the robot directly from a AC/DC converter. I ordered:

  • a USB2AX dongle (https://www.generationrobots.com/de/401584-usb2ax-fur-dynamixel-servomotors.html)
    • This will be used to read/write to the motors of the robot
    • This dongle was developed to be connected and control a chain of dynamixel AX motors, but it can be used also in a chain of dynamixel XL 320 motors (the ones on the Robotis Mini) just by using the right cable connector (the cables are similar with a +V, -V and Data channels)
  • a 6 Port AX/MX Power Hub (https://www.generationrobots.com/de/402302-power-hub-6-ports-ax-mx.html?search_query=6+Port+A
    • This will be used to 1) connect an AC/DC converter that will provide power to the motor chain, and 2) as hub to connect several motor chains to the USB2AX
  • 3P 190 mm Cables for XL Servos and cables 3 pins 100 mm for Bioloid and Dynamixel
    • I will modify the cables to have AX connection-XL connection so that I can connect the motor chains of the robot (XL) to the power hub (AX). From the hub to the USB2AX I will connect using a normal AX-AX cable
  • A regulable AC/DC converter for 7 VDC

In the next post I will explain the steps to 1) connect the robot to the computer directly, and 2) power the robot with the AC/DC power (no need of batteries!)