Robonova Roboard RB-100 WIFI 720p HANDS UBUNTU 10.04 Power Q

Based on DMP's Vortex processor / SoC this board is a full computer capable of running a standard Windows and Linux installation on the backpack of your robot.
14 postsPage 1 of 1
14 postsPage 1 of 1

Robonova Roboard RB-100 WIFI 720p HANDS UBUNTU 10.04 Power Q

Post by Velocis » Sat Jul 21, 2012 2:11 am

Post by Velocis
Sat Jul 21, 2012 2:11 am

Hi Guys,

Ok I have a power related question, but first I will introduce my setup.
Here I have my Robonova with a few mods, they include
- Upgraded to RB-100 roboard
- Running Ubuntu 10.04 LTS
- Hands Pack from our good man Matt Bauer
- Microsoft 720p Lifecam camera
- Roboard Wifi Antenae _ WIFI card

So my question relates to power, when I am running in the development environment, I keep running out of power on my crappy 2A power pack, so eventually I bit the bullet and purchased a 0-30V 60A Max variable power supply off ebay (See image 5).

Question is can I supply the power rail straight to the servo's from the incoming power so that I don't risk burning off the tracks from the board on complicated motions using many servo's. ANYONE GOT ANY PICTURES ?

From what I understand the servo's can pull anywhere up to 1.2A each on max rotation.

I am also trying to get Python working as my primary language in Linux Ubuntu LTS 10.04, I can write in C at the moment and compile and run fine (except running out of power) but yeah the Python comes associated with the Windows DLL, Has anyone managed to re-compile a version on linux to run with Python ? If so how ? Would love to get it all up and running and then post back to the community

Cheers

Velocis

Image
Image
Image
Image
0-30V 60A max switch mode power supply AUD$450 from ebay
Image
Hi Guys,

Ok I have a power related question, but first I will introduce my setup.
Here I have my Robonova with a few mods, they include
- Upgraded to RB-100 roboard
- Running Ubuntu 10.04 LTS
- Hands Pack from our good man Matt Bauer
- Microsoft 720p Lifecam camera
- Roboard Wifi Antenae _ WIFI card

So my question relates to power, when I am running in the development environment, I keep running out of power on my crappy 2A power pack, so eventually I bit the bullet and purchased a 0-30V 60A Max variable power supply off ebay (See image 5).

Question is can I supply the power rail straight to the servo's from the incoming power so that I don't risk burning off the tracks from the board on complicated motions using many servo's. ANYONE GOT ANY PICTURES ?

From what I understand the servo's can pull anywhere up to 1.2A each on max rotation.

I am also trying to get Python working as my primary language in Linux Ubuntu LTS 10.04, I can write in C at the moment and compile and run fine (except running out of power) but yeah the Python comes associated with the Windows DLL, Has anyone managed to re-compile a version on linux to run with Python ? If so how ? Would love to get it all up and running and then post back to the community

Cheers

Velocis

Image
Image
Image
Image
0-30V 60A max switch mode power supply AUD$450 from ebay
Image
Velocis offline
Robot Builder
Robot Builder
Posts: 20
Joined: Wed Apr 21, 2010 3:25 pm

Post by PedroR » Mon Jul 23, 2012 7:05 pm

Post by PedroR
Mon Jul 23, 2012 7:05 pm

Regarding Python, it is directly available for Ubuntu.

Just open up Ubuntu package manager and install package "python" or similar.

In addition to the pyhton core there are dozens of Python extensions and "bridges" that you can download and install directly through the package manager.

(there is, for example, a python wrapper for opencv).


Regarding power, the Roboard is designed to supply power directly to the servos.
Just make sure you power the board with the correct voltage for the servos and the Robaord will feed that voltage directly to the servos and, for its own use, it will regulate it by itself.

We've seen the Roboard safely in use on a Kondo KHR 1. I don't know how the servo specs compare with Robonova but this should be a good indicator of the boards capability.

Regards
Pedro.
Regarding Python, it is directly available for Ubuntu.

Just open up Ubuntu package manager and install package "python" or similar.

In addition to the pyhton core there are dozens of Python extensions and "bridges" that you can download and install directly through the package manager.

(there is, for example, a python wrapper for opencv).


Regarding power, the Roboard is designed to supply power directly to the servos.
Just make sure you power the board with the correct voltage for the servos and the Robaord will feed that voltage directly to the servos and, for its own use, it will regulate it by itself.

We've seen the Roboard safely in use on a Kondo KHR 1. I don't know how the servo specs compare with Robonova but this should be a good indicator of the boards capability.

Regards
Pedro.
PedroR offline
Savvy Roboteer
Savvy Roboteer
Posts: 1199
Joined: Mon Jun 16, 2008 11:07 pm

