project specification

Spyndra Robot

Spyndra is a quadruped robot for studying machine self-awareness. Utilizing minimal proprioceptive sensation to track its internal motor commands and record its own orientation and acceleration, the robot can learn about its physical form. The robot has eight motors, an IMU, and runs Raspberry-PI 3. It requires non-intuitive motor commands in order to locomote, and thus provides an interesting challenge for gait learning algorithms. It is self-aware to the degree it can simulate itself, and that self-simulation is essentially the ability to predict sensations from actions.

Specifications

Height264 mm
ControllerRaspberry Pi 3 + AdafruitServo Hat
Motors8 Power HD 1501MG
BatteriesLi-Ion
SensorsBNO055 IMU
Costs$ 600

Overview

The robot has eight motors, an IMU, and runs Raspberry-PI 3. It requires non-intuitive motor commands in order to locomote, and thus provides an interesting challenge for gait learning algorithms. It is self-aware to the degree it can simulate itself, and that self-simulation is essentially the ability to predict sensations from actions. 

The robot has eight high-torque metal gear analog servo motors (Power HD 1501MG) which directly drive each joint of the robot. The two-pronged femurs support both sides of the motors to prevent load paths orthogonal to the motors intended axis of motion. This design principle maximizes servo life and improves Spyndra’s overall robustness. The motors slide effortlessly into place in both the chassis and tibia, and are connected to the femur using standard servo horns. This direct drive, as opposed to Aracna’s linkage system, results in lowfriction/low hysteresis motion that can be more accurately represented in simulation 

Spyndra is powered by two batteries and can function as an untethered robot. The onboard controller (Raspberry Pi 3) can either be programmed to execute autonomous programs upon booting, or receive commands wirelessly via USB, Bluetooth, or SSH protocol. The robot can run for about twenty minutes on one charge, and extra Lithium polymer batteries for the servo motors can be added to increase lifespan.

Camera

Spyndra uses a small Raspberry Pi-compatible camera. The camera interfaces with Spyndra’ssoftware by using the Raspicam commands native to the Raspberry Pi. The visual information from the camera, is connected with deep learning networks, which enable capabilities like object recognition and the ability to obtain depth information, and ultimately finding waypoints for path planning.

IMU

The robot's Inertial Measurement Unit (IMU) is used for measurements of acceleration, rotation, and magnetic orientation each along three dimensions and provides primary feedback for gait generation. The IMU provides a variety of information, such as the position, velocity, and acceleration. The IMU is placed in the geometric center of the chassis so it collects the most inertially relevant data. The output from the IMU can be used to train Spyndra’s algorithms to improve its ability to learn to walk.

References

Describes the background of the project, similar work, it's hardware design,gait generation software, and IMU dataset. Discusses the simulation model and machine learning.

Ori Kedar, Christie Capper,Yan-Song Chen, et al.

Code for the Spyndra autonomous gait generation robot from the Creative Machines Lab Robot is meant to autonomatically create and run gaits Based off IMU data, the robot learns high quality from low quality gaits, and eventually generates the best gait through reinforced machine learning.

https://github.com/Yonahel/Spyndra

Contains the bill of materials, STL files, CAD files, Raspberry Pi Software setup instructions, and data analysis.

https://www.creativemachineslab.com

Video instructions on how to assemble the Spyndra robot.

https://www.creativemachineslab.com