Robotics

Relevant projects for robotics.

Markus Bordihn

This page documents robotic relevant projects, prototypes, design, construction, testing. This includes embed systems for their control, sensors and information processing.

Prototyping

To make sure every part of the Open Source Robot works as it should I created some prototypes for testing and reference reasons. I hope you understand that I will not share every detail of these prototype.

Robotic arm

This is my first prototype of an basic robotic arm which was 3D printed with my Zortrax M200.
The robotic arm has 4 micro servos for the arm itself and 1 racing servo to rotate the arm.
An Arduino controls the servos and the written software makes sure that none of the servos go outside the safe range.
I build this mainly to understand the mechanics and to see if some of the parts get stressed then others.

The video shows the servos with 80% speed, so they could be faster, but then the vibrations would be to much for the end usage.

Control 14 servos over an single I2C bus

For the final robot design I need a lot of servos, so I tested several ways to control servos.
The most efficient way was to use the I2C bus of the Arduino and an separate board with take care of the signal with an built in clock and to provide additional power.
The Arduino has only a few PWM port so it would not be possible to directly connect them and the Raspberry Pi on the other hand is to slow to provide an precise PWM output.
Furthermore the Arduino and the Raspberry Pi are not able to provide the needed power (up to 2.4A) to power all servos at once.

The video shows the control of each single connected servo over the I2C bus.

128x64 Oled LCD over I2C bus

Instead of having some mechanical eyes for the robot I want to have two separate LCDs as eyes which allows more possibilities. The Oled LCDs are connect over the IC2 bus and could be controlled completely separate over their dedicated address.
The speed was fine for the use case, but you are very limited compare to an LCD on an Raspberry Pi.


The video shows an synchronization test to see if you will notice any lag between the two displays for the different operations.

Ultrasonic sensor, RGB LED and 360 servo

This setup shows the technical parts for an basic robot directly connected to an Arduino Uno.
The two servos are 360 servos, which mean you could control exactly the speed or the angle they should move.
The LED is an RGB LED which could light in different colors, depending on the inputs.
At least this setup also includes an standard ultrasonic sensor for detecting the distance.

The video shows that as soon the distance before the ultrasonic sensor is too short that the servos stops and the color of the LED changes.