Legacy Forum: Preserving Nearly 20 Years of Community History - A Time Capsule of Discussions, Memories, and Shared Experiences.

UFOBOT - Heavy duty self balancing research robot

RoboSavvy distributes and manufactures robots. This forum is dedicated to robots and other bits designed or manufactured by RoboSavvy and robot software developed by RoboSavvy.
5 postsPage 1 of 1
5 postsPage 1 of 1

UFOBOT - Heavy duty self balancing research robot

Post by limor » Tue Sep 11, 2012 10:56 pm

Post by limor
Tue Sep 11, 2012 10:56 pm

We realized that what the world needs is a self balancing robot that can take on heavier loads like a laptop, big battery and kinect.

Image

Some CNC cutting of HDPE plastic..
Image

Image
Image

Basic structure ready for initial testing..
Image
We realized that what the world needs is a self balancing robot that can take on heavier loads like a laptop, big battery and kinect.

Image

Some CNC cutting of HDPE plastic..
Image

Image
Image

Basic structure ready for initial testing..
Image
limor
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1845
Joined: Mon Oct 11, 2004 1:00 am
Location: London, UK

Post by xevel » Mon Sep 17, 2012 1:43 am

Post by xevel
Mon Sep 17, 2012 1:43 am

Haha, you finally got down to it :)

That's great, good luck !
Haha, you finally got down to it :)

That's great, good luck !
xevel
Savvy Roboteer
Savvy Roboteer
Posts: 74
Joined: Sun Mar 27, 2011 6:37 pm

Post by limor » Mon Sep 17, 2012 9:05 pm

Post by limor
Mon Sep 17, 2012 9:05 pm

Thanks xevel ! :D

wheels designed, CNC'd and assembled..

Image
Thanks xevel ! :D

wheels designed, CNC'd and assembled..

Image
limor
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1845
Joined: Mon Oct 11, 2004 1:00 am
Location: London, UK

Updates

Post by Cláudio Brito » Mon Aug 26, 2013 4:13 pm

Post by Cláudio Brito
Mon Aug 26, 2013 4:13 pm

Electronics and 2nd floor added.We are using an arduino mega as microcontroller plus additional electronics such as motor driver, accelerometer and gyroscope.
Electronics and 2nd floor added.We are using an arduino mega as microcontroller plus additional electronics such as motor driver, accelerometer and gyroscope.
Last edited by Cláudio Brito on Tue Aug 27, 2013 5:27 pm, edited 1 time in total.
Cláudio Brito
Newbie
Newbie
Posts: 2
Joined: Sun Aug 25, 2013 5:05 pm

Updates (cont.)

Post by Cláudio Brito » Tue Aug 27, 2013 5:27 pm

Post by Cláudio Brito
Tue Aug 27, 2013 5:27 pm

Image
Image

We have instaled one low cost optical encoder inside the motor. This is how the signal looks like at 92 rpm:

Image

Image

We intend to add 3 more so we can achieve a resolution around 1200 counts per revolution. This will allow us to do a precise speed control at low speeds.
Other approaches were made:
1. Magnetic encoder inside the motor using hall effect sensor plus the original encoder magnet;
2. Optical encoder mounted on the wheel;

- Option 1 resulted in a very inconstant signal, probably due to interference of the motor magnetic field;
- Option 2 worked but was not the most robust alternative since any oscillations or dust in the sensor would result in bad performance. Also had a limited resolution;

This is the analog comparator circuit used for the encoder:
Image

About the software...
A Kalman filter was implemented to filter and combine information from the gyro and the accelerometer to obtain a good angle estimation.
The first approach used to achieve balance was a PID controller based on a static equilibrium angle and the current angle. This was a very limited approach since
any change on the center of mass would cause the robot to fall, but this first simple step was fundamental to see the controller behavior on the easiest case.

So far, this is how it behaves:
phpBB [media]


A more general algorithm is currently being developed, so the robot can learn by himself the equilibrium angle.
Image
Image

We have instaled one low cost optical encoder inside the motor. This is how the signal looks like at 92 rpm:

Image

Image

We intend to add 3 more so we can achieve a resolution around 1200 counts per revolution. This will allow us to do a precise speed control at low speeds.
Other approaches were made:
1. Magnetic encoder inside the motor using hall effect sensor plus the original encoder magnet;
2. Optical encoder mounted on the wheel;

- Option 1 resulted in a very inconstant signal, probably due to interference of the motor magnetic field;
- Option 2 worked but was not the most robust alternative since any oscillations or dust in the sensor would result in bad performance. Also had a limited resolution;

This is the analog comparator circuit used for the encoder:
Image

About the software...
A Kalman filter was implemented to filter and combine information from the gyro and the accelerometer to obtain a good angle estimation.
The first approach used to achieve balance was a PID controller based on a static equilibrium angle and the current angle. This was a very limited approach since
any change on the center of mass would cause the robot to fall, but this first simple step was fundamental to see the controller behavior on the easiest case.

So far, this is how it behaves:
phpBB [media]


A more general algorithm is currently being developed, so the robot can learn by himself the equilibrium angle.
Cláudio Brito
Newbie
Newbie
Posts: 2
Joined: Sun Aug 25, 2013 5:05 pm


5 postsPage 1 of 1
5 postsPage 1 of 1