Gyro in Robonova-1 ?

Hitec robotics including ROBONOVA humanoid, HSR-8498HB servos, MR C-3024 Controllers and RoboBasic
134 postsPage 3 of 91, 2, 3, 4, 5, 6 ... 9
134 postsPage 3 of 91, 2, 3, 4, 5, 6 ... 9

Post by Pev » Thu Apr 06, 2006 7:52 pm

Post by Pev
Thu Apr 06, 2006 7:52 pm

You're right the gyro output must be analog (I am guessing the same as you) and what you say would work but I think I can achieve something similar by using the GYROSENSE command just need to work it all out.

Did just reposition it and it seems better - all I did was turn the gyro 180 degrees, reverse the GYRODIR values and sit it slightly further forward. Now I may be going mad (and trust me that is quite likely) but it seems to be more effective and slightly less prone to jitters. And as a justification I just checked the Dance Troupe video and my gyro is now the same way round as the ones in the video. Who knows by tomorrow I'll probably have moved it again lol

Pev
You're right the gyro output must be analog (I am guessing the same as you) and what you say would work but I think I can achieve something similar by using the GYROSENSE command just need to work it all out.

Did just reposition it and it seems better - all I did was turn the gyro 180 degrees, reverse the GYRODIR values and sit it slightly further forward. Now I may be going mad (and trust me that is quite likely) but it seems to be more effective and slightly less prone to jitters. And as a justification I just checked the Dance Troupe video and my gyro is now the same way round as the ones in the video. Who knows by tomorrow I'll probably have moved it again lol

Pev
Carl
-------------------------
www.alt-view.co.uk
Pev offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 547
Joined: Sun Feb 26, 2006 1:00 am
Location: UK

Post by gsferrari » Thu Apr 06, 2006 10:40 pm

Post by gsferrari
Thu Apr 06, 2006 10:40 pm

Another point is - the gyro should be placed at the center of gravity (if my brain hasn't spat out all it's physics yet...)

I expect the CG to be somewhere between the 'Robonova' and 'Hitec' lettering on the front of the RN-1.

My thought process is this - if RN falls - it will be because his CG tipped too far off the vertical axis. If the Gyro is placed at extremeties then it will be inaccurate because the CG may still be well in line with the vertical axis...

hmmm...
Another point is - the gyro should be placed at the center of gravity (if my brain hasn't spat out all it's physics yet...)

I expect the CG to be somewhere between the 'Robonova' and 'Hitec' lettering on the front of the RN-1.

My thought process is this - if RN falls - it will be because his CG tipped too far off the vertical axis. If the Gyro is placed at extremeties then it will be inaccurate because the CG may still be well in line with the vertical axis...

hmmm...
Robonova terrorizes the office...coming up!!
gsferrari offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 99
Joined: Tue Mar 28, 2006 1:00 am
Location: Raleigh, NC USA

Post by subpilot » Fri Apr 07, 2006 12:56 am

Post by subpilot
Fri Apr 07, 2006 12:56 am

