Hey guys,
this is Roboceratops, my Robot Dinosaur.
Inspired by a childhood love of dinosaurs, I wanted to try and make a member of the ceratopsian group.
And to attempt to give the feel and personality of a juvenile dinosaur.
I have been working on this project for almost a year, as and when time and money allowed.
It is still a work in progress, with a few kinks to iron out. Here’s what I have so far.
Code:-
I have implemented full Forward and Inverse Kinematics, which runs at around 60 cycles/sec.
Its movements are limited by the 2 Degree of Freedom front legs.
These limit the body translations to X (forward/back) and Z (height).
It also means that the point of rotation for yaw is located between the front legs.
I am attempting to code the locomotion, however it does feel like trying to teach a toddler to walk
as it does like to tumble over. The limitation of the front leg also effects the locomotion,
it is unable to strafe, and it also has a point of locomotive rotation located between the front legs,
which essentially makes the robot rear steer.
Mechanics:-
The Robot currently has 14 Degrees of Freedom using the following;
Jaw - 1x 9g Servo
Neck - 2x Hitec HS 55
Tail - 1x Hitec HS 645 MG
Front Legs - 2x Hitec HS 645 MG ea
Rear Legs - 3x Hitec HS 645 MG ea *Probably needs HS 5645 MG’s or better
The head and body are made from laser cut MDF, 3 and 6mm respectively.
The legs are made from aluminium square bar, and are covered with upholstery foam to add volume to the limbs.
Electronics;-
Robot:
2x Pololu Mini Maestro 12-Channel Servo Controllers *could be replaced with a single 18-Channel Version
Currently these are the only electronics on the robot.
They are receiving servo position commands over serial cable from the controller.
As well as power from an external power supply.
I intend to add more to the robot, things to do include;
An on-board micro-controller - giving the option for autonomous behaviours,
Battery - Removing the need to be tethered for power.
Wireless Communication - either Zigbee or Bluetooth.
IMU - to add extra dynamic stability with a PID feedback loop.
Pressure/Contact detection in the feet - for dynamic locomotion.
Controller:
1x Arduino Mega 2560
1x 128x64 Graphical LCD
2x 3-axis Analogue Joystick
I intend to add more to the controller, things to do include;
Wireless Communication - either Zigbee or Bluetooth.
SD Card - store different programs and record and playback behaviours/routines.
IMU - to add extra control options.
Battery - increase the portability and ease of use.
Hopefully more to come soon…