Post by jamonlysa » Wed Jul 25, 2012 7:09 am

Post by jamonlysa
Wed Jul 25, 2012 7:09 am

thank you!
thank you!
jamonlysa offline
Newbie
Newbie
Posts: 3
Joined: Wed Jul 25, 2012 6:52 am

Post by Velocis » Wed Jul 25, 2012 11:00 am

Post by Velocis
Wed Jul 25, 2012 11:00 am

Thanks Pedro, a little more clarification.

The HSR-8498HB by this specs sheet

http://robosavvy.com/Builders/i-Bot/HSR8498HB%20Servo.pdf specifies that the servos can pull a decent amount of power : 1.35A - 1.7A so my concern is if I am moving all 18 servo's at once at max speed, we are talking up 30 AMPS ! That sort of current draw concerns me considering the size of the tracks on the Roboard, I am in the process of confirming this with the DMP tech guys and will post back

[EXTRACT FROM SPEC SHEET FOR HSR-8498HB SERVO]
The motor has a DC resistance of 4.4 ohms, which gives a maximum current draw of 1.35A at 6 Volts, or 1.7A at 7.4 Volts supply

Regarding PYTHON, Yes I have no problem installing python etc etc, I am just wondering how I use Python with the supplied roboard libraries, the python example given on the DMP site is for Windows, as it says in the README File

- Note that the wrapper is only for WinXP; if you need a Linux Phython
wrapper, you can modify the wrapper file "RoBoIO_Python.py" to adapt it
for Linux.

So my question is how is that part done, how do I adapt the RoBoIO_Python.py file to run in linux, at the top it refers to the RoBoIO object as such:

from ctypes import *
RoBoIO = WinDLL("RoBoIO.dll")
#common.h

Obviously this does not work for linux, I am only just getting into Python, hence not being sure of how it works.
Thanks Pedro, a little more clarification.

The HSR-8498HB by this specs sheet

http://robosavvy.com/Builders/i-Bot/HSR8498HB%20Servo.pdf specifies that the servos can pull a decent amount of power : 1.35A - 1.7A so my concern is if I am moving all 18 servo's at once at max speed, we are talking up 30 AMPS ! That sort of current draw concerns me considering the size of the tracks on the Roboard, I am in the process of confirming this with the DMP tech guys and will post back

[EXTRACT FROM SPEC SHEET FOR HSR-8498HB SERVO]
The motor has a DC resistance of 4.4 ohms, which gives a maximum current draw of 1.35A at 6 Volts, or 1.7A at 7.4 Volts supply

Regarding PYTHON, Yes I have no problem installing python etc etc, I am just wondering how I use Python with the supplied roboard libraries, the python example given on the DMP site is for Windows, as it says in the README File

- Note that the wrapper is only for WinXP; if you need a Linux Phython
wrapper, you can modify the wrapper file "RoBoIO_Python.py" to adapt it
for Linux.

So my question is how is that part done, how do I adapt the RoBoIO_Python.py file to run in linux, at the top it refers to the RoBoIO object as such:

from ctypes import *
RoBoIO = WinDLL("RoBoIO.dll")
#common.h

Obviously this does not work for linux, I am only just getting into Python, hence not being sure of how it works.
Velocis offline
Robot Builder
Robot Builder
Posts: 20
Joined: Wed Apr 21, 2010 3:25 pm

Post by PedroR » Wed Jul 25, 2012 11:12 am

Post by PedroR
Wed Jul 25, 2012 11:12 am

Hi Velocis

For Linux the procedure should be similar but instead of "roboIO.dll" you'll probably need to import a "roboIo.so" or similar ".so" file.

A quick google search returned some results for "python import .so file".

if you're familiar with calling conventions (cdecl, stdcall,..) then you can check out this page http://docs.python.org/library/ctypes.html.
If you're not familiar with this, don't bother; there are certainly other Google pages who will give you a more direct answer to your issue.

Importing external Libraries and calling them in Python is something I'm also not very familiar with, but from what I've seen it shouldn't be too hard to modify the import code to work in Linux.

Maybe the Roboard guys can also give you some help.

Regards
Pedro.
Hi Velocis

For Linux the procedure should be similar but instead of "roboIO.dll" you'll probably need to import a "roboIo.so" or similar ".so" file.

A quick google search returned some results for "python import .so file".

if you're familiar with calling conventions (cdecl, stdcall,..) then you can check out this page http://docs.python.org/library/ctypes.html.
If you're not familiar with this, don't bother; there are certainly other Google pages who will give you a more direct answer to your issue.

Importing external Libraries and calling them in Python is something I'm also not very familiar with, but from what I've seen it shouldn't be too hard to modify the import code to work in Linux.

