Shop OBEX P1 Docs P2 Docs Learn Events
Propeller add-on for Raspberry Pi: RoboPi.. the most advanced robot controller for Pi - Page 9 — Parallax Forums

Propeller add-on for Raspberry Pi: RoboPi.. the most advanced robot controller for Pi

16791112

Comments

  • RsadeikaRsadeika Posts: 3,824
    edited 2014-05-21 07:03
    @Bill Henning. Have you considered using the RoboPi with the iRobot Create platform? I was trying to use the Activity Board with my unit, and I have reached a dead end, ran out of processing power to use the Create's sensors efficiently. The Create chassis has been around a long time, but I am not sure if anybody here is using it with a Propeller.

    Ray
  • Bill HenningBill Henning Posts: 6,445
    edited 2014-05-21 07:28
    Thanks Rick, single pin mode only it is :)

    That demo sounds great!

    I plan to release new firmware / libraries on the weekend, with the sensor support. I just have to find my Ping sensor... I know where my SeeedStudio one is.
    mindrobots wrote: »
    If it is working fine in single pin mode, I see no reason to waste a pin. I'm sure any spare pins can be put to good use!

    I'm being a slacker on my Python code - I got distracted by something shiny!

    RoboPi did participate in a over the web demo the other night. I pointed a Dlink surveillance camera at my little LED board with the Pi and RoboPi connected to it and exposed my Pi to the Internet so I could SSH to it. So I could log into the Pi, run some Python scripts and the LED would react accordingly and we watched it over the Internet....lots of technology put into play just to blink an LED!! :lol: It all worked and was fun to do and that's what counts. More work is in order to clean up my Python module but the concepts all work, so that is good!

    I need to grab the new stuff from you so I'm up to date. Ahh, so little play time!!
  • Bill HenningBill Henning Posts: 6,445
    edited 2014-05-21 07:32
    Hi Ray,

    Thanks for the great idea!

    I'd forgotten about the iRobot Create.. even though I remember drooling over it a couple of years ago. I downloaded the manuals, and I think I'll order an iRobot Create today :)

    I also have a Roomba somewhere that stopped working as a vacuum, I really should fix it.

    Bill
    Rsadeika wrote: »
    @Bill Henning. Have you considered using the RoboPi with the iRobot Create platform? I was trying to use the Activity Board with my unit, and I have reached a dead end, ran out of processing power to use the Create's sensors efficiently. The Create chassis has been around a long time, but I am not sure if anybody here is using it with a Propeller.

    Ray
  • RsadeikaRsadeika Posts: 3,824
    edited 2014-05-21 08:22
    The experiments that I have tried so far:
    1. PropBOE picking up raw power supply from Create, and also powering the Pi. The Create battery got run down very quickly. Probably needs a two battery system to have it work efficiently. Maybe a 10,000nAmp power bank? But then you have the recharge hassle of the power bank.
    2. Dealing with the D25 inside the cargo bay, needs special EE expertise. Could not figure out a good solution.
    3. The latest, Activity Board being powered from a BOEBOT Li-ion power supply. A hassle when you have to have it recharged.

    The reason I like the Create, it has a docking station where it can do the battery recharge. Plus it has some built in sensors that can be used, which frees up a lot of pins on the Propeller. I am now leaning toward doing some experiments with the camera that you can fit the Pi with, and having the Pi use the WiFi with a DUCK antenna, I think that is what they are called. This set could allow steering of the robot from a remote location. Just a few things that I have tried...

    Ray
  • Bill HenningBill Henning Posts: 6,445
    edited 2014-05-23 09:35
    Hi Ray,

    I always use a two battery system on my RoboPi / Pi based bots. Unless the motors on a bot draw very little power, and have a low stall current, a single battery pack will simply not cut it :(

    These days I tend to use off-the-shelf USB "charger" battery packs to power the Pi's on my bots, which also powers RoboPi, and a separate battery pack (NiMh, LiON, LiPO and even old NiCd RC packs) for the motors. Works great :)

    I am still planning to order a Create - looks like a nice platform.

    Bill
    Rsadeika wrote: »
    The experiments that I have tried so far:
    1. PropBOE picking up raw power supply from Create, and also powering the Pi. The Create battery got run down very quickly. Probably needs a two battery system to have it work efficiently. Maybe a 10,000nAmp power bank? But then you have the recharge hassle of the power bank.
    2. Dealing with the D25 inside the cargo bay, needs special EE expertise. Could not figure out a good solution.
    3. The latest, Activity Board being powered from a BOEBOT Li-ion power supply. A hassle when you have to have it recharged.

    The reason I like the Create, it has a docking station where it can do the battery recharge. Plus it has some built in sensors that can be used, which frees up a lot of pins on the Propeller. I am now leaning toward doing some experiments with the camera that you can fit the Pi with, and having the Pi use the WiFi with a DUCK antenna, I think that is what they are called. This set could allow steering of the robot from a remote location. Just a few things that I have tried...

    Ray
  • Bill HenningBill Henning Posts: 6,445
    edited 2014-05-26 11:25
    Ray,

    I ordered an iRobot Create a few minutes ago, it should be here soon :)

    Thanks again for reminding me of that platform!

    It will be safer around my nephews than my simpler plastic bots.

    Bill
    Rsadeika wrote: »
    @Bill Henning. Have you considered using the RoboPi with the iRobot Create platform? I was trying to use the Activity Board with my unit, and I have reached a dead end, ran out of processing power to use the Create's sensors efficiently. The Create chassis has been around a long time, but I am not sure if anybody here is using it with a Propeller.

    Ray
  • Bill HenningBill Henning Posts: 6,445
    edited 2014-05-28 13:23
    I've been asked for examples of stand-alone operation for RoboPi... and photo's showing the orientation of a PropPlug when it is inserted.

    I took the attached photo for my "The Better Mousetrap Servo Tester" project - which uses a RoboPi in stand-alone node - and I will be adding it to the next revision of the RoboPi manuals.

    Until then, here you go:

    BMT_0568_web.JPG

    (click on thumbnail for large image)

    More photos in "The Better Mousetrap Servo Controller" build log on my site showing RoboPi running without a Raspberry Pi...
    800 x 530 - 129K
  • Bill HenningBill Henning Posts: 6,445
    edited 2014-05-30 12:08
    Update:

    I made some significant improvements to RoboPiObj, which I am now adding to RoboPiLib and the RoboPi firmware:

    1) The new timing resolution for servo and PWM generation is 4.96us

    This is a major improvement from the pervious 6.56us grain, and the improvement is due to eliminating PWM/servo capability for the dedicated serial, I2C and ADC pins on RoboPi shortening the scan cycle.

    2) I added support for non-20ms period servos (digital servos for example) with a new API function

    servoWritePeriod(pin, pulse_width, pulse_period)

    So if you wanted to use a servo that expected a 5ms period, and wanted a 500us pulse, you would call it as:

    servoWritePeriod(pin, 500, 5000)

    3) This update will also include readDistance() for at least the inexpensive HC-SR04 sensors.

    mm = readDistance(pin, HC_SR04)

    Note the changed syntax from the preliminary syntax in the User Manual - the change was made for consistency with the rest of the API.

    These changes will be available in the next firmware/API update, which I expect to release before Monday.

    The new files will be uploaded to the RoboPi product page at:

    http://www.mikronauts.com/raspberry-pi/robopi/
  • Bill HenningBill Henning Posts: 6,445
    edited 2014-06-02 11:16
    I just released v0.81 of the RoboPi firmware, object and Raspberry Pi library

    This version adds:

    - readDistance(pin) for HCSR-04 ultrasonic range sensor
    - improves servo and PWM resolution to 5 microsecond timing grain

    The new software is available on the product page at:

    http://www.mikronauts.com/raspberry-pi/robopi/

    readDistance() should also work with the Parallax Ping sensor, and may also work with the SeeedStudio range sensor.

    I will be testing both of those sensors shortly.
  • RsadeikaRsadeika Posts: 3,824
    edited 2014-06-04 05:52
    Summer is a slow time for my indoor robot projects, but I am still thinking about adapting the RoboPi to work with my iRobot Create. So, the RoboPi has to make a connection to the Create via the DB-25 inside of the cargo bay, not sure how that could be done. The minimum configuration for added control of the Create would be four Pings, and Parallax compass combination that would probably be best if it is used with a Propeller COG. In the manual it states that you utilize the Propeller via the RPi, but did not see any indication as to how you would implement the use of the COGs, in this scenario.

    As for the build of the RoboPi, I do not see a need for all of the servo ports unless, of course, there would be a way of using the three pin connectors for things other than servos. Then of course you would need to be proficient at creating the drivers for the three pin devices. The added devices would be a camera module connected to the RPi, a SHT11(temp/humid) sensor, and whatever else would fit :-)

    This sounds like it could be a very interesting project, but my biggest concern at the moment is, the connection contraption between the RoboPi and the Create. And of course I am still considering whether C is the way to go, or maybe Python would be the better way to go. Just want to get a general opinion as to the feasibility of this, if it is feasible than I will start another thread for further discussion.

    Ray
  • Bill HenningBill Henning Posts: 6,445
    edited 2014-06-04 10:00
    Hi Ray!

    My iRobot Create arrived yesterday!

    I'll try to take some photos later today. So far, I really like it. Love the cargo bay. It looks like it will be more durable than my Magician 2WD / 4WD chassis, more rug rat friendly :)

    I ordered it on the 26th of May (thanks again for reminding me of it) but I have not had time to do more than open the box and admire it...
    Rsadeika wrote: »
    Summer is a slow time for my indoor robot projects, but I am still thinking about adapting the RoboPi to work with my iRobot Create. So, the RoboPi has to make a connection to the Create via the DB-25 inside of the cargo bay, not sure how that could be done.

    If you can hang on a few days, I'll let you know. From my reading, the DB-25 will expose everything we would need to control the Create and read its sensors easily.

    The only snag so far is that it needs 12 alkaline AA cells, or that is what iRobot says... a quick google showed that the rechargable battery packs they sell use 12 NimH cells, so I will charge up 12 identical cells RSN.
    Rsadeika wrote: »
    The minimum configuration for added control of the Create would be four Pings, and Parallax compass combination that would probably be best if it is used with a Propeller COG. In the manual it states that you utilize the Propeller via the RPi, but did not see any indication as to how you would implement the use of the COGs, in this scenario.

    When RoboPi is used with a Raspberry Pi, the RoboPi firmware is controlled by a protocol implemented by the RoboPi firmware.

    When RoboPi is used stand-alone, RoboPiObj.spin provides pwm/servo/input/output/adc_input/ping input functionality, and you can add your own objects to build an overall robot app.
    Rsadeika wrote: »
    As for the build of the RoboPi, I do not see a need for all of the servo ports unless, of course, there would be a way of using the three pin connectors for things other than servos. Then of course you would need to be proficient at creating the drivers for the three pin devices. The added devices would be a camera module connected to the RPi, a SHT11(temp/humid) sensor, and whatever else would fit :-)

    When used with the Raspberry Pi, the current firmware implements:

    - digital input on any of the 24 servo three pin headers
    - digital output on any of the 24 servo three pin headers
    - PWM output on any of the 24 servo three pin headers
    - servo output on any of the 24 servo three pin headers
    - HC-SR04 range sensor on any of the 24 servo three pin headers (Ping and other 1 pin sensors should also work)

    The eight ADC inputs have three pin terminals and can be used for any analog sensor!

    I plan to add more drivers to the protocol - I am going for maximum flexibility and usability with the stock firmware, as you can see by what is already supported :)

    Of course, with custom firmware (or stand-alone operation) the sky is the limit!

    FYI, RoboPi communicates with the Raspberry Pi at 115.2kbps, and that could be increased if needed, so C code on the Pi can be used instead of drivers on RoboPi for most sensors.
    Rsadeika wrote: »
    This sounds like it could be a very interesting project, but my biggest concern at the moment is, the connection contraption between the RoboPi and the Create. And of course I am still considering whether C is the way to go, or maybe Python would be the better way to go. Just want to get a general opinion as to the feasibility of this, if it is feasible than I will start another thread for further discussion.

    Ray

    I'll get the RoboPi <-> Create connection going shorty, and Rick has a preliminary Python version of my C API almost ready I think (Rick? Any news?)

    So within a few days, it will be feasible :)
  • Bill HenningBill Henning Posts: 6,445
    edited 2014-06-15 17:22
    Update:

    I just created two new 8GB Wheezy SD cards in preparation to moving my development work to the latest SimpleIDE / PropGCC / OpenSpin combo, and I plan to update the user manual with more configuration instructions.

    More API additions soon!
  • Bill HenningBill Henning Posts: 6,445
    edited 2014-06-16 14:34
    Hi Rick,

    I'd love to see your Python code if it is ready to be posted :)
    mindrobots wrote: »
    If it is working fine in single pin mode, I see no reason to waste a pin. I'm sure any spare pins can be put to good use!

    I'm being a slacker on my Python code - I got distracted by something shiny!

    RoboPi did participate in a over the web demo the other night. I pointed a Dlink surveillance camera at my little LED board with the Pi and RoboPi connected to it and exposed my Pi to the Internet so I could SSH to it. So I could log into the Pi, run some Python scripts and the LED would react accordingly and we watched it over the Internet....lots of technology put into play just to blink an LED!! :lol: It all worked and was fun to do and that's what counts. More work is in order to clean up my Python module but the concepts all work, so that is good!

    I need to grab the new stuff from you so I'm up to date. Ahh, so little play time!!
  • mindrobotsmindrobots Posts: 6,506
    edited 2014-06-16 18:19
    Hi!

    I'd love to see my Python code too. I got distracted a few (ok, several) times! I'll try and get back to it real soon!
  • Bill HenningBill Henning Posts: 6,445
    edited 2014-06-28 12:42
    LOL!

    No worries, I am just getting back in the groove too, after spending a week on MS Zuiderdam cruising in Alaska :)

    A week without internet/forums was ROUGH!

    I hope to update all the API's, firmware etc., by the end of the month with some new functionality :):):)
    mindrobots wrote: »
    Hi!

    I'd love to see my Python code too. I got distracted a few (ok, several) times! I'll try and get back to it real soon!
  • Clock LoopClock Loop Posts: 2,069
    edited 2014-06-28 21:47
    214 x 200 - 12K
  • Bill HenningBill Henning Posts: 6,445
    edited 2014-06-29 16:08
    LOL... 11 weeks... quite a delay there.
    Clock Loop wrote: »
  • Bill HenningBill Henning Posts: 6,445
    edited 2014-06-29 16:14
    Update:

    I just installed SimpleIDE_0-9-45 as per Jeff's instructions at http://learn.parallax.com/propeller-c-set-simpleide/raspberrypi

    Obviously I can over-write the supplied propeller-load with the old one that works, but is there a newer one?

    Perhaps it would be useful to have a "device: /dev/xxxx" for Unix boxes? (such as the pi)

    I also made a simple robopi.cfg for SimpleIDE:
    # robopi.cfg
        clkfreq: 100000000
        clkmode: XTAL1+PLL16X
        baudrate: 115200
        rxpin: 31
        txpin: 30
    
  • Bill HenningBill Henning Posts: 6,445
    edited 2014-06-30 19:36
    RoboPi User Manual v0.81 is now available, bringing the user documentation in sync with the Spin object, Raspberry Pi library and RoboPi firmware.

    This version fixes the preliminary readDistance() information, and adds information on hooking up the HC-SR01 (one pin mode) on RoboPi.

    At this point, HC-SR01 and Ping should work perfectly, and the SeeedStudio red sensor should also work.

    You can find it on the product page under "Downloads"

    http://www.mikronauts.com/raspberry-pi/robopi/

    I am working on some demos, hope to post them soon.
  • Bill HenningBill Henning Posts: 6,445
    edited 2014-07-01 11:55
    Minor update:

    RoboPi is now available on Ebay! Just search for RoboPi...
  • Bill HenningBill Henning Posts: 6,445
    edited 2014-07-07 19:27
    Minor updates:

    1) For those of you using RoboPi on a Raspberry Pi, I just released "Pi Jumper", which was designed to also work in conjunction with RoboPi.

    It is basically an great breakout board for the Pi that provides 3v3 regulation, 5V I2C and 3V3 I2C, and can plug into a solderless breadboard.

    http://www.mikronauts.com/raspberry-pi/pi-jumper/

    2) I've been working on an API / documentation / libraries / objects / firmware update to make using differential stearing and gear motors easier for those new to robotics. I hope to release that next week.
  • Heater.Heater. Posts: 21,230
    edited 2014-07-14 07:54
    Every time I see "B+" I think of the plate supply voltages of vacuum tube circuits. 100's or 1000's of volts. B+ and Raspis just don't mix.
  • mindrobotsmindrobots Posts: 6,506
    edited 2014-07-14 08:04
    When I think B+, I see it as a grade in school and think if it had worked a little harder, studied a bit more, it could be an "A"! :smile:

    After all, this is ALL about education!!
  • Bill HenningBill Henning Posts: 6,445
    edited 2014-07-14 08:32
    LOL!

    Too true.

    I suspect nobody on this forum would be surprised to learn that I've printed out all the PDF's I could find about the mechanicals and extra connector signals.

    Hmm... Is that Eagle I see on my desktop?

    My existing Pi products (RoboPi, EZasPi, Pi Jumper) should all work on the B+ however they would not be able to use the mouting holes, and would stick out a bit over the USB/Ethernet connectors. I'll post photos as soon as I have some B+'s to stack them on.

    EZasPi (B) will have to be re-purposed as an I2C peripheral experimenter's board, which it was also designed to be used as (see my four pin I2C header) - however it cannot mount below the new Pi B+ either.
    jmg wrote: »
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2014-07-14 11:58
    This is what happens when you try to support another product with your project. :) We did it too.. (You would think I would learn by now.)

    The interconnecting cable that fits between the older module RasPi, should work just fine with the B+.
    There will be a few pins hanging out of the one side, but I can't see where it should cause issues like bent pins.
    Mine is nice and lean on the sides of the connector.

    Jeff
  • mklrobomklrobo Posts: 420
    edited 2014-07-14 13:37
    Hi guys,

    My latest Propeller based board, RoboPi, is now in stock, and available for sale.

    Product page on my site: http://www.mikronauts.com/raspberry-pi/robopi/

    Robot_Sandwich_0844_web.JPG

    (click on thumbnail for larger image)

    This photo shows a Robot Sandwich consisting of:

    - RoboPi on top
    - EZasPi prototyping board
    - Raspberry Pi Model B
    - EZasPi (B) prototyping board

    Plenty of prototyping space :)

    The prototype run was 100% functional, and I've ordered production boards. Now I just have to figure out the BOM cost so I can price it :)

    RoboPi has:

    - Propeller running at 80Mhz or 100Mhz
    - 24 servo connectors for digital I/O (P0-7, P8-15, P16-P23)
    - P0-7 & P8-15 groups can select external servo power or 5V from the Pi header
    - three 10 pin I/O headers (3v3, Vss, P0, ... , P7) standard for my boards
    - 32KB or 64KB EEPROM
    - MCP3008 or MCP3208 analog to digital converter
    - servo style connectors for AIN0-AIN7
    - 4 pin I2C expansion connector for the prop
    - 4 pin I2C expansion connector for the Pi
    - 5 pin comm connector / 4 pin propplug connector for stand-alone operation without a Pi
    - on-board 3.3V regulator from Pi 5V
    - when configured for 100Mhz, 64KB EEPROM, MCP3208 it is RoboProp software compatible (except uSD, L298)

    RoboPi supports SimpleIDE for C and Spin programming with SimpleIDE running on the Raspberry Pi - no PropPlug needed!

    RoboPi can also work as a stand-alone robot controller (without a Pi) when supplied with a regulated 5V supply using PropPlug for programming.


    The following pricing is for 1-9 kits per order. Please contact me for educational or distributor quantity pricing.

    RoboPi Lite Kit: $24.95USD + s/h

    This package is intended for hobbyists who already have the IC's, or schools/clubs/distributors who prefer to source their own integrated circuits.

    - printed circuit board
    - extra tall stacking header
    - nylon spacers, screws, nuts for the two mounting holes
    - 6.250MHz crystal
    - all the parts EXECPT for Propeller, MCP3208, 25LC512 (Digikey.com pricing for this line was $21+s/h yesterday)
    - DOES NOT INCLUDE A RASPBERY PI

    RoboPi Full Kit: $49.95USD + s/h

    - everything included in the Lite Kit
    - Propeller P8X32A-D40 chip
    - MCP3208 12 bit ADC
    - 24LC512 EEPROM
    - DOES NOT INCLUDE A RASPBERY PI

    Shipping & Handling

    for one only RoboPi Lite Kit s/h is $8.00USD to the continental US, no insurance, no tracking

    for one or two RoboPi kits (Lite or Full) s/h is $16.50 to the continental US, $100 insurance, tracking number provided

    Please contact me for shipping quotes for other destinations or for a larger number of kits with your address, as for larger quantities I use "Expedited Post" for which I need the destination and number of kits. At three kits and up, Expedited ends up costing less on a per-kit basis than the options above.

    Shipping to Canada is a bit cheaper (as I am based in Canada), shipping outside of North America costs more.

    Availability

    RoboPi is now available for sale.

    Please do not hesitate to ask any questions you may have! I'll be happy to respond here.

    Best Regards,

    Bill

    There is always somebody who asks a question out of sorts. (Had to be me) Can I use this setup with a Beaglebone? Do you think it could be done with
    little alteration? Beaglebones are selling pretty well, right now. Pleeeeeeeeease!
  • Bill HenningBill Henning Posts: 6,445
    edited 2014-07-14 14:12
    I know what you mean!

    The PMC/Micromite looks good, well done.
    This is what happens when you try to support another product with your project. :) We did it too.. (You would think I would learn by now.)

    The interconnecting cable that fits between the older module RasPi, should work just fine with the B+.
    There will be a few pins hanging out of the one side, but I can't see where it should cause issues like bent pins.
    Mine is nice and lean on the sides of the connector.

    Jeff
  • Bill HenningBill Henning Posts: 6,445
    edited 2014-07-14 14:19
    RoboPi running my firmware should work well on a BBB over one of its serial ports.

    I could probably port RoboPiLib in short order (I do have a couple of BBB's in my lab, and I made my EZasBone prototyping board specifically for theBBB see http://www.mikronauts.com/proto/ezasbone/ ... including special ordering extra tall stacking headers for the BBB)

    Getting the whole SimpleIDE/propgcc/openspin toolchain running on the BBB is something I unfortunately don't have time for.

    Take a peek at the RoboPi User Manual on the RoboPi product page. If you like that C API, I can get that running on a BeagleBone. Debian preferred, but I am sure I could manage it on Arch linux as well.
    mklrobo wrote: »
    There is always somebody who asks a question out of sorts. (Had to be me) Can I use this setup with a Beaglebone? Do you think it could be done with
    little alteration? Beaglebones are selling pretty well, right now. Pleeeeeeeeease!
  • Heater.Heater. Posts: 21,230
    edited 2014-07-14 17:52
    I'm very sure Bill's hardware will work with the BBB. If you want to run the Propeller development tools on the BBB then someone has to build them to run on there.

    You could have a go yourself. Fetch the source for propgcc from https://code.google.com/p/propgcc/ and for the SimpleIDE from https://code.google.com/p/propside/. They both contain instructions for doing the build and install.

    The whole job takes 24 hours or so on the Pi, should be a bit quicker on the BBB.

    When you get stuck we can probably answer your questions. Well, only if you are running Debian on the BBB in my case.
Sign In or Register to comment.