Static stability by accelerometer

Anything that doesn't fit our other forums goes here.
13 postsPage 1 of 1
13 postsPage 1 of 1

Static stability by accelerometer

Post by Ray » Thu Oct 30, 2008 12:17 pm

Post by Ray
Thu Oct 30, 2008 12:17 pm

Recently I had discussed with my friend about the idea that the stability of accelerometer is better than the gyro in static motion.

I think it is worth to discuss.
Any ideas ??


---------------------------

Well, I do not means Accelerometer can replace the gyro and vice-versa.

I think Gyro is efficient at highly oscillated motion.

accelerometer is useful for static balance e.g. climbing a tile road.


In fact, for good dymanic balance, a number of sensors are necessary just as the case of human.

e..g. we need pressure sensors and current sensor as well (Such as Bioloid).

I am now investigating that the accelerometer is better for the case of laddar climing......

....... still have no time.......hope I can find the result soon.)

for slow walking, I think it also helps, I also suspect both gyro and accelerometer can be used together.

I hope I can finished my ladder climbing base on accelerometer soon :)
Recently I had discussed with my friend about the idea that the stability of accelerometer is better than the gyro in static motion.

I think it is worth to discuss.
Any ideas ??


---------------------------

Well, I do not means Accelerometer can replace the gyro and vice-versa.

I think Gyro is efficient at highly oscillated motion.

accelerometer is useful for static balance e.g. climbing a tile road.


In fact, for good dymanic balance, a number of sensors are necessary just as the case of human.

e..g. we need pressure sensors and current sensor as well (Such as Bioloid).

I am now investigating that the accelerometer is better for the case of laddar climing......

....... still have no time.......hope I can find the result soon.)

for slow walking, I think it also helps, I also suspect both gyro and accelerometer can be used together.

I hope I can finished my ladder climbing base on accelerometer soon :)
Ray offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 230
Joined: Sun Apr 23, 2006 1:00 am
Location: HK

Post by mic2 » Thu Nov 20, 2008 11:26 pm

Post by mic2
Thu Nov 20, 2008 11:26 pm

Well, I’ve tried disabling the Gyro and just using the Accelerometer instead, and set the leg respond to balance (maintain its body) on a moving board just like Qrio on YouTube http://uk.youtube.com/watch?v=33a33XEVHKE.

Here’s the algorithm:
Well, this should be opposite from Gyro settings, so let say the robot is facing forward when the board moving up the feet should also move up to maintain the body to 90 degree. and when the board is moving down the feet should also move down. Right!

But the problem I came across was getting an echo feedback i.e. feet move up and down very fast and build up a non stop unwanted movement, even on a non moving floor!?

I’ve tried to reduce the gain of the Accelerometer but if I do that I also reduce the body angel i.e. the robot will not maintain its body at 90 degree!

Any idea guys?
:roll:
Well, I’ve tried disabling the Gyro and just using the Accelerometer instead, and set the leg respond to balance (maintain its body) on a moving board just like Qrio on YouTube http://uk.youtube.com/watch?v=33a33XEVHKE.

Here’s the algorithm:
Well, this should be opposite from Gyro settings, so let say the robot is facing forward when the board moving up the feet should also move up to maintain the body to 90 degree. and when the board is moving down the feet should also move down. Right!

But the problem I came across was getting an echo feedback i.e. feet move up and down very fast and build up a non stop unwanted movement, even on a non moving floor!?

I’ve tried to reduce the gain of the Accelerometer but if I do that I also reduce the body angel i.e. the robot will not maintain its body at 90 degree!

Any idea guys?
:roll:
mic2 offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 85
Joined: Thu Mar 01, 2007 6:52 pm

Post by Robo1 » Thu Nov 20, 2008 11:41 pm

Post by Robo1
Thu Nov 20, 2008 11:41 pm

Try using a PID control method, this might help the problem.

Bren
Try using a PID control method, this might help the problem.

Bren
Robo1 offline
Savvy Roboteer
Savvy Roboteer
Posts: 501
Joined: Fri Jun 30, 2006 1:00 am
Location: UK - Bristol

Post by mic2 » Fri Nov 21, 2008 1:50 am

Post by mic2
Fri Nov 21, 2008 1:50 am

Robo1 wrote:Try using a PID control method, this might help the problem.

Bren


Hi Bren, what is PID control method? can you give more detail. thanks
Robo1 wrote:Try using a PID control method, this might help the problem.

Bren


Hi Bren, what is PID control method? can you give more detail. thanks
mic2 offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 85
Joined: Thu Mar 01, 2007 6:52 pm

Post by SK » Fri Nov 21, 2008 8:34 am

Post by SK
Fri Nov 21, 2008 8:34 am

Well if you want to do it state of the art, you probably have to look into using a Kalman Filter. It lets you estimate the state of a system by using (multiple) noisy measurements.
This way, you can use accelerometer and gyro measurements, fuse them and get an estimate of the pitch angle.
Well if you want to do it state of the art, you probably have to look into using a Kalman Filter. It lets you estimate the state of a system by using (multiple) noisy measurements.
This way, you can use accelerometer and gyro measurements, fuse them and get an estimate of the pitch angle.
SK offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 105
Joined: Mon Jun 26, 2006 1:00 am
Location: near Frankfurt/Main, Germany

Post by mic2 » Sat Nov 22, 2008 12:45 am

Post by mic2
Sat Nov 22, 2008 12:45 am