Maybe the Roboard guys can also give you some help.

Regards
Pedro.
PedroR offline
Savvy Roboteer
Savvy Roboteer
Posts: 1199
Joined: Mon Jun 16, 2008 11:07 pm

Post by Velocis » Wed Jul 25, 2012 11:32 am

Post by Velocis
Wed Jul 25, 2012 11:32 am

Ok so do the first compile step to get the .so file and then use that.

Yeah I think I had seen that page before and tried that, but no luck. I will give it a go again, see if I can't get it to work.
Ok so do the first compile step to get the .so file and then use that.

Yeah I think I had seen that page before and tried that, but no luck. I will give it a go again, see if I can't get it to work.
Velocis offline
Robot Builder
Robot Builder
Posts: 20
Joined: Wed Apr 21, 2010 3:25 pm

Post by Velocis » Wed Jul 25, 2012 5:33 pm

Post by Velocis
Wed Jul 25, 2012 5:33 pm

Little bit closer but I think I am hitting the same issue I did last time.
ERROR IS: OSError: /usr/lib/libRBIO.so.1.8: undefined symbol: __gxx_personality_v0

I tried recompiling the libRBIO.so.1.8 to make sure it was compiled with the same version of gcc++ but still getting the error.

Image

Looks like the error is occuring inside the CDLL loader within the Python ctypes includes... Anyone with a bit more python got any ideas? [Highlighted in white is where error occurs]

Image
Little bit closer but I think I am hitting the same issue I did last time.
ERROR IS: OSError: /usr/lib/libRBIO.so.1.8: undefined symbol: __gxx_personality_v0

I tried recompiling the libRBIO.so.1.8 to make sure it was compiled with the same version of gcc++ but still getting the error.

Image

Looks like the error is occuring inside the CDLL loader within the Python ctypes includes... Anyone with a bit more python got any ideas? [Highlighted in white is where error occurs]

Image
Velocis offline
Robot Builder
Robot Builder
Posts: 20
Joined: Wed Apr 21, 2010 3:25 pm

Post by PedroR » Wed Jul 25, 2012 5:40 pm

Post by PedroR
Wed Jul 25, 2012 5:40 pm

Are you sure RoboIO is being compiled with "cdecl" calling convention?
(this should be changeable/configurable as a compiler parameter)

I am not fully aware of the calling conventions in Linux but I it seems the code you're using assumes the library uses cdecl.

I know from experience that if you have the wrong calling convention (or function declarations) you get all sorts of errors.
Are you sure RoboIO is being compiled with "cdecl" calling convention?
(this should be changeable/configurable as a compiler parameter)

I am not fully aware of the calling conventions in Linux but I it seems the code you're using assumes the library uses cdecl.

I know from experience that if you have the wrong calling convention (or function declarations) you get all sorts of errors.
PedroR offline
Savvy Roboteer
Savvy Roboteer
Posts: 1199
Joined: Mon Jun 16, 2008 11:07 pm

Post by Velocis » Wed Jul 25, 2012 5:59 pm

Post by Velocis
Wed Jul 25, 2012 5:59 pm

How do I know about your following question ?
Are you sure RoboIO is being compiled with "cdecl" calling convention?

Is there a switch when you compile it ? Only options I see in the Makefile are: OPTIONS = -Wall -Wno-write-strings

I am compiling from the standard src libRBIO (same one I had to install to get the Roboard talking to the system) v1.81

Code I am using is located at

http://www.robotcity.com.au/images/robonova/python_roboard.tgz

Yeah I am not massively experienced with gcc or python coding, I come from a background of PHP and .Net, I don't mind writing in C but really would love to get the Python running :)

Any help is greatly appreciated
How do I know about your following question ?
Are you sure RoboIO is being compiled with "cdecl" calling convention?

Is there a switch when you compile it ? Only options I see in the Makefile are: OPTIONS = -Wall -Wno-write-strings

I am compiling from the standard src libRBIO (same one I had to install to get the Roboard talking to the system) v1.81

Code I am using is located at

http://www.robotcity.com.au/images/robonova/python_roboard.tgz

Yeah I am not massively experienced with gcc or python coding, I come from a background of PHP and .Net, I don't mind writing in C but really would love to get the Python running :)

Any help is greatly appreciated
Velocis offline
Robot Builder
Robot Builder
Posts: 20
Joined: Wed Apr 21, 2010 3:25 pm

Post by PedroR » Wed Jul 25, 2012 6:52 pm

Post by PedroR
Wed Jul 25, 2012 6:52 pm

I also have limited experience with Linux.

From googling some more it appears under Linux there is only cdecl.

