Let's Make Robots!

Balance Robot using DAGU 6WD

Balance on two Wheels

This is the first prototype of the Balancing Robot. In this version , I used two sharp sensors to control the motors.this is as first step till the IMU comes from sparkfun. I used Kalman Filtering to reduce the sensors noise. The PID parameter still need more tuning. i will upload the video after finishing the fine tuning.

this picture is for the Geared motor with ratio 34:1 and the rubber tyres.

the following picture is for the sharp sensor. I used 80cm type.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

The gearbox ratio did not affect this. Usually lower gearbox ratio gives higher wheel speed. i think you can solve this problem by reducing the PWM frequency. This will give more time to the motor to release the kinematic energy inside it. I m not sure that you can change the PWM frequency in Arduino platforms. 

it is about 1.5kg . at a height of about 35cm from the motors shaft. The torque will be (53 kg.cm). So each motor should be at least (27 kg.cm)

the 1:34 is (4kg.cm) and the 1:75 is (8kg.cm)

I think larger motors should be used.

I order 2 brushless motors but I m not sure if they are suitable for this gearbox! It can run up to 20000rpm

I put the battery at the top of the platform. the stability is a bit better but both of the motors stop working after about 15 minutes. it is appearant that these motors can not handle this weight...i must buy larger motors or use the 75:1 gear box


How heavy is the battery? The output shafts on the gearbox do not have ball bearings and are not intended for heavy loads. The 75:1 gearbox would be worse because it is slower and there is more backlash.

Speaking about gearboxes: We currently use the 75:1 one and found that it is hard to drive the motors slowly with this gearbox, as the motor only starts spinning only when over 3V (e.g. ~50% PWM) or so are applied even in free run. Is the 34:1 version better in this regard?

I could not record a clear video. i will try again tommorrow hope to get better results.

The PID controller should have the rate of change in the D part. the input is only the sharp sensors reading which represents inclination angle. 

i think the total weight is larger than the motors ability. i removed the battery from the body and connect it with long wires. i got some improvemnt. but still not very stable. maybe i should change the SLA battery to lipo battery. 

Possibly but the idea of an inverted pendulum is that the more weight up top the more stable it becomes. I think your code is the problem. Are you taking rate of rotation into account?

Post a video so we can see what's happening.

Actually inverted pendullum robots have their battery at the top to provide maximum stability.

Mount your battery higher but put some padding around it so it doesn't get damaged if the robot falls.

The ratio is 34:1

The battery is the heaviest part of the body. Maybe I should fix it at lower height.

 At this time I m using the inclination angle only as the input to the control algorithm. I know it is not enough; better algorithm should use Acceleration and Gyro sensors and maybe the tacho on the wheels to stabilize the movement. However, I expected better results for the current configuration.