Welcome, Guest. Please login or register.
May 25, 2013, 05:56:30 AM
<< Back to The NXT Step Home Page    Home Help Search Login Register

+  The NXT STEP Forum
|-+  General Category
| |-+  General Discussion
| | |-+  Gyro sensor
« previous next »
Pages: [1] Print
Author Topic: Gyro sensor  (Read 2462 times)
glycerunnin
Jr. Member
**
Posts: 18


isAmazing(Ironman) = True;


View Profile WWW
« on: July 10, 2008, 09:54:34 AM »

I was thinking about purchasing a gyro sensor from hitechnic and I want to know what people think about it.  If you have one, let me know if you would recommend it for the NXTSegway I am working on at my blog (http://madrobotics.blogspot.com), b/c I think it would make it work a lot better.  Also, if you can think of a way to improve my robot without the purchase of a gyro sensor, that would be awesome.
Report to moderator   Logged

http://madrobotics.blogspot.com
My latest NXT projects, videos, resources, reviews, building guides, and miscellaneous robot news

http://squidoo.com/madrobotics
Great guide for those interested in starting NXT robotics or for those looking for new NXT-compatible languages, parts, or resources.
admin
Administrator
Sr. Member
*****
Posts: 152


View Profile WWW
« Reply #1 on: July 10, 2008, 02:10:12 PM »

Nice work!
 
You can find some additional examples of both gyro based and light sensor based Segways here:http://mindstorms.lego.com/NXTLog/ProjectDisplay.aspx?id=c9020ae0-1f67-4891-87c9-1a9a3a0c6fcd

David
Report to moderator   Logged
glycerunnin
Jr. Member
**
Posts: 18


isAmazing(Ironman) = True;


View Profile WWW
« Reply #2 on: July 11, 2008, 11:58:45 AM »

That is a pretty awesome robot...hopefully mine can be that amazing someday.  I already rebuilt it (lower center of gravity) and am looking into different motion control systems.  I don't know if this is the right place to ask, but can someone explain PID control systems to me in basic terms?  I need to understand how the proportional controller, the integral controller, and the derivative controller all work together to achieve stability.  Any help would be much appreciated.
Report to moderator   Logged

http://madrobotics.blogspot.com
My latest NXT projects, videos, resources, reviews, building guides, and miscellaneous robot news

http://squidoo.com/madrobotics
Great guide for those interested in starting NXT robotics or for those looking for new NXT-compatible languages, parts, or resources.
admin
Administrator
Sr. Member
*****
Posts: 152


View Profile WWW
« Reply #3 on: July 12, 2008, 06:20:03 AM »

Glycerunnin,

You may be interested in today's blog posting.:
http://thenxtstep.blogspot.com/2008/07/inspiration-for-self-balancing-wheeled.html
Report to moderator   Logged
glycerunnin
Jr. Member
**
Posts: 18


isAmazing(Ironman) = True;


View Profile WWW
« Reply #4 on: July 12, 2008, 11:04:53 AM »

Thanks, David.  While they seem so simple, these balancing bots are so cool!  I have recently been studying Philo's NXTWay NBC code to figure out how it works, and I am almost there.  Once I succeed with the light sensor approach, I am going to purchase a gyro sensor from hitechnic and try to improve upon the old model.  Thanks for your help.
Report to moderator   Logged

http://madrobotics.blogspot.com
My latest NXT projects, videos, resources, reviews, building guides, and miscellaneous robot news

http://squidoo.com/madrobotics
Great guide for those interested in starting NXT robotics or for those looking for new NXT-compatible languages, parts, or resources.
Parax
Newbie
*
Posts: 3


View Profile
« Reply #5 on: July 16, 2008, 09:54:49 AM »

Glycerunnin,

PID is quite straight forward, Think of it is a mixture of past present and future.
That is:
What has it done in the past (an average - past readings)  = Integral
What is it doing now (a current reading)  = Proportional
What will it do next (a rate - predict the next reading) = Derivative

P: The simplest part in most cases is just what is it now? if the answer is fast then slow down, if the answer is slow then speed up.  this is Proportional control (requires the current reading)

I: The past readings are looking at trends, this is important if something is changing eg a swing moves but doesn't go anywhere. by measuring its average movement you can say that it is still. (you will need to keep a record of previous readings for this)

D: The future is about prediciton, basically work out what it is doing now, if its getting faster, it will move further, if its getting slower it will move less far.
(in order to know if its getting faster or getting slower you will nead previous readings.)

These are actually easy to work out with say a speed reading:
I can be a distance  (m)
P can be a speed (m/s)
D can be an acceleration (m/s^2)

Distance and Acceleration are the integral and derivitive of speed.

The difficult bit is adding all of these results in the right amounts to give you the best answer.  that is where the PID factors (or constants) come in and why tuning is very important.

Parax.
Report to moderator   Logged
glycerunnin
Jr. Member
**
Posts: 18


isAmazing(Ironman) = True;


View Profile WWW
« Reply #6 on: July 16, 2008, 11:37:25 AM »

Thanks Parax...I have finally gotten the coding figured out, and it is starting to balance extremely well.  I just need to keep playing with the ki, kd, and kp values to get it to balance perfectly.  PID is a lot simpler than I previously had thought :-)
Report to moderator   Logged

http://madrobotics.blogspot.com
My latest NXT projects, videos, resources, reviews, building guides, and miscellaneous robot news

