Page 1 of 2

RoboPi with Raspberry Pi FAQ

PostPosted: Wed Sep 17, 2014 8:46 am
by mikronauts
This forum is for discussions about RoboPi, Mikronauts advanced robot controller for the Raspberry Pi.

RoboPi features 24 digital I/O's and 8 analog inputs.

Each digital I/O can be independently configured to provide:

- digital input
- digital output
- pwm output
- servo output

Each analog input can be read as a 10 bit or 12 bit value.

RoboPi is supported by C and Python libraries for the Raspberry Pi, and can also run in a stand-alone configuration (without a Raspberry Pi).

Please post your questions about using RoboPi with a Raspberry Pi, (and programming RoboPi in C or Python on the RPi) in this forum.


For more complete details about RoboPi, including documentation and example code, please see the RoboPi product page:

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

For more details about the Raspberry Pi, please see:

http://www.raspberrypi.org

Image

Re: RoboPi with Raspberry Pi FAQ

PostPosted: Mon Dec 15, 2014 12:02 pm
by davidgitz
Hi, I am interested in getting a RoboPi. I currently am using a Raspberry Pi for my Thesis project https://code.google.com/p/icarus-uav-system/wiki/ICARUS_ROVER. However I am afraid that the Pi will not be sufficient for computation (I am doing feature tracking and right now I'm getting about 1 frame/second). I have an ODroid-X2 that I may use instead. From my understanding the RoboPi communicates over a UART link to the Pi, which has a C/C++ library built for it. I'm sure building the C API will not be a challenge for the ODroid-X2, so I think this would work without too many problems. I know that the RoboPi also has some eeprom stuff for the Pi which I would take out. Is there anything else the RoboPi is doing that is specific to the Raspberry Pi?

Re: RoboPi with Raspberry Pi FAQ

PostPosted: Mon Dec 15, 2014 12:17 pm
by mikronauts
Hi David,

Welcome to the Mikronauts forum, and thank you for your interest in RoboPi.

Your project looks quite interesting, and that is a nice looking bot you have there!

It sounds like you don't intend to use the RoboPi firmware, but write your own custom code.

In this case, all you have to do is establish your own communications between the Propellers serial port, and the appropriate serial port on your Odroid-X2. The C/C++ and Python libraries use a binary protocol and require the standard firmware running in RoboPi.

RoboPi requires:

- 5VDC
- GND
- TX
- RX
- 1 GPIO if you expect to program it from an SBC for /RST

As you are not planning to use the firmware, you can just use a PropPlug plugged into a USB port (or 3v3 TTL serial, GND/RX/TX) for communication.

FYI:

Currently the RoboPi firmware is supported on Raspberry Pi Models A/A+/B/B+ and the Banana Pi, with C and Python libraries. I will add other platforms as I qualify them.

I hope to qualify two quad core ARM platforms by mid-January, and an octo-core ARM by mid-February.

davidgitz wrote:Hi, I am interested in getting a RoboPi. I currently am using a Raspberry Pi for my Thesis project https://code.google.com/p/icarus-uav-system/wiki/ICARUS_ROVER. However I am afraid that the Pi will not be sufficient for computation (I am doing feature tracking and right now I'm getting about 1 frame/second). I have an ODroid-X2 that I may use instead. From my understanding the RoboPi communicates over a UART link to the Pi, which has a C/C++ library built for it. I'm sure building the C API will not be a challenge for the ODroid-X2, so I think this would work without too many problems. I know that the RoboPi also has some eeprom stuff for the Pi which I would take out. Is there anything else the RoboPi is doing that is specific to the Raspberry Pi?

Re: RoboPi with Raspberry Pi FAQ

PostPosted: Wed Dec 31, 2014 1:35 pm
by davidgitz
Thanks for the reply. I have some more questions concerning the RoboPi, but it would be helpful to have the PCB Schematic. Also, do you have a 3D Model of it? I do plan on using your firmware for the comm protocol you developed, but don't intend to program from an SBC.

Re: RoboPi with Raspberry Pi FAQ

PostPosted: Thu Jan 01, 2015 6:10 pm
by mikronauts
You are most welcome!

You can see the schematics in the build manual. Sorry there is no 3D model, but I can measure the maximum height if you need that information.

FYI, the RoboPi Full Kit now comes with the eeprom pre-programmed with the latest firmware.

davidgitz wrote:Thanks for the reply. I have some more questions concerning the RoboPi, but it would be helpful to have the PCB Schematic. Also, do you have a 3D Model of it? I do plan on using your firmware for the comm protocol you developed, but don't intend to program from an SBC.

Re: RoboPi with Raspberry Pi FAQ

PostPosted: Tue Jan 13, 2015 5:03 pm
by davidgitz
Thanks again for the reply. I am going to have to rebuild the source code for my ODroid, do you have the c code?

Re: RoboPi with Raspberry Pi FAQ

PostPosted: Thu Jan 15, 2015 4:16 pm
by mikronauts
You are most welcome.

The source code for the C library is too ugly, so I have not released it (I need to add a lot of error checking).

I have an ODROID-C1 on my desk, and I'll try RoboPi on it next week. If my current libraries do not work, I will make a C1 version, which should work fine on the X2.

(if I can sneak the time from wifey this weekend, I'll try it this weekend <grin>)

If you are running Ubuntu, there is a chance that the C and Python libraries on the product page will work for you - they work on the Banana Pi.

The only change you would need to make is using the correct serial port name in RoboPiInit(), so for example if you used /dev/ttyS2, you would need

RoboPiInit("/dev/ttyS2",115200)

The minimum hardware connection RoboPi needs to the host is +5V, GND, TX, RX

RoboPi will regulate the 5V to 3.3V, and don't worry, RoboPi's TX is a 3v3 signal

An additional GPIO is required to reset RoboPi, in case you want to run the eeprom loader on the host.

Let me know how it goes!

davidgitz wrote:Thanks again for the reply. I am going to have to rebuild the source code for my ODroid, do you have the c code?

Re: RoboPi with Raspberry Pi FAQ

PostPosted: Fri Jan 23, 2015 5:13 pm
by davidgitz
Thanks again, and sorry for being so needy. I am using ROS which is the main source of complication. Some of the guidance I've been given is it would probably work with a static library (.a) instead of the .o file. I'm assuming you are using gcc, you can use this as a reference: http://www.adp-gmbh.ch/cpp/gcc/create_lib.html
A .so file might work too. If I can get this to work I'll definitely buy one of your boards. :)

Re: RoboPi with Raspberry Pi FAQ

PostPosted: Fri Jan 23, 2015 7:47 pm
by mikronauts
I will see what I can do :)

I should be able to make a .a library without issues, probably .so would also be easy - thanks for the link

Which ROS are you using?

davidgitz wrote:Thanks again, and sorry for being so needy. I am using ROS which is the main source of complication. Some of the guidance I've been given is it would probably work with a static library (.a) instead of the .o file. I'm assuming you are using gcc, you can use this as a reference: http://www.adp-gmbh.ch/cpp/gcc/create_lib.html
A .so file might work too. If I can get this to work I'll definitely buy one of your boards. :)

Re: RoboPi with Raspberry Pi FAQ

PostPosted: Sat Jan 24, 2015 8:49 am
by davidgitz
Thanks! Groovy.