The RC gyros are "rate gyros" that is they output a signal proportional to the "rate" of turn about an axis. The faster the turn the greater the signal output. Note that if the gyro is tilted off axis but not turning (zero rate) it will not output a signal.
Although I am not an RC guy I believe the gyros are typically connected in series with the receiver output and a servo. The gyro modifies the pulse width from the receiver to oppose the rate of turn.
The gain setting of the gyro determines how much the pulse width is modified.
So what's going on when a gyro is connected to the 3024 board? I believe (but am just guessing) is that the board outputs a pulse to the gyro and compares it with the width of the gyro output pulse. That difference (delta) represents the turn rate and is used to control the servo outputs.
The gyro gain pot changes how much the width changes relative to turn rate and the GYROSENSE Robobasic function determines how far to move the various servos relative to the gyro pulse delta. Tweaking one will obviously affect the other.
Problem is that the control appears to be strictly proportional. That means that if the gain is too high the system is unstable and if it's too low it is insufficient to compensate for the tilt rate. Tweaking it can make it work somewhat OK but errors due to gyro drift and mechanics will never make it work as well as it should/could.
What is needed is a more robust control algorithm and that is something that just can't be done with Robobasic and RC gyros. A PID control loop would eliminate the shakes while allowing high proportional gain to compensate for the tilt rate.
A problem with using only gyros alone for stability is that if the robot is on a tilted surface it will always be unstable. If you use an accelerometer the robot can compensate for the tilt and remain in a stable attitude.
My approach is to combine 3 axis gyros,accelerometers and magnetic sensors for the best of all worlds.
The RC gyros are "rate gyros" that is they output a signal proportional to the "rate" of turn about an axis. The faster the turn the greater the signal output. Note that if the gyro is tilted off axis but not turning (zero rate) it will not output a signal.
Although I am not an RC guy I believe the gyros are typically connected in series with the receiver output and a servo. The gyro modifies the pulse width from the receiver to oppose the rate of turn.
The gain setting of the gyro determines how much the pulse width is modified.
So what's going on when a gyro is connected to the 3024 board? I believe (but am just guessing) is that the board outputs a pulse to the gyro and compares it with the width of the gyro output pulse. That difference (delta) represents the turn rate and is used to control the servo outputs.
The gyro gain pot changes how much the width changes relative to turn rate and the GYROSENSE Robobasic function determines how far to move the various servos relative to the gyro pulse delta. Tweaking one will obviously affect the other.
Problem is that the control appears to be strictly proportional. That means that if the gain is too high the system is unstable and if it's too low it is insufficient to compensate for the tilt rate. Tweaking it can make it work somewhat OK but errors due to gyro drift and mechanics will never make it work as well as it should/could.
What is needed is a more robust control algorithm and that is something that just can't be done with Robobasic and RC gyros. A PID control loop would eliminate the shakes while allowing high proportional gain to compensate for the tilt rate.
A problem with using only gyros alone for stability is that if the robot is on a tilted surface it will always be unstable. If you use an accelerometer the robot can compensate for the tilt and remain in a stable attitude.
My approach is to combine 3 axis gyros,accelerometers and magnetic sensors for the best of all worlds.
subpilot offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 146
Joined: Sat Feb 25, 2006 1:00 am
Location: Lake Arrowhead, Ca,USA

Post by Pev » Fri Apr 07, 2006 8:00 am

Post by Pev
Fri Apr 07, 2006 8:00 am

Thank you both this is all useful stuff.

I have to confess for the cost of a gyro these days I am amazed at what it can do. I haven't used gyros for probably 15 to 20 years and then it was serially as Subpilot says in RC models. I am going to carry on tweaking because whatever the outcome and whetherthe stablity improves more or not I definately have a more stable RN1.

Am tempted to try sticking the gyro on my oopic board and seeing what I can do with it more directly.

Pev
Thank you both this is all useful stuff.

I have to confess for the cost of a gyro these days I am amazed at what it can do. I haven't used gyros for probably 15 to 20 years and then it was serially as Subpilot says in RC models. I am going to carry on tweaking because whatever the outcome and whetherthe stablity improves more or not I definately have a more stable RN1.

Am tempted to try sticking the gyro on my oopic board and seeing what I can do with it more directly.

Pev
Carl
-------------------------
www.alt-view.co.uk
Pev offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 547
Joined: Sun Feb 26, 2006 1:00 am
Location: UK

Post by gsferrari » Fri Apr 07, 2006 1:31 pm

Post by gsferrari
Fri Apr 07, 2006 1:31 pm

Can you stick it into the battery compartment - preferably below the battery?
Can you stick it into the battery compartment - preferably below the battery?
Robonova terrorizes the office...coming up!!
gsferrari offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 99
Joined: Tue Mar 28, 2006 1:00 am
Location: Raleigh, NC USA

Post by bauermech » Fri Apr 07, 2006 6:27 pm

Post by bauermech
Fri Apr 07, 2006 6:27 pm

Some of you ere wondering what that little black box was resting on the shoulder of the RN in the dance video...
I think this is it...
http://www.robonova.de/store/product.ph ... 259&page=1
...nice, I want one. The resolution is high enough that you can code it to work for keeping the RN upright/ballanced (not just get up after it falls)
Some of you ere wondering what that little black box was resting on the shoulder of the RN in the dance video...
I think this is it...
http://www.robonova.de/store/product.ph ... 259&page=1
...nice, I want one. The resolution is high enough that you can code it to work for keeping the RN upright/ballanced (not just get up after it falls)
bauermech offline
Site Admin
Site Admin
User avatar
Posts: 318
Joined: Sat Feb 04, 2006 1:00 am
Location: Defiance, Ohio, USA

Post by subpilot » Fri Apr 07, 2006 7:39 pm

Post by subpilot
Fri Apr 07, 2006 7:39 pm

