Software > Software

Acceleration sensor


I was given a task to increase the positioning accuracy(drive in straight line) of a mobile robot by adding an acceleration sensor(ADXL210E). It uses an Atmega32. Any idea how should i go about with this?

I suspect you're going to find that you can't get enough resolution out of a 10g accelerometer to accomplish what you want to do.

The obvious answer is to mount the sensor in the robot, and start making runs, logging the sensor data to something. Induce turns in the robot, and see what output you get. If you notice a correlation between the robot turning and sideways acceleration, then you can probably write something simple that provides feedback on how much the sensor believes the vehicle is going off course.

Of course, its much simpler to use odometry encoders to go in a straight line...

- Jon

what sensors do you have already?

if you have multiple sensors, you will need to use some form of dead reckoning and/or kalmen filter . . . or at least a PID controller . . .

but as JonHylands said, it wont be very accurate. can you use a 2g or 3g accelerometer? a 1g accelerometer still might not be accurate enough for this though . . . you can probably amplify the signal strength by locating the sensor as far away from the bots' center of rotation.

other probs . . .
if your robot is on bumpy terrain, the accelerator sensor will 'wack out' . . .
if the terrain is unlevel (in other words, gravity changes direction), your sensor will get confused . . . you will have to eliminate all this noise

accelerometers are the wrong sensor to control straight line motion . . . i think a gyro (which detects robot rotation) will be much better for this job . . . or at least an encoder for both wheels . . .


[0] Message Index

Go to full version