<?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=316" />

<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>2006-06-30T06:46:24+01:00</updated>

<author><name><![CDATA[RoboSavvy Forum]]></name></author>
<id>http://forum.robosavvy.com/feed.php?f=4&amp;t=316</id>
<entry>
<author><name><![CDATA[subpilot]]></name></author>
<updated>2006-06-30T06:46:24+01:00</updated>
<published>2006-06-30T06:46:24+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=2411#p2411</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=2411#p2411"/>
<title type="html"><![CDATA[MR-C3024 and AVR Development Tools]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=2411#p2411"><![CDATA[
I haven't even powered up my Servopod yet. I'm leaving for sea again on Tuesday and have been busy trying to get things I need done before then. I'm taking my Servopod and several servos with me so hopefully I'll have time to do some development during the cruise.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=86">subpilot</a> — Fri Jun 30, 2006 6:46 am</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[i-Bot]]></name></author>
<updated>2006-06-29T21:11:50+01:00</updated>
<published>2006-06-29T21:11:50+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=2404#p2404</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=2404#p2404"/>
<title type="html"><![CDATA[MR-C3024 and AVR Development Tools]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=2404#p2404"><![CDATA[
I have only tried it on a Parallax SX28 processor under SX/B  using pulseout and pulsein instructions, and it works fine.<br /><br />The servos look like about 30K ohms to ground, so you need to be a check if your pullups are small enough to meet the processor VinHigh. The Atmega specifies 20 to 50K for the pullup, so in theory, the required 3V high will not be acheived at a 5V processor supply. But it seems to work OK.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=159">i-Bot</a> — Thu Jun 29, 2006 9:11 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[limor]]></name></author>
<updated>2006-06-29T16:57:09+01:00</updated>
<published>2006-06-29T16:57:09+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=2398#p2398</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=2398#p2398"/>
<title type="html"><![CDATA[MR-C3024 and AVR Development Tools]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=2398#p2398"><![CDATA[
subpilot, Have you managed to get servo position reading with the servopod? Has anyone else managed using another board?<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=2">limor</a> — Thu Jun 29, 2006 4:57 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SirAho]]></name></author>
<updated>2006-06-11T14:04:53+01:00</updated>
<published>2006-06-11T14:04:53+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1960#p1960</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1960#p1960"/>
<title type="html"><![CDATA[MR-C3024 and AVR Development Tools]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1960#p1960"><![CDATA[
Maybe an alternative to the NewMicros is the RE001 board.  It's based on the ATmega128 and you can program it in C. It's used to control the robot "Pirkus R Type-01" that was designade by Jin Sato (well-known in the Mindstorm community). You can buy it separatly without the robot. A SDK is included with the board.<br /><br />Here is some information about RE001 in the end of the article at Robots dreams (in English) <br /><!-- m --><a class="postlink" href="http://www.robots-dreams.com/2006/01/roboone_primer_.html">http://www.robots-dreams.com/2006/01/ro ... imer_.html</a><!-- m --><p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=133">SirAho</a> — Sun Jun 11, 2006 2:04 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[bearclaw]]></name></author>
<updated>2006-06-09T23:38:59+01:00</updated>
<published>2006-06-09T23:38:59+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1941#p1941</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1941#p1941"/>
<title type="html"><![CDATA[My comments on a few points]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1941#p1941"><![CDATA[
The problem with reverse-engineering the serial "firmware" update protocol is that there is nothing to reverse-engineer yet, since hitec did not release any update yet.<br /><br /><br />I think it's perfectly possible to get fast  (20-50Hz)  read/write of all servos through a serial line with nothing more powerful than an atmel. I allready solved the write part, still having trouble reading the servo positions<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=155">bearclaw</a> — Fri Jun 09, 2006 11:38 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Bullit]]></name></author>
<updated>2006-06-09T17:28:44+01:00</updated>
<published>2006-06-09T17:28:44+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1935#p1935</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1935#p1935"/>
<title type="html"><![CDATA[MR-C3024 and AVR Development Tools]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1935#p1935"><![CDATA[
Wow, nice work i-Bot!<br />I wish I understood more about the baud rate change.<br />It appears from i-Bot's work that it is automatic with the program transfer.<br />I thought it would be a seperate command.  I was hoping to up the baud rate for faster acquisition and control and operate at one baudrate so that it could easily be bluetooth.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=173">Bullit</a> — Fri Jun 09, 2006 5:28 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[i-Bot]]></name></author>
<updated>2006-06-09T14:17:44+01:00</updated>
<published>2006-06-09T14:17:44+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1932#p1932</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1932#p1932"/>
<title type="html"><![CDATA[MR-C3024 and AVR Development Tools]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1932#p1932"><![CDATA[
Here is my contribution. Still hunting for further enlightenment.<br /><br /><!-- m --><a class="postlink" href="http://web.ukonline.co.uk/r.ibbotson/files/C3024Serial.pdf">http://web.ukonline.co.uk/r.ibbotson/fi ... Serial.pdf</a><!-- m --><br /><br />Richard<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=159">i-Bot</a> — Fri Jun 09, 2006 2:17 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mpthompson]]></name></author>
<updated>2006-06-08T00:25:30+01:00</updated>
<published>2006-06-08T00:25:30+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1903#p1903</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1903#p1903"/>
<title type="html"><![CDATA[MR-C3024 and AVR Development Tools]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1903#p1903"><![CDATA[
I have put together <a href="http://home.comcast.net/~michael.p.thompson/robonova/robonova_control_protocol.txt" class="postlink">here</a> some information I gleaned from observing serial exchange between the RoboNova and the Real-Time Control Window in RoboBasic and from some other sources.  Hopefully others can expand upon this basic information.<br /><br />Something I'm curious about is once a servo is commanded to position, how do you know when the servo reached the position?  I guess you have to poll.<br /><br />-Mike<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=170">mpthompson</a> — Thu Jun 08, 2006 12:25 am</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Bullit]]></name></author>
<updated>2006-06-06T20:46:07+01:00</updated>
<published>2006-06-06T20:46:07+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1873#p1873</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1873#p1873"/>
<title type="html"><![CDATA[MR-C3024 and AVR Development Tools]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1873#p1873"><![CDATA[
Gyro or acclerometer feedback needs to be at least 20 cycles per second combined with motor response in the same time frame.  <br />That serial monitor program is very nice.  I'll look into how the baud rate is changed via the monitor.  If we can figure that one out we should be down to how fast the controller can respond and not the RS232 bottleneck.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=173">Bullit</a> — Tue Jun 06, 2006 8:46 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[i-Bot]]></name></author>
<updated>2006-06-06T20:37:34+01:00</updated>
<published>2006-06-06T20:37:34+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1872#p1872</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1872#p1872"/>
<title type="html"><![CDATA[MR-C3024 and AVR Development Tools]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1872#p1872"><![CDATA[
I agree, I don't understand why they only give part of it. Especially when Robobasic obviously uses many more command codes.<br /><br />However the serial monitor program described before in this thread is great, and reveals much more when you get the principles from the disclosed part.<br /><br />You can see how the position feedback is achieved from the monitor traces, and also the program downloading. The controller information command is simple to decode.<br /><br />It looks like the speed may be kicked up to a higher rate during downloads. Not sure if this can be changed at other times. Otherwise speed may be an issue. The position feedback has 10 bytes of data for 8 channels, so we are limited to 100 reads per sec, at very best. Moves average about 4 bytes per servo, so at first guestimate we are going to be in the region of 10 motion updates per sec. Can anyone give us some idea if this is fast enough for say reading accelerometers/Gryos and creating a response in time ?<br /><br />Lots to investigate !<br /><br />Maybe we should start a new thread, where we can share our discoveries.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=159">i-Bot</a> — Tue Jun 06, 2006 8:37 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Bullit]]></name></author>
<updated>2006-06-06T17:00:12+01:00</updated>
<published>2006-06-06T17:00:12+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1866#p1866</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1866#p1866"/>
<title type="html"><![CDATA[MR-C3024 and AVR Development Tools]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1866#p1866"><![CDATA[
As awesome as it is that they released this much,  it is incomplete.<br />Obviously the program transfer and controller version and status commands are missing.  There are probably many others.  I'd like to be able to alter the baud rate up from 9600bps.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=173">Bullit</a> — Tue Jun 06, 2006 5:00 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[i-Bot]]></name></author>
<updated>2006-06-06T11:36:30+01:00</updated>
<published>2006-06-06T11:36:30+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1861#p1861</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1861#p1861"/>
<title type="html"><![CDATA[MR-C3024 and AVR Development Tools]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1861#p1861"><![CDATA[
Some info on the MR-C3024 to PC protocol at last !<br /><br /><!-- m --><a class="postlink" href="http://www.robonova.de/store/support/index.php?_m=downloads&amp;_a=viewdownload&amp;downloaditemid=63&amp;nav=0,3">http://www.robonova.de/store/support/in ... 63&amp;nav=0,3</a><!-- m --><p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=159">i-Bot</a> — Tue Jun 06, 2006 11:36 am</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[subpilot]]></name></author>
<updated>2006-06-06T04:48:00+01:00</updated>
<published>2006-06-06T04:48:00+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1855#p1855</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1855#p1855"/>
<title type="html"><![CDATA[MR-C3024 and AVR Development Tools]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1855#p1855"><![CDATA[
Here's more from NewMicros<br /><br /><blockquote class="uncited"><div><br />I'd spoken with a software engineer here who had mentioned that the timer pulse generation and measurement on non-timer pins was probably based on interrupt driven software programming using those pins. Its a technique called "bit-banging" in which a port pin is made to act like a timer pin through software, depending on the speed of the processor to generate or read pulses. It works, though can be a bit complicated to program in. It would simply require enough processor cycles to generate or read the pulses. The Mega128 probably has 16 MIPs to work with using a 16 MHz clock, the Servopod has 40 MIPs to work with if developing in DSP56F8xx assembly. Should be doable if there is a programmer available to generate the interrupt code needed to output and input pulses on GPIO pins as well as Timer pins.<br /> <br />As an alternative, perhaps using 2 IsoPods would be a solution. They are priced at $99 each, so would be the same price as a ServoPod, but you would then have 2 x 14 = 28 timer pins available. You would need some software to have the 2 communicate to each other. And I believe their size is such that the 2 boards sized 1.2" by 3" each should fit in the space occupied by the HiTec board. We have RC-Servo adapter boards for these, but that might go beyond the depth of the enclosure on the Robonova. Used as is, the signal wire from each servo could be routed to the appropriate timer pin, while the power lines for the servo are routed to a power board.<br /> <br />Sending a servo pulse on a timer pin is shown on our Download page :<br /><!-- m --><a class="postlink" href="http://www.newmicros.com/store/product_details/download.html">http://www.newmicros.com/store/product_ ... nload.html</a><!-- m -->  <br />on page 6 of the IO Glossary. The example is :<br />An RC servo requires a 50 Hz (20 msec) PWM waveform with an on time varying from 1 msec to 2 msec, on output pin PHASEA0 (TA0). We wish to control this with an integer parameter from 0 to 100. <br /><br />The desired range of on-time corresponds to a duty cycle varying from 5% to 10%. 5% of 65535 decimal is 3277, and 10% is 6554. We need to add a fraction of 3277 to the base value of 3277. This is easily accomplished with the */ scaling operator: <br /><br />DECIMAL<br />: SET-RC-SERVO ( n -- )<br />   3277 100 */ ( scale 0-100 to 0-3277 )<br />   3277 + ( add base value of 3277 )<br />   TA0 PWM-OUT ( output that duty cycle, 5-10% of 65535 )<br />;<br /> <br />50000 TA0 PWM-PERIOD ( set period to 20 msec )<br />TA0 ACTIVE-HIGH<br />50 SET-RC-SERVO ( output 50% of range, 1.5 msec pulse width )<br /> <br /> <br />Similarly, reading a pulse can be accomplished as shown in later, or from one of our code examples for reading a sonar further down the download page : <br /><br />: SRF05 <br />  TA0 OFF TA0 ON TA0 OFF ( PULSE OUT<br />  TA0 ON                 ( MAKE HIGH TO BE INPUT<br />  TA0 SET-PWM-IN         ( READY TO READ PULSE WIDTH<br />  BEGIN <br />    CHK-PWM-IN           ( CHK PULSE<br />    ?DUP                 ( DUP IF NON ZERO<br />  UNTIL .                ( STOP WAITING WHEN NON ZERO, PRINT<br />;<br /> <br />Accelerometers and Gyros usually have a variable voltage that could be read by the analog to digital pins available. Simple lines like <br />ADC0 ANALOGIN . <br />would provide the current reading of a device attached to the ADC0 pin. <br /> <br />Finally, to get 2 IsoPods to talk to each other, there is a CAN example on the Download page, that I believe was used in an interesting robot. It had 6 sections that each had a Pod board in, which drove a pair of motors for that given section.   <br /> <br />As another example, there is code showing driving an 18 servo hexapod robot with inverse kinematics being calculated for each leg, to have appropriate placing of the robots foot depending on which direction it is being directed to travel. It does make use of PWM outputs, so would not read in pulses. <br /> <br />David Peterson<br /><!-- w --><a class="postlink" href="http://www.newmicros.com">www.newmicros.com</a><!-- w --><br /></div></blockquote><p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=86">subpilot</a> — Tue Jun 06, 2006 4:48 am</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[limor]]></name></author>
<updated>2006-06-06T01:03:05+01:00</updated>
<published>2006-06-06T01:03:05+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1845#p1845</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1845#p1845"/>
<title type="html"><![CDATA[MR-C3024 and AVR Development Tools]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1845#p1845"><![CDATA[
<blockquote><div><cite>i-Bot wrote:</cite><br />If Newmicros are able to program an efficient timed group move function based on the assumption all servos are digital. And offer an "occasional" position feedback capability, this may be enough.<br /></div></blockquote><br /><br />It'd be interesting to see how often position can be captured contiously as this would allow for feedback control. For example, if the robot's foot gets blocked while walking, the knee servo position readings would register unusual positions and elevated current consumption in comparisson to the standard gait. Falling may be prevented by doing some corrective action.<br />(see <a href="http://vizlog.com/robot/" class="postlink">example1</a> - Andrew Lippitt's ground sensing exapod and <a href="http://www.mundobot.com/projects/melanie/v2/enmelanie_v2.pdf" class="postlink">example2</a> - Alejandro Alonso-Puig's obstacle sensing hexapod and <a href="http://www.bnxt.com/blog/2006/01/servo-motors-rotation-encoding-and.html" class="postlink">example3</a> - speculation about NXT's position feedback)<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=2">limor</a> — Tue Jun 06, 2006 1:03 am</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Bullit]]></name></author>
<updated>2006-06-05T20:32:12+01:00</updated>
<published>2006-06-05T20:32:12+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1840#p1840</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1840#p1840"/>
<title type="html"><![CDATA[MR-C3024 and AVR Development Tools]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=316&amp;p=1840#p1840"><![CDATA[
I've started to look at it.  It appears that the robobasic interface operates at 9600 and 115k baud.  9600 for basic control functions and reading servo positions.  115k for programming.  It appears that allc ommands are packetized (framed STX, ETX) every packet is acknowledged from the MR-C3024.  I haven't looked to far yet but my interest is also to make the most out of the MR-C3024.  Its too bad that Hitec will not provide us with at least documentation of this serial protocol.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=173">Bullit</a> — Mon Jun 05, 2006 8:32 pm</p><hr />
]]></content>
</entry>
</feed>