I messed with my accelerometer board and can get it to give me similar results as PEV has seen with the gyro. Same sort of problems with stability too. If I up the gain I get the shakes and if I turn down the gain it falls. It's interesting to see the robot lean forward or back when I tilt the surface but I'm unhappy with Robobasics lack of math functions.
Try dividing a number for instance. It can only deal with multiples of 2. Totally unacceptable for control algorithms.
I messed with my accelerometer board and can get it to give me similar results as PEV has seen with the gyro. Same sort of problems with stability too. If I up the gain I get the shakes and if I turn down the gain it falls. It's interesting to see the robot lean forward or back when I tilt the surface but I'm unhappy with Robobasics lack of math functions.
Try dividing a number for instance. It can only deal with multiples of 2. Totally unacceptable for control algorithms.
subpilot offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 146
Joined: Sat Feb 25, 2006 1:00 am
Location: Lake Arrowhead, Ca,USA

Post by gsferrari » Fri Apr 07, 2006 8:01 pm

Post by gsferrari
Fri Apr 07, 2006 8:01 pm

Is there an alternative to Robobasic? The Atmega is used by other vendors as well right? Surely there is a better interface out there?
Is there an alternative to Robobasic? The Atmega is used by other vendors as well right? Surely there is a better interface out there?
Robonova terrorizes the office...coming up!!
gsferrari offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 99
Joined: Tue Mar 28, 2006 1:00 am
Location: Raleigh, NC USA

Post by subpilot » Fri Apr 07, 2006 8:20 pm

Post by subpilot
Fri Apr 07, 2006 8:20 pm

Problem is duplicating all the servo functions using a different compiler. I think Hitec should make the Robobasic source code available for people to mess with. I don't see what advantage they get from keeping it under wraps other than not having to deal with supporting tweaked code.
Just post a disclaimer saying they don't support modified code and let us run with it. On second thought, maybe Hitec is planning a deluxe version that is actually functional :?:
I'd bet my first born that given a bit of time somebody will reverse engineer the code and come up with a C library of servo functions that will be usable with AVR C.
Problem is duplicating all the servo functions using a different compiler. I think Hitec should make the Robobasic source code available for people to mess with. I don't see what advantage they get from keeping it under wraps other than not having to deal with supporting tweaked code.
Just post a disclaimer saying they don't support modified code and let us run with it. On second thought, maybe Hitec is planning a deluxe version that is actually functional :?:
I'd bet my first born that given a bit of time somebody will reverse engineer the code and come up with a C library of servo functions that will be usable with AVR C.
subpilot offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 146
Joined: Sat Feb 25, 2006 1:00 am
Location: Lake Arrowhead, Ca,USA

Good reading

Post by tanasit » Tue Apr 11, 2006 3:57 am

Post by tanasit
Tue Apr 11, 2006 3:57 am

As a long time not so good rc heli pilot, if you have to turn down the gyro sensitivity then there are at least 2 reasons: the location of the gyro with respect to the yaw axis and the effectiveness of the couter reaction. So, I think experimenting with the position of the gyro will help the matter.
In this case, you mentioned turning down the gain then I will try to lower the gyro (put it closer to the ground which is the pivot point when fall) position.
For me, I only have the RN-1 for 2 days and the read must go on.
One question of stability though, the "C" and "D" martial art moves will end with the fall 95% (A and B works fine), no matter what type of floor.
Any suggestion of fine tuning the codes.

Thanks
As a long time not so good rc heli pilot, if you have to turn down the gyro sensitivity then there are at least 2 reasons: the location of the gyro with respect to the yaw axis and the effectiveness of the couter reaction. So, I think experimenting with the position of the gyro will help the matter.
In this case, you mentioned turning down the gain then I will try to lower the gyro (put it closer to the ground which is the pivot point when fall) position.
For me, I only have the RN-1 for 2 days and the read must go on.
One question of stability though, the "C" and "D" martial art moves will end with the fall 95% (A and B works fine), no matter what type of floor.
Any suggestion of fine tuning the codes.

Thanks
tanasit offline
Robot Builder
Robot Builder
User avatar
Posts: 14
Joined: Sun Apr 09, 2006 1:00 am

Post by yag-freak » Tue Apr 11, 2006 4:52 pm

Post by yag-freak
Tue Apr 11, 2006 4:52 pm

bauermech wrote:Some of you ere wondering what that little black box was resting on the shoulder of the RN in the dance video...
I think this is it...
http://www.robonova.de/store/product.ph ... 259&page=1
...nice, I want one. The resolution is high enough that you can code it to work for keeping the RN upright/ballanced (not just get up after it falls)


Hello

I have been to the intermodellbau trade fair here in Germany and I was able to talk to Mr. Hann. He is the asian guy at the multiplex/hitec booth responsible for the RN-1.

