Gyro in Robonova-1 ?

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

Post by Morbeious » Tue Apr 04, 2006 2:30 am

Post by Morbeious
Tue Apr 04, 2006 2:30 am

Eh, Pev,

Just orderd my 2 gryos, care to share the wiring PIN out/In puts for us newbies, that get confused buy the poorly documentented manual.. I don't want to blow my RN-1 up.
Eh, Pev,

Just orderd my 2 gryos, care to share the wiring PIN out/In puts for us newbies, that get confused buy the poorly documentented manual.. I don't want to blow my RN-1 up.
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 gsferrari » Tue Apr 04, 2006 3:54 am

Post by gsferrari
Tue Apr 04, 2006 3:54 am

How does the gyro affect the ability to walk, stand on one leg, do cartwheels etc.?

Can you please try this?
How does the gyro affect the ability to walk, stand on one leg, do cartwheels etc.?

Can you please try this?
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 Pev » Tue Apr 04, 2006 9:07 am

Post by Pev
Tue Apr 04, 2006 9:07 am

Morbeious wrote:Eh, Pev,

Just orderd my 2 gryos, care to share the wiring PIN out/In puts for us newbies, that get confused buy the poorly documentented manual.. I don't want to blow my RN-1 up.


I'll do my best and I hope this is what you are after.

I am only running a single gyro at present for forward/backwards directions and I am using the GWS PG-03 unit. Based on this I'll try to explain how it is connected and works:

Firstly it is connected to 2 of the AD ports - each gyro you use will require 2 AD ports and they are grouped into Gyro ports in the manual. The grouping is as follows:

Gyro Port 1 - AD 0 - input to gyro - AD 4 output from gyro to MR-C3024
Gyro Port 2 - AD 1 - input to gyro - AD 5 output from gyro to MR-C3024
Gyro Port 3 - AD 2 - input to gyro - AD 6 output from gyro to MR-C3024
Gyro Port 4 - AD 3 - input to gyro - AD 7 output from gyro to MR-C3024

I am using gyro port 1 and thus the lead attached to the gyro (red/black/white) goes to AD 0 and my own connection from the gyro goes to AD 4.

Image

The diagram above shows the AD port in the upper right hand corner of the board. The connection from the gyro to the MR-C3024 doesn't need to be more than the ground and signal for it to work.

Next important thing is positioning the gyro - check the gyro documentation - and make sure it is orientated correctly. I have mounted mine on the left shoulder and had to move it forward to get the best performance as I set it too far back initially. Currently it sits here but is a work in progress and may yet move.

Image

Once all that is done you need to activate the gyro with some code. This is detailed both in the roboBasic commands manual and the RoboNova User Manual but here is my code.

'Gyro Setup
GYROSET G6A,0,1,1,0,0,0
GYROSET G6D,0,1,1,0,0,0

GYRODIR G6A,1,0,0,1,0,0
GYRODIR G6D,1,0,0,1,0,0

GYROSENSE G6A,0,200,200,0,0,0
GYROSENSE G6D,0,200,200,0,0,0

this goes immediately before the MAIN: routine in the code based on the standard template.

