<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
<link rel="self" type="application/atom+xml" href="http://forum.robosavvy.com/feed.php?f=4&amp;t=1923" />

<title>RoboSavvy Forum</title>
<subtitle>Robosavvy Forum: The largest online community of Humanoid Robot Builders</subtitle>
<link href="http://forum.robosavvy.com/index.php" />
<updated>2008-03-07T14:50:55+01:00</updated>

<author><name><![CDATA[RoboSavvy Forum]]></name></author>
<id>http://forum.robosavvy.com/feed.php?f=4&amp;t=1923</id>
<entry>
<author><name><![CDATA[i-Bot]]></name></author>
<updated>2008-03-07T14:50:55+01:00</updated>
<published>2008-03-07T14:50:55+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=14623#p14623</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=14623#p14623"/>
<title type="html"><![CDATA[MOVE command limitations]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=14623#p14623"><![CDATA[
I forgot to add the values to be poked into the  Gyro values are centered around 44 decimal (&amp;H2C), So -11 is 33 decimal, and +11 is 55 decimal.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=159">i-Bot</a> — Fri Mar 07, 2008 2:50 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[i-Bot]]></name></author>
<updated>2008-03-07T12:00:22+01:00</updated>
<published>2008-03-07T12:00:22+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=14619#p14619</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=14619#p14619"/>
<title type="html"><![CDATA[MOVE command limitations]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=14619#p14619"><![CDATA[
To allow the gyro value to be poked, the gyros are set up as usual:<br />GYROSET G6A,1,2,0,0,0,0 <br /><br />Here the first servo will be modified by the gyro 1 value, and the second servo by the gyro 2 value<br /><br />Gyro 1 value will be from &amp;H530, Gyro 2 value will be from &amp;H531<br /><br />GYRODIR and GYROSENSE work as usual<br /><br />The GYROSET will have also stared the gyros to up update the gyro values. We need to disable this. So we :<br />POKE &amp;H52F,&amp;H21<br />This must be done after the GYROSET.<br />What this does is to have at least one gyro enabled, so the servos are updated, but the Gyro type is invalid, so no updates are performed.<br /><br />You can now POKE into &amp;H530 and &amp;H531 to modify the servos. The maximum range is about +/- 11 degrees. I find about 5 degrees is the range to stabilise.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=159">i-Bot</a> — Fri Mar 07, 2008 12:00 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tminionman]]></name></author>
<updated>2008-03-07T05:11:20+01:00</updated>
<published>2008-03-07T05:11:20+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=14616#p14616</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=14616#p14616"/>
<title type="html"><![CDATA[MOVE command limitations]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=14616#p14616"><![CDATA[
how do you disable the physical gyros as you described?  I've installed your flashed code (which speeds up my control loop nicely, thank you).<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=919">tminionman</a> — Fri Mar 07, 2008 5:11 am</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[i-Bot]]></name></author>
<updated>2007-11-20T11:44:23+01:00</updated>
<published>2007-11-20T11:44:23+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12481#p12481</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12481#p12481"/>
<title type="html"><![CDATA[MOVE command limitations]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12481#p12481"><![CDATA[
Good news and bad news on my quest to input variables dynamically during moves.<br /><br />I have found it is possible to enable the gyro code, but disable the actual gyros. This means that the variables can be poked in place of the Gyro inputs. The  gyro direction and sensitivity (slope) still work. So I can now change the gait dynamically using PS2 wireless remote control.<br /><br />The bad news and why this took so long is that the C3024 code for POKE is broken and I use this to put the variable in. The POKE command works fine for constants, but not for variables, since they forgot to save a register before a call. I do have a patched C3024 version to fix this, but that rather spoils my intention to do this without modifying the flash.<br /><br />Still works for me, and I can share patched code for anyone else.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=159">i-Bot</a> — Tue Nov 20, 2007 11:44 am</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[davidalecmcinnes]]></name></author>
<updated>2007-11-17T11:34:23+01:00</updated>
<published>2007-11-17T11:34:23+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12412#p12412</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12412#p12412"/>
<title type="html"><![CDATA[MOVE command limitations]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12412#p12412"><![CDATA[
We are all pushing on the boundaries of the platform and seeking techniques in overcoming the limitations and problems of the basic model hence the discussions in these forums. But you have a point, it is a great platform which draws intense interest from anyone who sees it and without which I would still have lego bots running around the lab instead so pass the humble pie  <img src="http://forum.robosavvy.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" /><p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=655">davidalecmcinnes</a> — Sat Nov 17, 2007 11:34 am</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[DirtyRoboto]]></name></author>
<updated>2007-11-17T03:04:34+01:00</updated>
<published>2007-11-17T03:04:34+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12404#p12404</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12404#p12404"/>
<title type="html"><![CDATA[MOVE command limitations]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12404#p12404"><![CDATA[
*not a flame, sorry*<br />Please dont go on about the RN1 limitations and just remember that because of ppl like Hitec, people like you and me can afford cutting edge kit like the RN1.<br /><br />When you see other robots at Robo-One ect, you must remember that they builders may have spent many thousands of £/$/yen on that one bot.<br /><br />If you want to spend about £3000 - £10,000 then you can basicly build it how you want. If you are spending under £1000 then you willl be gitting the very basic kit. The RN1 is in this basic kit area.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=312">DirtyRoboto</a> — Sat Nov 17, 2007 3:04 am</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[davidalecmcinnes]]></name></author>
<updated>2007-11-16T08:42:57+01:00</updated>
<published>2007-11-16T08:42:57+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12381#p12381</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12381#p12381"/>
<title type="html"><![CDATA[MOVE command limitations]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12381#p12381"><![CDATA[
Thanks for the information chaps. I guess I will just use the gyro to stabilise the walking and the accelerometer to pick himself up when he falls over an ant, and just focus on the autonomus roaming and avoidance for Robonova 1. I think you're right about the C3024, it's not really powerful and is badly handicapped by the Robobasic; shame they didn't do a more powerful development environment for it. I will have to design a new microcontroller for the little guy if I am going to do some real number crunching, one of those new high speed 32 bit CISCs perhaps with isolated servo handling. Ooh that's got me thinking<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=655">davidalecmcinnes</a> — Fri Nov 16, 2007 8:42 am</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Gort]]></name></author>
<updated>2007-11-17T07:52:28+01:00</updated>
<published>2007-11-15T20:45:36+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12362#p12362</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12362#p12362"/>
<title type="html"><![CDATA[MOVE command limitations]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12362#p12362"><![CDATA[
Can you not tailor the gyros to the RN by the GYRODIR and GYROSET commends. The GYODIR sets the direction of the gyro. The GYROSET assigns a servo to a servo.<br /><br />Yes I think that the controller is too slow and RoboBasic is also too limited.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=174">Gort</a> — Thu Nov 15, 2007 8:45 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Ray]]></name></author>
<updated>2007-11-15T19:57:16+01:00</updated>
<published>2007-11-15T19:57:16+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12353#p12353</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12353#p12353"/>
<title type="html"><![CDATA[MOVE command limitations]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12353#p12353"><![CDATA[
<blockquote class="uncited"><div><br />So is the RN not already improving its walking gait based on input from the gyro? Should you not be able to improve its walking gait by increasing gyro sensitivity and gyro gain on the gyro itself?<br /></div></blockquote><br /><br />so, from the internal mechanism of the computation, the compensation is directly (heavily) depends on the Gyro itself.<br />All we have to do is just to adjust the direct gain, direction and slope (sensitivity).  ( It may be a simple proportional gain .... )<br /><br />In this case,<br />In order to actually compensate the Mechanical system, the job should finally back to the Gyro. However, the Gyro is simply designed for helicopter, it cannot be expected that it is tailored for RN.<br /><br />So, that why there comes people thinking other algorithms to fit the Robot.<br /><br />To solve this problem, I think the RN programming level cannot be done.<br />It should go to the micro-controller assembly level.  <br />(fast!, you knowl, you should calculate the compensation as well as running the background routine then update the output at 16ms !)<br /><br />So, the solution is fast enough to calculate a more complex algorithm. e.g. PID controller or fuzzy controller. The present controller may not be possible.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=145">Ray</a> — Thu Nov 15, 2007 7:57 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[i-Bot]]></name></author>
<updated>2007-11-15T19:17:43+01:00</updated>
<published>2007-11-15T19:17:43+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12351#p12351</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12351#p12351"/>
<title type="html"><![CDATA[MOVE command limitations]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12351#p12351"><![CDATA[
The motion engine in the C3024 is driven from an interrupt about every 4 ms. Servo positions are updated using the position, speed, PTP etc in 3 phases (servo 0 to 11, 12 to 23, 24 to 31).<br /><br />If you do a GYROSET command to enable a Gyro, then a fourth phase is added. It is during this phase the 4 possible Gyros are read. So the gryos are read every 16ms while they are enabled. You can see the raw Gyro outputs by peeking locations &amp;H530 to &amp;H533.<br /><br />During the 3 servo update phases after the new position for the servos has been caclulated the Gyro raw output values are used to modify this servo position.<br /><br />The code is quite complex, but the GYROSET value determines if a servo position is modified, and the GYRODIR the direction. The Gyro sense appears to change the time constant of an integrator which determines how fast a change in gyro output impacts the position. So it seems that the tuning of the two pots on the Gyro and the sensitivity value are important.<br /><br />It seems most uses are restricted to where the same values are used for both legs, to try to influence the balance rather than the gait.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=159">i-Bot</a> — Thu Nov 15, 2007 7:17 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Gort]]></name></author>
<updated>2007-11-15T18:07:56+01:00</updated>
<published>2007-11-15T18:07:56+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12348#p12348</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12348#p12348"/>
<title type="html"><![CDATA[MOVE command limitations]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12348#p12348"><![CDATA[
So is the RN not already improving its walking gait based on input from the gyro? Should you not be able to improve its walking gait by increasing gyro sensitivity and gyro gain on the gyro itself? <img src="http://forum.robosavvy.com/images/smilies/icon_confused.gif" alt=":?" title="Confused" /><br /><br />Are you trying to improve its walking ability on an uneven surface?<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=174">Gort</a> — Thu Nov 15, 2007 6:07 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Ray]]></name></author>
<updated>2007-11-15T17:47:35+01:00</updated>
<published>2007-11-15T17:47:35+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12347#p12347</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12347#p12347"/>
<title type="html"><![CDATA[MOVE command limitations]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12347#p12347"><![CDATA[
<blockquote class="uncited"><div><br />I have a question? When does the RN get feedback from the Gyro? All the time or only when it is in the main section of the program. Or should the question be when does the Rn act on feedback from the Gyro?<br /></div></blockquote><br /><br />from Digital Control theory, <br /><br />if Hitec using a common method, then,<br />The CPU regularly sample the Gyro outputs then it will multiply the output with the Gyro gain and added to the PWM output of the servo.<br /><br /><br /><blockquote class="uncited"><div><br />I had the idea of using Genetic Algorithms to improve Robonova's walking gait using feedback from a gyro and accelerometer but I find the MOVE command is restricted in that it can only accept numbers and not variables.<br /></div></blockquote><br /><br /><br />Its a great idea, but I worry whether the Atmel micro can do the huge amount of computation of the algorithm, well, may be you can use external PC to help. but the sampling rate is still a problem?<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=145">Ray</a> — Thu Nov 15, 2007 5:47 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Gort]]></name></author>
<updated>2007-11-15T17:32:15+01:00</updated>
<published>2007-11-15T17:32:15+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12346#p12346</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12346#p12346"/>
<title type="html"><![CDATA[MOVE command limitations]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12346#p12346"><![CDATA[
I have a question? When does the RN get feedback from the Gyro? All the time or only when it is in the main section of the program. Or should the question be when does the Rn act on feedback from the Gyro?<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=174">Gort</a> — Thu Nov 15, 2007 5:32 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[i-Bot]]></name></author>
<updated>2007-11-15T10:58:06+01:00</updated>
<published>2007-11-15T10:58:06+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12334#p12334</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12334#p12334"/>
<title type="html"><![CDATA[MOVE command limitations]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12334#p12334"><![CDATA[
This is not a limitation of the compiler. The byte code interpreter in The C3024 will only take literals, not variables.<br /><br />The servo command does take variables, but you need to manage the speed and PTP settings.<br /><br />What timeframe are you looking to modify the gait. I have succesfully written self modifying code, so the literals in the move are changed, but it is complex (absolute memory locations) and slow due to the EEPROM writes.<br /><br />I have some limited success  in disabling the gyros, and injecting varaibles to modify a move. Again very complex.<br /><br />You may have to go to use C or assembler to do what you want.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=159">i-Bot</a> — Thu Nov 15, 2007 10:58 am</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[davidalecmcinnes]]></name></author>
<updated>2007-11-15T09:09:17+01:00</updated>
<published>2007-11-15T09:09:17+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12333#p12333</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12333#p12333"/>
<title type="html"><![CDATA[MOVE command limitations]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=1923&amp;p=12333#p12333"><![CDATA[
I had the idea of using Genetic Algorithms to improve Robonova's walking gait using feedback from a gyro and accelerometer but I find the MOVE command is restricted in that it can only accept numbers and not variables.<br /><br />i.e. MOVE G6A, n,  76, 145,  93, 100, 145 <br /><br />will not compile.<br /><br />Has anyone found a way around this issue, perhaps there's a compiler update that's a bit more flexible?<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=655">davidalecmcinnes</a> — Thu Nov 15, 2007 9:09 am</p><hr />
]]></content>
</entry>
</feed>