Robot Operating System port

Re: Robot Operating System port

Postby Gamedrummer » Fri Sep 19, 2014 7:48 pm

Due to the nature of how ROS works, I will need to relax the permissions on /dev/mem, I've tried and there is no way to run ROS using "sudo", or as root, without running into issues. Looking over the issues I have been having when trying to run my ROS nodes, it appears you are correct, I need to re-build the SDK because mandatory root permissions have been removed from the new SDK (http://forums.parallella.org/viewtopic.php?f=23&t=1338&p=8312&hilit=%2Fdev%2Fmem#p8312).

So far I have been following the SDK building guide (https://github.com/adapteva/epiphany-sdk/wiki) and I just noticed that the default branch of the epiphany-sdk repository is the master branch, when in fact I need to build from the 2014.08.rc branch. This means the last six hours of building of the SDK was a waste since I was unable to compile any examples from the resulting SDK, each one was giving an error stating that "-le-hal" can not be found, and removing it from the compile flags in the build script causes more errors.

I will be using the 2014.08.rc branch tonight and build it again, I'll document the results as soon as I can test it.

I know this is probably not the place to ask this, but since the master branch on github.com/adapteva/epiphany-sdk is a branch that is (by my last five attempts) non-functional, would it not be better to make the default branch the 2014.08.rc?

Andrew, you were saying that I should build a new kernel from source.
However, you only get a /dev/epiphany device with a more recent kernel and so you would have to build this from git also. Note that if you go down that route there is presently no HDMI support, which may or may not be an issue for your use.
Is the /dev/epiphany device mandatory to operate the epiphany efficiently? I've been able to run some of the Epiphany examples without it so far (I have not run that many).
What is the reason that HDMI support has been removed from the kernel source? It was in there last time I checked (over a month ago).

One last thing I should point out that I've noticed on my Parallella, I am unable to launch X11 on my system, it appears that there is an issue with a keyboard package, I'll post the error later on if I can not fix it myself (otherwise I'll post the solution). For now this is not a big issue since I'm in terminal 99% of the time, but it is a little annoying to know that it is broken.

--John Sabino
http://www.chicagoedt.org/
Gamedrummer
 
Posts: 25
Joined: Mon Dec 17, 2012 3:27 am
Location: Chicago, Illinois

Re: Robot Operating System port

Postby Gamedrummer » Sat Oct 18, 2014 6:56 am

I have successfully built and tested the 2014.08.rc build of the eSDK. The issue I kept running into was the e-lib.h missing, preventing successful compilation of Epiphany code.


To build the eSDK I cross compiled the entire SDK on my Linux PC. Following the steps from the Github wiki (https://github.com/adapteva/epiphany-sdk/wiki/Notes-on-the-2014.08-release) I was able to generate most of the necessary files. Though initially I noticed that if the download-toolchain.sh script is run without parameters it pulls out-dated sources, so I used the "./download-toolchain.sh --clone" command instead to have it get the most up-to-date sources.

With all the most recent updates from the repositories and calling the build-epiphany-sdk.sh script the resulting esdk folder had only two folders inside the esdk folder, tools and bsps. Looking through the build-epiphany-sdk.sh script all of the files that were not there came from the install-sdk.sh script and epiphany-libs/build-libs.sh (I needed to manually download the Epiphany-Libs 2014.08.rc repo "git clone https://github.com/adapteva/epiphany-libs.git" inside of the sdk folder). To correct these issues I had to manually download the kernel source repository "git clone https://github.com/parallella/parallella-linux.git -b main" and export its location "export PARALLELLA_BUILD_HOME=PATH_TO_THE_DIRECTOR", this is required for the e-lib.h to build successfully.

Once all of that was done I called the install-sdk.sh script (./install-sdk.sh -n "2014.08" -x "master" --host arm-linux-gnueabihf -p /opt/adapteva) and the eSDK compiled successfully. To verify that everything was in place I checked the "/opt/adapteva/esdk/" and found that all missing files were in place, and that e-lib.h was in "/opt/adapteva/esdk/tools/e-gnu/epiphany-elf/include" which it was not before. Next I used scp to transfer the files to the Parallella (as stated in the Github wiki). Finally, to confirm that the eSDK was usable I ran some epiphany-examples on the Parallella and had no issues.


The next step from this point is to test the system with ROS and see if I can have a ROS node utilize the Epiphany before going into modifying ROS to operate entirely on the Epiphany.

--John
http://www.chicagoedt.org/
Gamedrummer
 
Posts: 25
Joined: Mon Dec 17, 2012 3:27 am
Location: Chicago, Illinois

Re: Robot Operating System port

Postby Bren » Tue Feb 10, 2015 12:24 pm

For anyone interested in a what I have used the parallella board for. My primary goal was to use the board as the central hub to interface with all the sensors and actuators on Herbert my humanoid robot. The arm processors are in the AMP configuration. With CPU0 running bare metal and running a hard real-time loop communicating with all these sensors and activators. Processing and filtering the data and running the low level controller for the activators like gravity and friction compensation. Then communication with CPU1 via shared memory, where I have installed Ubuntu and ROS. Where there is a primary ROS node used to communicate with the real hardware and there is also a number of other nodes runs the main mid level controller for the robot, like balancing and walking. Then I have a intel i7 off board doing all the hard number crunching. It took some time to setup but now that its up and running it was worth the effort. I also I didn't need to recompile ROS I just apt-get installed the arm package and with some playing around got it working. If you have any question just message me. For more information about this project see my project page - http://web.ics.ei.tum.de/~bren/Herbert.php

Brennand Pierce

Some images of the progress:

Image

The robot
Image
Bren
 
Posts: 10
Joined: Thu Aug 28, 2014 8:30 am

Re: Robot Operating System port

Postby aolofsson » Tue Feb 10, 2015 6:45 pm

Hi Brennand,
Wow, this is incredible. Extremely impressed by Herbert and so thankful that you decided to make Parallella a part of your project.
Any plans to move some of the number crunching from the i7 to Epiphany? What kind of software would you need in place to make that happen? I want to help anyway I can.
Thank you!
Andreas
User avatar
aolofsson
 
Posts: 1005
Joined: Tue Dec 11, 2012 6:59 pm
Location: Lexington, Massachusetts,USA

Re: Robot Operating System port

Postby Karma » Sat May 16, 2015 3:45 am

WOW, Utterly amazing, would love some help, with an I-Cub like platform idea on the Cognitive side.

Ok had a quick read here https://github.com/parallella/parallella-hw/tree/master/boards and it all seems overly long-winded and overly complicated ?

I am lucky enough to have qualified for a student license of Inventor and I can grab Electrical if I really need it, so is it not possible to just import period, equally per this I found on RS components and it has free software if its useful, do RS have a model already prepped perhaps as I bought my first board from them, might it be an Idea as there your a UK reseller?
...
http://www.rs-online.com/designspark/electronics/eng/nodes/view/type:design-centre/slug:modelsource
http://www.rs-online.com/designspark/electronics/eng/page/mechanical
http://www.rs-online.com/designspark/electronics/eng/page/designspark-pcb-home-page

To be frank its it about doing some concept design to create a "Noggin" cluster, for a bipedal robot based on i-Cub
http://wiki.icub.org/wiki/RobotCub
or drawn from, so pos some streamlined liquid cooling, in combo with a peltier TEG/s, is anyone designing any daughter boards/shields as they say in Ardunio land at all? A diddy Optical/fibre adapter & micro hub would be great as CAT6 is a bulky as heck, then Gig/Fast wireless/radio back to norm Cat6 gig network. All diddy and a cheap as chips obviously.

Then the "Noggin" cluster can un-docked from Bot and continue to exist in a Sim/Virtual space "Noggin-Dreams", this looks pretty cool http://www.coppeliarobotics.com/index.html but integration into a better CGI Engine would be good like Unreal or Unity3D. The other element would be to make the "Noggin-Dreams" accessible in the Cloud, like its own open source Game, but is kinda working like Boinc, actually a bit of that and a bit of https://spark.apache.org/ in effect like an on-line game-sim world for Machine Learning Cognitive Characters, that is its own parallel cognitive learning network. Mods inside the Virtual world being as functional in the Real-world if one could only afford it.

Just wondering if there is anywhere else I can post this as there does not see to be an Open forum for I-Cub, or is anyone could help me but everything together pitch it as a Open source project & have a Team to work with. Can see immediate applications for kids, especially those with Aspergers/Austin interacting with a cognitive childlike character/s within a Sandbox like world, in fact many other such a Trauma therapy, when you then combine it with Real-life & say Hologlass/Augmented Reality & EEG tech etc, etc. Let alone the bigger research gains.

Thing is I have always been a very visual BIG Ideas person, but really need the help of a team having Aspergers myself. Can you say repost or should I repost as a project idea and obviously any recommends on other forums would be peachy. In the meantime I will start working on some concept art and infograms (hence ideally needing models of everything, so can base characters in VR (Blender/Maya + Game engine once out of Inventor) around skinning I-cub in 1st instance, with parrallel mod). Just wish I-cub was a bit more Open as its Sim is just far too stand-alone at the moment as main biggest gains in feild as far as I can see at mo. I even started to setup Azure APIs/tools for Storm & Spark via the Hortonworks Virtual Machine Sandbox, but the free Student account does bugger all so much for actually learning anything, as obviously the idea needs a cloud as well a local cluster/s, so any other ideas to be able to access anything so I can learn?

Must admit Poppy looks interesting, going to see if they can help too. https://www.poppy-project.org/technologies/

As well as a fair bit of fiddling while I await some more bits to get my 1st board up to do some testing on that too. Yey for Noggin Juice, just seen it whirring away he..he...!!! :D :idea:

Cheers
Karma
User avatar
Karma
 
Posts: 3
Joined: Sun May 03, 2015 2:46 pm

Previous

Return to Robotics

Who is online

Users browsing this forum: No registered users and 1 guest