http://squidoo.com/madrobotics
Great guide for those interested in starting NXT robotics or for those looking for new NXT-compatible languages, parts, or resources.
Dean Hystad
Nxt Step Authors
Sr. Member
*****
Posts: 138


View Profile
« Reply #7 on: July 16, 2008, 01:10:34 PM »

It may sound crazy, but to make your balancing robot more stable you want to raise the center of gravity.  The higher the CG the less the robot has to work to balance.  It is much easier to balance a golf club (head up) or tennis racket on your finger than it is to balance something shorter like a pen.

Steve's Legway works so well partially because almost all the robot's mass is well above the center of the wheel.  When it starts to tip over it takes a while because of the high monent of inertia.  If he had somehow built the robot so the CG rested directly between the center of the wheels it would have been completely unstable.  Driving forward or backwards would generate zero corrective force.

After Steve announced the Legway I built a similar robot but tried to do the programming with the RIS graphical language.  I couldn't get it to balance until I redesigned the robot to have a much higher CG (think of Steve's robot with stilts).
Report to moderator   Logged
glycerunnin
Jr. Member
**
Posts: 18


isAmazing(Ironman) = True;


View Profile WWW
« Reply #8 on: July 17, 2008, 01:40:41 PM »

Yeah, you are so right about raising the center of gravity...I lowered it, thinking it would make it easier to compensate for error, but then realized that it did not perform nearly as well as the old version!  So, I redesigned it again, and am having a lot more success.  I should have a very stable robot released soon.  Thanks for your input, Dean.
Report to moderator   Logged

http://madrobotics.blogspot.com
My latest NXT projects, videos, resources, reviews, building guides, and miscellaneous robot news

http://squidoo.com/madrobotics
Great guide for those interested in starting NXT robotics or for those looking for new NXT-compatible languages, parts, or resources.
Dino_Martino
Hero Member
*****
Posts: 411


AC-130: my other passion, the sky!


View Profile WWW
« Reply #9 on: August 05, 2008, 01:03:27 AM »

i think the acceleration/tilt sensor is more usefull!
it has the abbility to measure the actual angle of the robot, not the change of angle. wich means: equally good in segways but the accel sensor has another function! it measures acceleration/decceleration (change of speed) to! wich means you can build a "wii" like remote!

and, it costs the same!
Report to moderator   Logged

brdavis
Nxt Step Authors
Hero Member
*****
Posts: 547


View Profile
« Reply #10 on: August 05, 2008, 04:38:59 AM »

i think the acceleration/tilt sensor is more usefull!
I think it's far more useful a well... but not for this application. It's relatively simple to get a robot to balance by using the gyro, but for several reasons it is almost impossible to get a LEGO robot to balance based on the acceleration sensor. Largely for the reasons mentioned elsewhere - it doesn't measure tilt, it measures (just like it says) acceleration.

Think about it this way. If the robot is falling over with the acceleration sensor near the top, what does the acceleration sensor show? It shows the top of the robot approaching free-fall... and in free-fall, the acceleration sensor reads zero. So the acceleration sensor approaches a reading of zero as it falls, but the angle approaches a value of 90°. I really should do this experiment and put up the data.

--
Brian Davis
Report to moderator   Logged
Dino_Martino
Hero Member
*****
Posts: 411


AC-130: my other passion, the sky!


View Profile WWW
« Reply #11 on: September 03, 2008, 07:27:47 AM »

Think about it this way. If the robot is falling over with the acceleration sensor near the top, what does the acceleration sensor show? It shows the top of the robot approaching free-fall... and in free-fall, the acceleration sensor reads zero. So the acceleration sensor approaches a reading of zero as it falls, but the angle approaches a value of 90°. I really should do this experiment and put up the data.
hmm, i tryd it myself (using the US sensor under view on the NXT) it only required about 5° to make it jump to 1cm... this proces goes on very equaly. wich i think means that with accurate programming, it whould be possible...
Report to moderator   Logged

mike1
Newbie
*
Posts: 6



View Profile WWW
« Reply #12 on: September 13, 2008, 05:16:31 AM »

I'm confused on how a US sensor can replace the acceleration or if they have anything in common. The acceleration sensor will be blind as it approaches a free fall as there is technically 0 G and it can't measure anything and will be thinking it is not accelerating. Though I wonder how long it will take for the accel sensor to feel it is in a free fall. If it can detect before a few degrees, it might work though it won't work as well as the gyro.
Report to moderator   Logged

- Mike1
My site: http://NXT-R.webs.com
Dino_Martino
Hero Member
*****
Posts: 411


AC-130: my other passion, the sky!


View Profile WWW
« Reply #13 on: September 13, 2008, 06:05:33 AM »

I'm confused on how a US sensor can replace the acceleration or if they have anything in common. The acceleration sensor will be blind as it approaches a free fall as there is technically 0 G and it can't measure anything and will be thinking it is not accelerating.
when the sensor is standing still, it still will feel 1g downward force (gravity) when it is in freefall it will know this cause it will then register oG I.S.O. 1G.
PS:
a US sensor can be used as a speedmeter, when it has an object outside of the robot (BE a wall), it can calculate how fast the wall is gettin' closer aka how fast your robot is gooing., if you keep track of the speeds, you should be able to calculate the acceleration.

cya!
Report to moderator   Logged

Pages: [1] Print 
« previous next »
Jump to:  


Login with username, password and session length

Powered by MySQL Powered by PHP Powered by SMF 1.1.13 | SMF © 2006-2011, Simple Machines LLC Valid XHTML 1.0! Valid CSS!