Be aware that you'll need to setup your gyro and adjust the gain or Robonova may have the shakes. I had to turn the gain down to about half way between the factory setting and all the way off. On the GWS gyro that is anti-clockwise. You'll also need to adjust the setup point to get the legs back in line (I am thinking that I may need to re zero him but haven't tried this yet).

And that is basically it.

My Robonova still gets the shakes occasionally but it does stop after a second or two. The gyro doesn't effect the tricks too much - mine still does the flying move, cartwheels etc but does have trouble when you sit him down - he starts jumping and shaking badly. I am looking at this and think I may need to control when the gyro is active for some moves.

What the gyro does is sense movement in one plane. It gets a reading from the input to gyro port of what movement is being sent to the servo groups and passes back an adjusted reading based on the movement of the gyro mixed with the movement sent. I hope that is clear as it is a very simplified description of how a gyro works.

Well I hope this helps and feel free to contact me if anything is not clear or you feel I have missed anything.

Pev
Morbeious wrote:Eh, Pev,

Just orderd my 2 gryos, care to share the wiring PIN out/In puts for us newbies, that get confused buy the poorly documentented manual.. I don't want to blow my RN-1 up.


I'll do my best and I hope this is what you are after.

I am only running a single gyro at present for forward/backwards directions and I am using the GWS PG-03 unit. Based on this I'll try to explain how it is connected and works:

Firstly it is connected to 2 of the AD ports - each gyro you use will require 2 AD ports and they are grouped into Gyro ports in the manual. The grouping is as follows:

Gyro Port 1 - AD 0 - input to gyro - AD 4 output from gyro to MR-C3024
Gyro Port 2 - AD 1 - input to gyro - AD 5 output from gyro to MR-C3024
Gyro Port 3 - AD 2 - input to gyro - AD 6 output from gyro to MR-C3024
Gyro Port 4 - AD 3 - input to gyro - AD 7 output from gyro to MR-C3024

I am using gyro port 1 and thus the lead attached to the gyro (red/black/white) goes to AD 0 and my own connection from the gyro goes to AD 4.

Image

The diagram above shows the AD port in the upper right hand corner of the board. The connection from the gyro to the MR-C3024 doesn't need to be more than the ground and signal for it to work.

Next important thing is positioning the gyro - check the gyro documentation - and make sure it is orientated correctly. I have mounted mine on the left shoulder and had to move it forward to get the best performance as I set it too far back initially. Currently it sits here but is a work in progress and may yet move.

Image

Once all that is done you need to activate the gyro with some code. This is detailed both in the roboBasic commands manual and the RoboNova User Manual but here is my code.

'Gyro Setup
GYROSET G6A,0,1,1,0,0,0
GYROSET G6D,0,1,1,0,0,0

GYRODIR G6A,1,0,0,1,0,0
GYRODIR G6D,1,0,0,1,0,0

GYROSENSE G6A,0,200,200,0,0,0
GYROSENSE G6D,0,200,200,0,0,0

this goes immediately before the MAIN: routine in the code based on the standard template.

Be aware that you'll need to setup your gyro and adjust the gain or Robonova may have the shakes. I had to turn the gain down to about half way between the factory setting and all the way off. On the GWS gyro that is anti-clockwise. You'll also need to adjust the setup point to get the legs back in line (I am thinking that I may need to re zero him but haven't tried this yet).

And that is basically it.

My Robonova still gets the shakes occasionally but it does stop after a second or two. The gyro doesn't effect the tricks too much - mine still does the flying move, cartwheels etc but does have trouble when you sit him down - he starts jumping and shaking badly. I am looking at this and think I may need to control when the gyro is active for some moves.

What the gyro does is sense movement in one plane. It gets a reading from the input to gyro port of what movement is being sent to the servo groups and passes back an adjusted reading based on the movement of the gyro mixed with the movement sent. I hope that is clear as it is a very simplified description of how a gyro works.

Well I hope this helps and feel free to contact me if anything is not clear or you feel I have missed anything.

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 Pev » Tue Apr 04, 2006 9:24 am

Post by Pev
Tue Apr 04, 2006 9:24 am

gsferrari wrote:How does the gyro affect the ability to walk, stand on one leg, do cartwheels etc.?

Can you please try this?


As you can see from my last post above the trick moves are pretty much okay - sitting down goes give him the shakes and I am working on this.

I intend to look into how to turn the gyro on and off for certain moves such as sitting but I think most of the issues are down to the gain setting and balancing out how sensitive you set it up.

Attached is a short video of the Flying move with the gyro on (all working fine) and the sitting move complete with the jumping shakes.

http://robosavvy.com/Builders/Pev/flying.wmv

http://robosavvy.com/Builders/Pev/rn1sitting.wmv

Hope these help

Pev
gsferrari wrote:How does the gyro affect the ability to walk, stand on one leg, do cartwheels etc.?

Can you please try this?


As you can see from my last post above the trick moves are pretty much okay - sitting down goes give him the shakes and I am working on this.

I intend to look into how to turn the gyro on and off for certain moves such as sitting but I think most of the issues are down to the gain setting and balancing out how sensitive you set it up.

Attached is a short video of the Flying move with the gyro on (all working fine) and the sitting move complete with the jumping shakes.

http://robosavvy.com/Builders/Pev/flying.wmv

http://robosavvy.com/Builders/Pev/rn1sitting.wmv

Hope these help

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 Morbeious » Tue Apr 04, 2006 12:46 pm

Post by Morbeious
Tue Apr 04, 2006 12:46 pm

Pev,

Thanks, for the right up,

Thoughts on Shacks: If the shakes are in from the gain, with different positions. I know on my heli, I use a Align, and Futaba 401 gyro's because they both have remote gain controls. I Havent gotten the gws yet, But I'm thinking if dosen't have remote gain controls it maybe limited to on/off from robobasic only.

Hmm, I maybe incorrect if the following commands translate to gain controls. 8O
GYROSENSE G6A,0,200,200,0,0,0
GYROSENSE G6D,0,200,200,0,0,0
Pev,

Thanks, for the right up,

Thoughts on Shacks: If the shakes are in from the gain, with different positions. I know on my heli, I use a Align, and Futaba 401 gyro's because they both have remote gain controls. I Havent gotten the gws yet, But I'm thinking if dosen't have remote gain controls it maybe limited to on/off from robobasic only.

Hmm, I maybe incorrect if the following commands translate to gain controls. 8O
GYROSENSE G6A,0,200,200,0,0,0
GYROSENSE G6D,0,200,200,0,0,0
Last edited by Morbeious on Tue Apr 04, 2006 1:19 pm, edited 2 times in total.
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 Pev » Tue Apr 04, 2006 1:15 pm

Post by Pev
Tue Apr 04, 2006 1:15 pm

Morbeious wrote:Pev,

Thanks, for the right up,

Thoughts on Shacks: If the shakes are in from the gain, with different positions. I know on my heli, I use a Align, and Futaba 401 gyro's because they both have remote gain controls. I Havent gotten the gws yet, But I'm thinking if dosen't have remote gain controls it maybe limited to on/off from robobasic only.

Hmm, I maybe incorrect if the following commands translate to gain controls. 8O
GYROSENSE G6A,0,200,200,0,0,0
GYROSENSE G6D,0,200,200,0,0,0



You're right the GWS doesn't have remote gain and yes the GYROSENSE is sort of gain and sort of sensitivity. It is basically have much the servo moves for a given gyro input. I think the shakes are down to getting the balancing between the gain on the GWS unit and the GYROSENSE values right. I have tried turning down the GYROSENSE values but the impact is that the servo's throw less when the gyro activates and down RN falls lol.

Am planning on spending some evening this week tweaking and playing with these settings

Pev
Morbeious wrote:Pev,

Thanks, for the right up,

Thoughts on Shacks: If the shakes are in from the gain, with different positions. I know on my heli, I use a Align, and Futaba 401 gyro's because they both have remote gain controls. I Havent gotten the gws yet, But I'm thinking if dosen't have remote gain controls it maybe limited to on/off from robobasic only.

Hmm, I maybe incorrect if the following commands translate to gain controls. 8O
GYROSENSE G6A,0,200,200,0,0,0
GYROSENSE G6D,0,200,200,0,0,0



You're right the GWS doesn't have remote gain and yes the GYROSENSE is sort of gain and sort of sensitivity. It is basically have much the servo moves for a given gyro input. I think the shakes are down to getting the balancing between the gain on the GWS unit and the GYROSENSE values right. I have tried turning down the GYROSENSE values but the impact is that the servo's throw less when the gyro activates and down RN falls lol.

Am planning on spending some evening this week tweaking and playing with these settings

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 Morbeious » Tue Apr 04, 2006 1:20 pm

Post by Morbeious
Tue Apr 04, 2006 1:20 pm

Another thought,
If the gain can't be adjusted via robobasic, how about when deactivating the 1st gyro for standing a secondary gyro for sitting could be activated, I've been wondering why would anyone need 4 gyro's maybe thats the answer not sure though.
Another thought,
If the gain can't be adjusted via robobasic, how about when deactivating the 1st gyro for standing a secondary gyro for sitting could be activated, I've been wondering why would anyone need 4 gyro's maybe thats the answer not sure though.
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 Pev » Tue Apr 04, 2006 1:25 pm

Post by Pev
Tue Apr 04, 2006 1:25 pm

Morbeious wrote:Another thought,
If the gain can't be adjusted via robobasic, how about when deactivating the 1st gyro for standing a secondary gyro for sitting could be activated, I've been wondering why would anyone need 4 gyro's maybe thats the answer not sure though.


I agree we can't work out why anyone would want 4 gyros - maybe Hitech has extra dimensions we don't lol.

I am planning to turn off the gyro for stable movements - such as sitting - where the probability of a fall is less likely. I am also planning on adjusting the GYROSENSE within the routines as well - I have custom turn routines where turning one way gets the shakes and turning the other doesn't due to the gyro being offset on the left shoulder.

Pev
Morbeious wrote:Another thought,
If the gain can't be adjusted via robobasic, how about when deactivating the 1st gyro for standing a secondary gyro for sitting could be activated, I've been wondering why would anyone need 4 gyro's maybe thats the answer not sure though.


I agree we can't work out why anyone would want 4 gyros - maybe Hitech has extra dimensions we don't lol.

I am planning to turn off the gyro for stable movements - such as sitting - where the probability of a fall is less likely. I am also planning on adjusting the GYROSENSE within the routines as well - I have custom turn routines where turning one way gets the shakes and turning the other doesn't due to the gyro being offset on the left shoulder.

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 Morbeious » Tue Apr 04, 2006 1:30 pm

Post by Morbeious
Tue Apr 04, 2006 1:30 pm

You know what would be nice, if we could get Hitec to share the code from the Dance demo, Thier using alot of moves, and it seems as though the little box on the shoulder in the demo maybe the gyro.. ( :D wounder if anyone here could pull some strings..
You know what would be nice, if we could get Hitec to share the code from the Dance demo, Thier using alot of moves, and it seems as though the little box on the shoulder in the demo maybe the gyro.. ( :D wounder if anyone here could pull some strings..
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

Great work PEV!

Post by dshinsel » Wed Apr 05, 2006 1:43 am

Post by dshinsel
Wed Apr 05, 2006 1:43 am

Been out of the loop a few days.
Great work on this PEV! I'll have to try playing with these settings too!

I think you are on the right track... just turn the Gyro on/off at certain times, during certain manuvers. I wonder if the it would make sense to change GyroSense rather then turning fully on/off?

Anyway... Kudos for this great work!
Been out of the loop a few days.
Great work on this PEV! I'll have to try playing with these settings too!

I think you are on the right track... just turn the Gyro on/off at certain times, during certain manuvers. I wonder if the it would make sense to change GyroSense rather then turning fully on/off?

Anyway... Kudos for this great work!
dshinsel offline

Post by Toukisarchu » Thu Apr 06, 2006 2:26 am

Post by Toukisarchu
Thu Apr 06, 2006 2:26 am

Prehaps the gyros are being to frequently monitored. Maybe try Adding a delay between each time they are read. Might help buffer out the jitters. Anyone get what i mean? It may be setting itself of with its own corrections. I dont really know much about gyros though so I may be wrong.
Prehaps the gyros are being to frequently monitored. Maybe try Adding a delay between each time they are read. Might help buffer out the jitters. Anyone get what i mean? It may be setting itself of with its own corrections. I dont really know much about gyros though so I may be wrong.
Toukisarchu offline

Post by Morbeious » Thu Apr 06, 2006 3:40 am

Post by Morbeious
Thu Apr 06, 2006 3:40 am

you may have a point, with the delay, when i get mines in on friday i will try. I've just notice the freq monitoring loop, with using a TX and RX module with Robobasic.
you may have a point, with the delay, when i get mines in on friday i will try. I've just notice the freq monitoring loop, with using a TX and RX module with Robobasic.
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 Pev » Thu Apr 06, 2006 6:33 pm

Post by Pev
Thu Apr 06, 2006 6:33 pm

Well I've been playing some more with the gyro setup.

I don't think there is a way in roboBasic to change the frequency of the gyro reads, I think the signal mixing of the gyro is constant. What I'd really like to be able to do is to set up a dead area where signals from the gyro within a definable range would be ignored but I haven't found a way to do this yet.

On the positive side I have had a play with getting rid of the jitters when a sitting move is performed. I tried the GYROSENSE and setting it all to 0 but I still got gyro feedback that cause a small jitter or oscillation. The only way I could completely get rid of it was to use the GYROSET command and set all the parameters to 0. This does work as it effectly turns off the gyro for the duration of the sitting action. So only good for stable movements like sitting or programed falling forwards/backwards.

You do need to make sure your gyro is set correctly otherwise you get a movement (minor) when the gyro gets turned back on.

All in all he is getting more stable. Now I just need to get his arms moving to counterbalance the fall direction and I think I'll be almost there.

Pev
Well I've been playing some more with the gyro setup.

I don't think there is a way in roboBasic to change the frequency of the gyro reads, I think the signal mixing of the gyro is constant. What I'd really like to be able to do is to set up a dead area where signals from the gyro within a definable range would be ignored but I haven't found a way to do this yet.

On the positive side I have had a play with getting rid of the jitters when a sitting move is performed. I tried the GYROSENSE and setting it all to 0 but I still got gyro feedback that cause a small jitter or oscillation. The only way I could completely get rid of it was to use the GYROSET command and set all the parameters to 0. This does work as it effectly turns off the gyro for the duration of the sitting action. So only good for stable movements like sitting or programed falling forwards/backwards.

You do need to make sure your gyro is set correctly otherwise you get a movement (minor) when the gyro gets turned back on.

All in all he is getting more stable. Now I just need to get his arms moving to counterbalance the fall direction and I think I'll be almost there.

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 7:27 pm

Post by gsferrari
Thu Apr 06, 2006 7:27 pm

The Gyro output is analog right - just put a small POT in between the board input and Gyro output...tune the pot - gives you more control over the gain.

You can also use some clever electronics to control the output level from the Gyro. Use a small servo to control the pot - include this servo into every movement routine in robobasic.

For the ones that dont need much gyro intervention - ask the controller to turn this servo in a way that increases the POT resistance. For movements that DO need gyro intervention -OR-during idling - ask the controller to turn the servo the other way - so that the resistance is reduced.


All of this is hot air unless the gyro output is definitely analog...
The Gyro output is analog right - just put a small POT in between the board input and Gyro output...tune the pot - gives you more control over the gain.

You can also use some clever electronics to control the output level from the Gyro. Use a small servo to control the pot - include this servo into every movement routine in robobasic.

For the ones that dont need much gyro intervention - ask the controller to turn this servo in a way that increases the POT resistance. For movements that DO need gyro intervention -OR-during idling - ask the controller to turn the servo the other way - so that the resistance is reduced.


All of this is hot air unless the gyro output is definitely analog...
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 Morbeious » Thu Apr 06, 2006 7:46 pm

Post by Morbeious
Thu Apr 06, 2006 7:46 pm

sounds like a great idea, I'm sure the gyro is analog. digital gyro's are way more expensive, (ie, Fatuba 401 = $138). If the mixing is the issue, why not use a RC Transimitter to controll the missing, this can be accomplished with analog or digtal gyro's. thats how we do it with RC heli's.
sounds like a great idea, I'm sure the gyro is analog. digital gyro's are way more expensive, (ie, Fatuba 401 = $138). If the mixing is the issue, why not use a RC Transimitter to controll the missing, this can be accomplished with analog or digtal gyro's. thats how we do it with RC heli's.
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

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