You seem to need to add some flags to gcc such as "-fvisibility" ( http://ubuntuforums.org/showthread.php?t=1379430) and evetually other to the linker.

I'd be very happy to help you but I'm afraid I've hit a dead end myself. I don't really know how to proceed from here if the above still doesn't work.

I imagine you've already googled the error message to see if anything comes up.
In any case I ran a google search on this https://www.google.pt/search?q=python+d ... ned+symbol and came across a lot of useful information about gcc and linker options.

It seems this is a fairly common issue with python that is inherited from compilation issues/flags on the .so modules.
I also have limited experience with Linux.

From googling some more it appears under Linux there is only cdecl.

You seem to need to add some flags to gcc such as "-fvisibility" ( http://ubuntuforums.org/showthread.php?t=1379430) and evetually other to the linker.

I'd be very happy to help you but I'm afraid I've hit a dead end myself. I don't really know how to proceed from here if the above still doesn't work.

I imagine you've already googled the error message to see if anything comes up.
In any case I ran a google search on this https://www.google.pt/search?q=python+d ... ned+symbol and came across a lot of useful information about gcc and linker options.

It seems this is a fairly common issue with python that is inherited from compilation issues/flags on the .so modules.
PedroR offline
Savvy Roboteer
Savvy Roboteer
Posts: 1199
Joined: Mon Jun 16, 2008 11:07 pm

Post by Velocis » Thu Jul 26, 2012 3:56 am

Post by Velocis
Thu Jul 26, 2012 3:56 am

Hmm, think I may need a larger nerd than myself.

Thankfully I work at a company with over 300 developers, I am going to go see if I can get some help from some of them, will definately post my results back if I get to the bottom of it.

Taking a look at the following to hopefully get somewhere:
http://docs.python.org/extending/
http://docs.python.org/c-api/
Hmm, think I may need a larger nerd than myself.

Thankfully I work at a company with over 300 developers, I am going to go see if I can get some help from some of them, will definately post my results back if I get to the bottom of it.

Taking a look at the following to hopefully get somewhere:
http://docs.python.org/extending/
http://docs.python.org/c-api/
Velocis offline
Robot Builder
Robot Builder
Posts: 20
Joined: Wed Apr 21, 2010 3:25 pm

Post by ries » Mon Jul 30, 2012 1:04 pm

Post by ries
Mon Jul 30, 2012 1:04 pm

Hi Velocis,

Looking at your nice robot I saw the WiFi Antenna sticking out of your robot. I have a KHR-1HV with a RB100 equipped and use a nano usb wifi adapter:
http://www.trendnet.com/products/proddetail.asp?prod=195_TEW-648UBM&cat=173

Maybe a solution for you.

gr,Ries
Hi Velocis,

Looking at your nice robot I saw the WiFi Antenna sticking out of your robot. I have a KHR-1HV with a RB100 equipped and use a nano usb wifi adapter:
http://www.trendnet.com/products/proddetail.asp?prod=195_TEW-648UBM&cat=173

Maybe a solution for you.

gr,Ries
ries offline
Savvy Roboteer
Savvy Roboteer
Posts: 62
Joined: Sun Dec 16, 2007 11:33 am
Location: Netherlands

Post by Velocis » Mon Jul 30, 2012 4:03 pm

Post by Velocis
Mon Jul 30, 2012 4:03 pm

Ries,

Yeah was just temporary until I find a solution

I tried a couple of different adapters, have one TP-LINK which uses the atheros chipset, tried a couple of times to get it to work in the base lubuntu install, what did you have to do get this one working ?

https://help.ubuntu.com/community/HardwareSupportComponentsWirelessNetworkCardsTP-Link#USB

Cheers
Ries,

Yeah was just temporary until I find a solution

I tried a couple of different adapters, have one TP-LINK which uses the atheros chipset, tried a couple of times to get it to work in the base lubuntu install, what did you have to do get this one working ?

https://help.ubuntu.com/community/HardwareSupportComponentsWirelessNetworkCardsTP-Link#USB

Cheers
Velocis offline
Robot Builder
Robot Builder
Posts: 20
Joined: Wed Apr 21, 2010 3:25 pm

Post by ries » Tue Jul 31, 2012 6:30 pm

Post by ries
Tue Jul 31, 2012 6:30 pm

Hi Velocis,

I use WinXP on my RB100, since linux doesn't understand me :(

I have seen linux drivers for this adapter.

Good luck!!
Hi Velocis,

I use WinXP on my RB100, since linux doesn't understand me :(

I have seen linux drivers for this adapter.

Good luck!!
ries offline
Savvy Roboteer
Savvy Roboteer
Posts: 62
Joined: Sun Dec 16, 2007 11:33 am
Location: Netherlands


14 postsPage 1 of 1
14 postsPage 1 of 1