Had quite a few issues to discuss :-)
He had the RN-1 he showed equipped with this tilt sensor.
It will be available in Mai 2006.
He said that the tilt sensor is "industry-grade" and is better than the gyro-solution. Although it seems to me he just used it for the "stand up when fallen"- routine. I'm not sure if he had enabled it as a balance device.
He had mounted the sensor next to the serial-connector of the board under the backshell of the robot.

Other things he mentioned:
The sensor is a one axis sensor. There will be a two axis version available in June, but the single axis version has the higher resolution. So if you want to go for resolution, use two of the one axis versions.
But the two axis version will be cheaper than two of the one axis systems, and it will be smaller because it will not have a case around it.

The software and cable to program the servos is available in a few weeks. They wanted to ship them at the end of March but had issues. The software is able to program nearly 80 parameters of the servos like deadband, direction of rotation, max speed, etc.
I'm looking forward to it, altough I just need the setting of the direction at the moment :-)
The Hitec HFP-10 Servo-Programmer is not able to talk to the RN-1 servos.

Mr. Hann had his RN-1 equipped with a bluetooth module to elliminate the serial cable.
Nice, perhaps he is reading the forum ;-)

I think we talked about Lipo-accus coming, but I'm not sure. I have talked to so many guys during the trade fair, perhaps I'm mixing something up.

I think I remenber that the other guys doing robots use a gyro for the quick response but have the issue of the gyro drifting with time and with temperature. Then they add an accelerometer to hold the zero position of the system and elliminate the drift. I think I have read some time ago that the accelerometers alone don't have the resolution and quick response to be usefull as a balancing system. But I don't know what the liquid sensor hitec will sell will be capable of. 0,5 sec response time can be a little slow.

I sure will order one and mess around with it to see what I can get out of it. At least I will be able to do the "stand up when fallen"- routine, as I saw it.

Regards

Steffen
bauermech wrote:Some of you ere wondering what that little black box was resting on the shoulder of the RN in the dance video...
I think this is it...
http://www.robonova.de/store/product.ph ... 259&page=1
...nice, I want one. The resolution is high enough that you can code it to work for keeping the RN upright/ballanced (not just get up after it falls)


Hello

I have been to the intermodellbau trade fair here in Germany and I was able to talk to Mr. Hann. He is the asian guy at the multiplex/hitec booth responsible for the RN-1.

Had quite a few issues to discuss :-)
He had the RN-1 he showed equipped with this tilt sensor.
It will be available in Mai 2006.
He said that the tilt sensor is "industry-grade" and is better than the gyro-solution. Although it seems to me he just used it for the "stand up when fallen"- routine. I'm not sure if he had enabled it as a balance device.
He had mounted the sensor next to the serial-connector of the board under the backshell of the robot.

Other things he mentioned:
The sensor is a one axis sensor. There will be a two axis version available in June, but the single axis version has the higher resolution. So if you want to go for resolution, use two of the one axis versions.
But the two axis version will be cheaper than two of the one axis systems, and it will be smaller because it will not have a case around it.

The software and cable to program the servos is available in a few weeks. They wanted to ship them at the end of March but had issues. The software is able to program nearly 80 parameters of the servos like deadband, direction of rotation, max speed, etc.
I'm looking forward to it, altough I just need the setting of the direction at the moment :-)
The Hitec HFP-10 Servo-Programmer is not able to talk to the RN-1 servos.

Mr. Hann had his RN-1 equipped with a bluetooth module to elliminate the serial cable.
Nice, perhaps he is reading the forum ;-)

I think we talked about Lipo-accus coming, but I'm not sure. I have talked to so many guys during the trade fair, perhaps I'm mixing something up.

I think I remenber that the other guys doing robots use a gyro for the quick response but have the issue of the gyro drifting with time and with temperature. Then they add an accelerometer to hold the zero position of the system and elliminate the drift. I think I have read some time ago that the accelerometers alone don't have the resolution and quick response to be usefull as a balancing system. But I don't know what the liquid sensor hitec will sell will be capable of. 0,5 sec response time can be a little slow.

I sure will order one and mess around with it to see what I can get out of it. At least I will be able to do the "stand up when fallen"- routine, as I saw it.

Regards

Steffen
yag-freak offline
Robot Builder
Robot Builder
User avatar
Posts: 15
Joined: Thu Feb 16, 2006 1:00 am
Location: Ruesselsheim, Germany

Post by Morbeious » Tue Apr 11, 2006 9:45 pm

