Message Boards Message Boards

[WSS18] Machine Learning to optimize Robotic Snake gait motion.

Posted 6 years ago

Snake Robot and Pully

Introduction

The aim of this project is use Machine Learning to Optimize the movement of a Snake Robot.

RIght now we use the BaysianMaximization Function In Mathematica to explore the space of Phase offsets and Amplitudes to see how this affects performance of the Robotics Snakes movements

YouTube Video of Snake in Motion

Hardware

Snake

This is a 2 Dimensional Snake Robot that has flexible couplings between each joint so It can rest flat on the surface. There are 8 segments, made using 40mm x 40mm x 20mm metal gear High Torque Servo's that come with the Roboterra Origin™ Robotics Kit and powered by the RoboCore Board.

The is constructed from laser cut MDF, press fit passive fidget spinner / Skateboard Bearings 608zz 8mm x 22mm x 7mm. The design is done in OpenSCAD and done is a Japanese wood working style, and doesn't use screws, glue or fasteners except for the RC Servo Hub.

Design Files here. https://github.com/johnsokol/OpenSCAD-misc-projects/tree/master/RCservo-snake

Pulley

The Pulley System

The Pulls consists of an RC Hobby Servo and an optical switch that senses a lever position that moves based on the tension on a string and release more strings as needs till the end of it's travel, just over 8 inches. It then can retract the snake back to a "HOME" Position to restart the next trial.

Measuring Fitness

The fitness of the trial is measured by taking the slope of distance / time. A full run is 20 seconds. If it's reaches the end of the 8 inch travel the time is stopped and reset for the next trial. If it fails to move over some small amount the trial is terminated and results are returned with whatever travel was made.

Control

The communication between robot and Mathematica is done via 2 serial ports in the RoboCore board. The Snake itself is controlled by 2 RoboCores over one USB Serial Interface. The 2 cores are connected VIA I2C interface.

Movement

Snake Kinematics *note1

The snake moves using passive wheels and diagonal friction against the surface created by lateral undulation, currently these are done using a Sine wave, future versions will use more complex patterns.

Conclusion

https://github.com/johnsokol/WolframSummer2018Project

Note1: *Image from Locomotion Efficiency Optimization of Biologically Inspired Snake Robots: Eleni Kelasidi, Mansoureh Jesmani , Kristin Y. Pettersen and Jan Tommy Gravdahl ,*

POSTED BY: John Sokol
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract