This is an ambitious project in 3 phases:
-
Create an Arduino library to control the MAX – this involves reverse engineering the Meccano protocol to communicate with the MAX smart components eg, locomotion, servos, facial expressions, etc.
-
Use HiCAT Livera to convert MAX into a Computer Vision-based robot – HiCAT Livera is an inexpensive machine vision platform for robotics. It consists of a camera, an embedded Linux platform and a Arduino Leonardo compatible microcontroller in a small package. It is the latter that allows the use of the Arduino library developed in Phase 1 to perform low level control of the MAX.
-
Control MAX from the Cloud – instead of controlling MAX using the HiCAT Livera embedded Linux, the video to streamed to a container running machine vision/deep learning framework in the cloud.
Components
The components used in each phase are listed below:
Phase 1:
-
A Meccano MAX Robot
-
An Arduino UNO (could be replaced by the HiCAT Livera, I started the project using a UNO)
-
A 5V power supply (or the rechargeable battery that comes with MAX)
-
Some jumper wires
Phase 2:
-
A Meccano MAX Robot
-
A HiCAT Livera board
-
A Livera Motor Driver
-
Power onnector
-
Some jumper wires
Phase 3:
-
Everything in Phase 2
-
A private cloud built using Red Hat Openshift running on a notebook
Phase 1
Although the Meccano site provides a Smart Module Protocols document, an Arduino library and an example project, they are all out-of-date and usable only versions of the Meccano Meccanoid Robots. To use the MAX’s components such as the motors, face LED screen, etc., the extended protocol has to be reverse engineered. I started my collaboration with “bmd1103” on the Arduino Forum some time ago on the subject. The reverse engineered information, although by no means complete, is in a usable state to control the MAX.
The Meccano protocol is a weird one. It uses an async like protocol with start/stop bit and a high and low to represent 1 and 0 in one place and long/short pulse width to represent 1 and 0 elsewhere. And the check sum is calculated differently depending on the device!
The video shows an Arduino UNO controlling the motors, servos (head and claw) and the face expression virtually at the same time.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.