Post by Morbeious
Tue Apr 11, 2006 9:45 pm

Eh, yag-freak

Good information to know. I'm looking forward to new addon's, hopefully this dosen't slow down the hacking we've been doing around these forums.. lol
Eh, yag-freak

Good information to know. I'm looking forward to new addon's, hopefully this dosen't slow down the hacking we've been doing around these forums.. lol
Robots Own/Operated: HeathKit Jr, OmniBot 2000, Lego MindStorms, RSV2, RoboNova-1
Morbeious offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 56
Joined: Tue Mar 21, 2006 1:00 am
Location: Metro Detroit, Michigan, USA

Post by HarryBotter » Fri Apr 14, 2006 12:30 am

Post by HarryBotter
Fri Apr 14, 2006 12:30 am

I've been lurking here for a while...trying to decide which Robo-one to buy. :)

I'd like to make a couple of comments based on some of the posts I've seen. Firstly, I know someone who is working on balancing a DIY humanoid robot with just an accelerometer and it is working fine. She's using the Parallax accelerometer and has the robot balancing itself on a little teeter-totter device.

Also, I'm working on a balancing robot right now, one with just 2 wheels. I'm using an AXDL202E 2 axis accelerometer and the GWS PG-03. For these types of robots a 2g servo is better than a higher, say 10g unit, because it gives us better resolution. I'm also better off because I'm just using the output of the 2 devices in a C program that I use to control the motors.

I guess my point is that I think the GWS gyro and the cheap Parallax or Analog Devices accelerometers are more than adequate for the RoboNova if you can find a way of effectively integrating the signals.

Harry
I've been lurking here for a while...trying to decide which Robo-one to buy. :)

I'd like to make a couple of comments based on some of the posts I've seen. Firstly, I know someone who is working on balancing a DIY humanoid robot with just an accelerometer and it is working fine. She's using the Parallax accelerometer and has the robot balancing itself on a little teeter-totter device.

Also, I'm working on a balancing robot right now, one with just 2 wheels. I'm using an AXDL202E 2 axis accelerometer and the GWS PG-03. For these types of robots a 2g servo is better than a higher, say 10g unit, because it gives us better resolution. I'm also better off because I'm just using the output of the 2 devices in a C program that I use to control the motors.

I guess my point is that I think the GWS gyro and the cheap Parallax or Analog Devices accelerometers are more than adequate for the RoboNova if you can find a way of effectively integrating the signals.

Harry
HarryBotter offline
Robot Builder
Robot Builder
User avatar
Posts: 19
Joined: Thu Apr 06, 2006 1:00 am
Location: Manitoba, Canada

Post by Pev » Fri Apr 14, 2006 8:42 am

Post by Pev
Fri Apr 14, 2006 8:42 am

I am certainly seeing the drift issue on the gyro but it is just a tweak with the trusty screwdriver to sort it out - the odd one that I get is that every now and then the controller board just reasets and hangs in a reset?????? think it may be a power brownout type issue but haven't had a chance to investigate so that is just a guess.

Really must have a look at seeing what I can do with an acceleromenter...... Robo Guys post seems very interesting....

Pev
I am certainly seeing the drift issue on the gyro but it is just a tweak with the trusty screwdriver to sort it out - the odd one that I get is that every now and then the controller board just reasets and hangs in a reset?????? think it may be a power brownout type issue but haven't had a chance to investigate so that is just a guess.

Really must have a look at seeing what I can do with an acceleromenter...... Robo Guys post seems very interesting....

Pev
Carl
-------------------------
www.alt-view.co.uk
Pev offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 547
Joined: Sun Feb 26, 2006 1:00 am
Location: UK

I also have a ADXL202

Post by ANDYKONG » Sun Apr 16, 2006 9:51 am

Post by ANDYKONG
Sun Apr 16, 2006 9:51 am

ADXL202 provides PWM instead of Analog, I'm planning to use a R, C filter to do that. Does anyone try it? Also, do we really need tilt sensor and ADXL202 at the same time? One for static balance, one for dynamic balance. Cheers.
ADXL202 provides PWM instead of Analog, I'm planning to use a R, C filter to do that. Does anyone try it? Also, do we really need tilt sensor and ADXL202 at the same time? One for static balance, one for dynamic balance. Cheers.
ANDYKONG offline

PreviousNext
PreviousNext
134 postsPage 3 of 91, 2, 3, 4, 5, 6 ... 9
134 postsPage 3 of 91, 2, 3, 4, 5, 6 ... 9