Shop OBEX P1 Docs P2 Docs Learn Events
Eddie firmware — Parallax Forums

Eddie firmware

william chanwilliam chan Posts: 1,326
edited 2011-12-15 16:56 in Robotics
Hi,

Is EDDIE board pre-loaded with a demo firmware?
I powered up EDDIE but it doesn't seem to do anything but stand still for a few hours now.
«1

Comments

  • Kevin McCulloughKevin McCullough Posts: 62
    edited 2011-10-26 14:16
    Hi William,

    The Eddie Control Boards are not shipped with firmware pre-loaded. This is so the latest firmware can be loaded by customers instead of firmware becoming out of date while the boards are held in inventory.

    The firmware is still in development; however I've attached a recent version for you to use temporarily which has several of the commands implemented. Hopefully this helps at least to get you operating the robot. Also the spreadsheet is a very brief summary of the commands. Keep in mind, most of the commands are going to be changed/improved before the actual release. Our goal is to have a complete firmware release package available soon (with actual documentation).
  • william chanwilliam chan Posts: 1,326
    edited 2011-10-26 15:37
    Thanks Kevin, the firmware looks pretty amazing even now.
  • Kevin McCulloughKevin McCullough Posts: 62
    edited 2011-10-26 16:16
    I'll pass along your appreciation to David Carrier, he's the man!
  • ercoerco Posts: 20,256
    edited 2011-10-26 16:51
    I powered up EDDIE but it doesn't seem to do anything but stand still for a few hours now.

    It is patiently waiting for the perfect time to strike. Sweet dreams! Mwa-Hah-Hah... :)
  • Kevin McCulloughKevin McCullough Posts: 62
    edited 2011-10-27 13:42
    By the way,

    Just wanted to mention this in case anyone was having any issues with the motors not spinning when the "gospd" command is used. It has to do with the wiring of the Position Controllers. Some of the robots may have been wired up with each Position Controller on it's own individual bus (one cable goes to the left, on cable goes to the right). The firmware package above expects the Position Controllers to be wired on the same bus. So if anyone is seeing an issue where the motors don't respond when you type "gospd 10 10" for example, check the wiring and jumpers - it should match this configuration:

    Servo cable from first "Encoders" pin (marked as pin 11) to the left Position Controller.
    Servo cable from the left Position Controller across the robot to the right Position Controller.
    Jumper ID setting on the left Position Controller should be 0 (both jumpers installed).
    Jumper ID setting on the right Position Controller should be 1 (jumper closest to the headers is removed)

    After this is changed, please power cycle the board, and try the "gospd" command again, and everything should work as expected.
  • Tom CTom C Posts: 461
    edited 2011-10-28 16:50
    Kevin,

    The recent version of Eddie's firmware functions very similar to Steve Norris' Propeller Robot Controllers. Steve has designed a RRCC (Remote Robot Control Console) http://find.botmag.com/500106 that communicates with his Propeller controlled robots by sending two letter commands, similar to the Eddie Propeller Controller Board command set, over a Xbee wireless link.
    I have built a RRCC to control my six wheel skid steering rover that is controlled by a Propeller board. It would not take much reprogramming of the RRCC to be able to send the Eddie command set and command Eddie through a wireless Xbee link.
    As soon as I can get my hands on an Eddie Propeller Controller Board, I will reprogram my RRCC to control my version of Eddie remotely before I add a laptop to the mix.
    Regards,
    TCIII
  • william chanwilliam chan Posts: 1,326
    edited 2011-10-28 17:32
    Hi Kevin,

    Should I add any capacitors or resistors to the Rev A. EDDIE Control Board to make it almost equivalent to Rev B board?
  • ercoerco Posts: 20,256
    edited 2011-10-29 19:23
    Kevin: You really sound like the Go-to guy for Eddie and many things robotic at Parallax. Your technical knowledge is greatly appreciated here, and I for one would love to hear more from you in these hallowed forums. Opinions, dreams and wish lists are excellent thread material too. Please let us hear more from you, Mr. 54 Posts! :)
  • Kevin McCulloughKevin McCullough Posts: 62
    edited 2011-10-30 23:25
    Ha ha, thanks Erco! I am really into robots and electronics big time! From your encouragement, I will certainly post/interact more. Thanks!

    @ William: If you happened to have one of the first-release Rev A boards (there weren't too many that made it out before the fix), if you feel comfortable doing so, we encourage you to solder on an input capacitor. The capacitor should be at least 470uF (recommended electrolytic), but 1000uF is even better. It should be rated to at least 25V. The capacitor should be soldered between "Main" and "GND" under the big input power connector. It's easiest to glue the cap to the bottom of the board (superglue gel works well), then solder the leads.

    Also, I would encourage you to get a hold of Parallax Tech Support about soldering on the capacitor, as I believe they have a little somethin' somethin' for you if you are willing to fix it yourself. (Since it saves us money/time/shipping if you fix it yourself, we want to pass those savings right back to ya!)
  • william chanwilliam chan Posts: 1,326
    edited 2011-11-01 21:40
    Hi Kevin,

    How do I travel or turn in reverse?

    I tried TRVL -100 10 but it didn't work.
    TURN -B4 10 also did not work for me.

    Tell David Carrier that the current TURN command uses the current speed and not the speed specified in the 2nd parameter.
  • David CarrierDavid Carrier Posts: 294
    edited 2011-11-02 10:13
    William,
    The TRVL distance and TURN angle are both signed words, so you have to subtract the number from FFFF and add one to get the negative. The value -100 would be FF01, and -B4 would be FF4C.

    The command parser is supposed to check the TRVL and TURN commands for two valid parameters, but there is a bug that allows commands through with only one valid parameter. When this happens, it uses the second parameter from the previous two-parameter command, so if you have a malformed 2nd parameter you may see it using a previous speed instead of returning an error.

    — David Carrier
    Parallax Inc.
  • william chanwilliam chan Posts: 1,326
    edited 2011-11-04 00:34
    Hi David,

    I can't seem to get EDDIE to accept the 2nd parameter when I type

    TURN 00B4 10

    It keeps using the previous speed to turn.
    Did I do something wrong?
  • Kevin McCulloughKevin McCullough Posts: 62
    edited 2011-11-06 00:31
    I think that must be related to the bug David was talking about. I'm pretty sure he figured out and fixed the bug in the code on Friday (he was talking about finding a fix), so there's a pretty good chance we'll be able to release some improved firmware soon. Also, I'm working on detailed documentation to go with the firmware.

    So to make a long story short, I think we will have an actual firmware release package to download soon (hopefully in the next couple days).
  • william chanwilliam chan Posts: 1,326
    edited 2011-11-15 00:57
    Any new firmware for us to play with?
  • TClarkTClark Posts: 4
    edited 2011-11-21 13:21
    I really, really would like to know when we can see the Eddied firmware with doco?
  • Jessica UelmenJessica Uelmen Posts: 490
    edited 2011-11-21 14:22
    Hey everyone,

    We should have the 'official' version up on the web tomorrow. We'll let you guys know as soon as it's there!

    Cheers,
    Jessica
  • Jessica UelmenJessica Uelmen Posts: 490
    edited 2011-11-22 16:33
    Hey everyone,

    Unfortunately, time got away from us today, so we're now shooting for releasing the firmware tomorrow.

    Thanks for your patience, and sorry for another delay!

    -- Jessica
  • Jessica UelmenJessica Uelmen Posts: 490
    edited 2011-11-23 15:03
    Alright, the firmware and command set documentation is officially up and available for download on www.parallax.com/eddie.

    Firmware
    Documentation

    Happy Developing!
  • Tom CTom C Posts: 461
    edited 2011-11-24 11:35
    Alright, the firmware and command set documentation is officially up and available for download on www.parallax.com/eddie.

    Firmware
    Documentation

    Happy Developing!
    Hi Jessica,
    Thanks for the updated software. Good work!
    Regards,
    TCIII
  • william chanwilliam chan Posts: 1,326
    edited 2011-11-24 15:01
    Congrats on the firmware release!

    On a side note, I am not sure why, every time I key in HWVER I get a different number in response.
  • william chanwilliam chan Posts: 1,326
    edited 2011-11-25 05:59
    Hi David,

    If I execute

    TRVL 30 10

    and then I try to prevent EDDIE from moving with my hands, it seems to abort travelling and return ERROR.
    After that, all TRVL, TURN and SPD commands keep returning ERROR until the board is reset.
  • treborz17treborz17 Posts: 76
    edited 2011-11-25 17:15
    Alright, the firmware and command set documentation is officially up and available for download on www.parallax.com/eddie.

    Firmware
    Documentation

    Happy Developing!


    Is what was made available for download, just firmware that will do absolutely nothing without an
    application programming sending it commands? Since I did not read any reference in the documentation about the Kinect, so, is the Kinect only made to function through an application program?

    If the firmware is how I described it, are there application programs, demos, complete examples or tutorials available? Being sold as a robot I would find it sort of lacking if it did nothing when turned on.

    I find this release the most advanced and challenging listing of spin that I have encountered since I became a customer and promoter of Parallax in 2006. Please, any thoughts at all, that might offer any clarification to my questions would really be appreciated.

    Robert
  • TClarkTClark Posts: 4
    edited 2011-11-26 08:20
    This is one answer I received on the MS Robotics Forums from Trevor Taylor:

    http://social.msdn.microsoft.com/Forums/en-US/roboticscommunity/thread/282ead07-f003-472e-a81d-b3978fd88bd3

    "It has taken a lot of development effort and is designed to provide a good interface for higher-level robotics functions. You talk to the board using simple ASCII (text) commands.

    "We will be releasing an update to RDS 4 shortly (it is in final testing) that will provide services for the Reference Platform. Parallax will provide the "hardware abstraction layer" that interfaces between the Firmware and the high-level RDS services. This intermediate service uses contracts (programming interfaces) that we have defined for use with RDS and the Reference Platform services. This allows other vendors to produce Reference Platform robots and take advantage of the high-level services as well."

    Trevor
  • treborz17treborz17 Posts: 76
    edited 2011-11-26 14:27
    TClark wrote: »
    This is one answer I received on the MS Robotics Forums from Trevor Taylor:

    http://social.msdn.microsoft.com/Forums/en-US/roboticscommunity/thread/282ead07-f003-472e-a81d-b3978fd88bd3

    "It has taken a lot of development effort and is designed to provide a good interface for higher-level robotics functions. You talk to the board using simple ASCII (text) commands.

    "We will be releasing an update to RDS 4 shortly (it is in final testing) that will provide services for the Reference Platform. Parallax will provide the "hardware abstraction layer" that interfaces between the Firmware and the high-level RDS services. This intermediate service uses contracts (programming interfaces) that we have defined for use with RDS and the Reference Platform services. This allows other vendors to produce Reference Platform robots and take advantage of the high-level services as well."

    Trevor

    Thanks for the info TClark. The Microsoft forum sort of indicated my thoughts that someone is or has dropped the ball with Eddie. I was very interested in entering the contest until I realized that I'm going to need a lot more information on programming Eddie before I could consider taking part in the contest. Trevor's response seems to offer some encouragement but it-too is late and most of it over my head. I know, "If you can't keep up with the big dogs -- stay on the porch". I'm not sure but I thought Eddie was touted to be, as when received and assembled, to roam autonomously, and able to be controlled via WiFi -- So'o'o'o all this advanced ability was to keep you from having to re-invent the wheel and be able to immediately start designing useful things for robots to do,

    Robert
  • PublisonPublison Posts: 12,366
    edited 2011-11-26 16:14
    treborz17 wrote: »
    Thanks for the info TClark. The Microsoft forum sort of indicated my thoughts that someone is or has dropped the ball with Eddie. I was very interested in entering the contest until I realized that I'm going to need a lot more information on programming Eddie before I could consider taking part in the contest. Trevor's response seems to offer some encouragement but it-too is late and most of it over my head. I know, "If you can't keep up with the big dogs -- stay on the porch". I'm not sure but I thought Eddie was touted to be, as when received and assembled, to roam autonomously, and able to be controlled via WiFi -- So'o'o'o all this advanced ability was to keep you from having to re-invent the wheel and be able to immediately start designing useful things for robots to do,

    Robert

    I don't believe EDDIE was meant to be an "out of the box". robot. After talking to the Microsoft and Parallax people at Makerfaire where it previewed, I found most of the programming would have to be done in Microsoft Robotic Studio . The Propeller would not be capable to process the Kinect information. Parallax provided the Firmware for motor control, and sensor input; but the PC, (which is a requirement for EDDIE), is needed to use the Microsoft RDS software. This is what it was designed for.

    It's not just an upgraded Stingray or MedUSA hardware platform.
  • treborz17treborz17 Posts: 76
    edited 2011-11-26 19:16
    Publison wrote: »
    I don't believe EDDIE was meant to be an "out of the box". robot. After talking to the Microsoft and Parallax people at Makerfaire where it previewed, I found most of the programming would have to be done in Microsoft Robotic Studio . The Propeller would not be capable to process the Kinect information. Parallax provided the Firmware for motor control, and sensor input; but the PC, (which is a requirement for EDDIE), is needed to use the Microsoft RDS software. This is what it was designed for.

    It's not just an upgraded Stingray or MedUSA hardware platform.


    Publison,

    I would imagine that the below listed excerpt from the Eddie Robot Platform documentation from Parallax might have steered me that way!

    No matter of what the EDDIE platform consists -- I support Parallax, their intentions, and ability, no matter how the Eddie configuration ends up.

    *****************************************
    Eddie is a new type of robot from Parallax Inc. designed to foster
    creativity, innovation and experimentation. Compatible with Microsoft’s Robotics
    Developer Studio, Eddie can roam autonomously, see in 3D using the Microsoft
    Kinect™, and be driven remotely using a wireless controller.


    The included control board uses the 8-core Propeller microcontroller to
    directly control two 12V motors and collect data from several sensors around the
    robot. The entire base is controlled over a simple USB connection and convenient
    open-source command interface. The Eddie Control Board provides access to
    additional I/O, making Eddie fully expandable with numerous sensors &
    accessories.
    *******************************************

    Robert
  • Tom CTom C Posts: 461
    edited 2011-11-26 19:48
    Publison,
    Nice observation concerning how Eddie is really supposed to function using the Eddie Propeller Controller as an interface between the Eddie hardware and the onboard PC.
    An example of how the Eddie Propeller Controller functions can been seen with Steve Norris' RRCC and his Propeller controlled Nomad (Stingray). Steve's Robot Remote Control Console (RRCC) sends multiple character ASCII commands, similar to those used to control the Eddie Propeller Controller, to control his Stingray based Nomad robot rover. I have successfully modified Steve's RRCC and Nomad Propeller Spin software to control my six wheel skid steering robot and two axis turret. It would be very simple to modify Steve's RRCC software to control Eddie. The RRCC could remotely communicate with Eddie over a Xbee 2.4GHz wireless link. I would recommend that anyone who is interested, including me, in building a telepresence robot using Eddie seriously review and understand Steve's Spin code as a basline for any design. I am presently evaluating the MS Kinect with my PC to get a feel of how it functions and performs. I am also evaluating mini-itx systems to use on my Eddie clone instead of a notebook or laptop PC.
    Regards,
    TCIII
  • Jessica UelmenJessica Uelmen Posts: 490
    edited 2011-11-27 16:35
    Hey Robert,

    Thanks very much for your feedback and posts, it's very interesting to see the perception from the outside. Hopefully I can help clear up some of your confusion.

    Eddie was designed in collaboration with Microsoft to be a reference platform for their release of Robotics Developer Studio 4; so the platform is meant to be programmed through RDS4, which uses C#.

    We realize that since the Eddie services for RDS haven't been released, the purpose of the robot is still a little unclear. As Publison and TCII pointed out, the Propeller alone wouldn't be able to process the data from the Kinect to utilize it's full feature set, so RDS4 uses your PC to combine the data from the Kinect and Propeller (which handles the lower-level functions: driving motors, reading encoders, obtaining distance measurements, etc).

    The firmware and command set release on Friday is what's used on our end to interface with RDS. Microsoft has been using this firmware to create the Eddie services which will sit on top of RDS4, which you can then use to program Eddie.

    These services provide a nice default interface which shows sensor data, encoder values, images from the Kinect, and allows you to drive the robot using an Xbox360 controller (which is what you have read in our adverts). From what I've experienced, it's really very easy and well put together.

    Look for the services to be released very soon, and let us know if you have any other questions or comments!

    Cheers,
    Jessica
  • Tom CTom C Posts: 461
    edited 2011-11-27 16:45
    Hi Jessica,
    Thanks for the software update. Much appreciated.
    Regards,
    TCIII
  • treborz17treborz17 Posts: 76
    edited 2011-11-27 23:21
    Jessica,

    Many thanks – your last response cleared up everything that was confusing me – allowing me to know what I have, and specifically what I’m waiting for. I now have a whole new respect for the Eddie project.

    BTW, I downloaded a recent update of the Microsoft Kinect for Windows SDK, and was able to get my Kinect up and running on my laptop with some included demo apps that utilize all three of its’ cameras.

    Thanks again,

    Robert

    post scriptum: Sure anxious to purchase the prop controller board for the Eddie!
Sign In or Register to comment.