Found it!
proportional–integral–derivative controller (PID controller)
Image
Found it!
proportional–integral–derivative controller (PID controller)
Image
mic2 offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 85
Joined: Thu Mar 01, 2007 6:52 pm

Post by billyzelsnack » Sat Nov 22, 2008 2:46 am

Post by billyzelsnack
Sat Nov 22, 2008 2:46 am

Wow. That is hilariously complex looking for how simple it comes down to in code.
Wow. That is hilariously complex looking for how simple it comes down to in code.
billyzelsnack offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 618
Joined: Sat Dec 30, 2006 1:00 am

Post by Ray » Sat Nov 22, 2008 3:47 am

Post by Ray
Sat Nov 22, 2008 3:47 am

Humm... it seem complex to implement this algorithm,
you need several memory variables.
you need a summer of old and present sequence of variable respect to time to act as a integrator, division can be done by muliplying a fractional number in stead of divide, but it seem RC003 do not support decimal number.....
Any way, a PI controller is enough presently, I think :roll:
Humm... it seem complex to implement this algorithm,
you need several memory variables.
you need a summer of old and present sequence of variable respect to time to act as a integrator, division can be done by muliplying a fractional number in stead of divide, but it seem RC003 do not support decimal number.....
Any way, a PI controller is enough presently, I think :roll:
Ray offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 230
Joined: Sun Apr 23, 2006 1:00 am
Location: HK

Post by billyzelsnack » Sat Nov 22, 2008 4:22 am

Post by billyzelsnack
Sat Nov 22, 2008 4:22 am

I was talking in general. Not necessarily for that controller. Though.. Fixed point is your friend!
I was talking in general. Not necessarily for that controller. Though.. Fixed point is your friend!
billyzelsnack offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 618
Joined: Sat Dec 30, 2006 1:00 am

Post by SK » Sun Nov 23, 2008 10:30 pm

Post by SK
Sun Nov 23, 2008 10:30 pm

Regarding my earlier posting about Kalman Filtering:
I just found a demo on YouTube, showing the advantage of sensor fusion via KF:
http://www.youtube.com/watch?v=AWAFFZ7rPDc
Regarding my earlier posting about Kalman Filtering:
I just found a demo on YouTube, showing the advantage of sensor fusion via KF:
http://www.youtube.com/watch?v=AWAFFZ7rPDc
SK offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 105
Joined: Mon Jun 26, 2006 1:00 am
Location: near Frankfurt/Main, Germany

Post by Ray » Mon Nov 24, 2008 11:24 am

Post by Ray
Mon Nov 24, 2008 11:24 am

It seem to be a great stable controller in this video :o
any simple implementation ?
necessary to concern with state variables then?
It seem to be a great stable controller in this video :o
any simple implementation ?
necessary to concern with state variables then?
Ray offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 230
Joined: Sun Apr 23, 2006 1:00 am
Location: HK

Post by limor » Mon Nov 24, 2008 1:35 pm

Post by limor
Mon Nov 24, 2008 1:35 pm

Hi,
I moved the topic to "General" since it is not robot-specific and and it is a very interesting topic indeed and may be overlooked by people who don't read that particular robot forum.

There's some nice pseudocode on wikipedia for PID and some scary looking formulas on the kalman-filter entry. Kalman filter is actually quite a simple concept once you read through the intro paper and try to write it on a piece of paper.

There was some discussion previously here on the Bioloid forum regarding S-curves and how to smooth the transitions between servo motions.

You can find code and theory of PID and S-curves at the openservo.org site.
Hi,
I moved the topic to "General" since it is not robot-specific and and it is a very interesting topic indeed and may be overlooked by people who don't read that particular robot forum.

There's some nice pseudocode on wikipedia for PID and some scary looking formulas on the kalman-filter entry. Kalman filter is actually quite a simple concept once you read through the intro paper and try to write it on a piece of paper.

There was some discussion previously here on the Bioloid forum regarding S-curves and how to smooth the transitions between servo motions.

You can find code and theory of PID and S-curves at the openservo.org site.
limor offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1845
Joined: Mon Oct 11, 2004 1:00 am
Location: London, UK

Post by SK » Mon Nov 24, 2008 2:28 pm

Post by SK
Mon Nov 24, 2008 2:28 pm

Ray wrote:It seem to be a great stable controller in this video :o

Well the video shows just the state estimation by the Filter, but using this estimated state (fused from Gyro+Acc) in a PID controller is going to give better results than using the very noisy (and in dynamic situations, wrong) direct accelerometer data.

any simple implementation ?
necessary to concern with state variables then?

You can find a simple implementation for state estimation using a gyro and 2 accelerometers here:
http://www.openservo.com/forums/viewtop ... ght=kalman
The Thread-Starter built a small segway-like robot and also linked his source code ( adapted from the autopilot project ).
Ray wrote:It seem to be a great stable controller in this video :o

Well the video shows just the state estimation by the Filter, but using this estimated state (fused from Gyro+Acc) in a PID controller is going to give better results than using the very noisy (and in dynamic situations, wrong) direct accelerometer data.

any simple implementation ?
necessary to concern with state variables then?

You can find a simple implementation for state estimation using a gyro and 2 accelerometers here:
http://www.openservo.com/forums/viewtop ... ght=kalman
The Thread-Starter built a small segway-like robot and also linked his source code ( adapted from the autopilot project ).
SK offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 105
Joined: Mon Jun 26, 2006 1:00 am
Location: near Frankfurt/Main, Germany


13 postsPage 1 of 1
13 postsPage 1 of 1