ROS (Robot Operating System) on RPi


125 posts   Page 5 of 5   1, 2, 3, 4, 5
by kalectro » Wed Jan 09, 2013 11:26 pm
That was not supposed to be an offence Bob, sorry if you took it that way. I just tried to save some time, which obviously did not work in the end XD
I found the RasPi to work really slow because i was working on a Class 4 SD Card. I will switch to a class 10 and see how that goes. I hope I can start fixing the ROS sources at the end of the day. I will keep the wiki up-to-date

Kai
Posts: 15
Joined: Sun Jan 06, 2013 4:54 am
by bteeter » Thu Jan 10, 2013 1:21 am
No problem. No I think that we should just put all the apt-get items grouped together in several steps but make no distinction as to what they are used for. That way we don't have to figure out exactly where each falls in sequence. It appear that we may have more support for ROS on the Raspberry Pi than we thought.

Bob Teeter
Posts: 36
Joined: Tue Sep 04, 2012 7:16 pm
by kalectro » Fri Jan 11, 2013 3:05 am
How is your Desktop build coming along? I found that it takes an eternity to compile. OpenCV2 took about 7 hours :(
I think I resolved all system dependencies, so it "should" build all the way through now. 24 packages down, 127 to go. I hope my company will let me share the iso with you guys when I am done and everything is working. That will save a lot of time. If not, I kept the wiki up-to-date ;)
Posts: 15
Joined: Sun Jan 06, 2013 4:54 am
by mentar » Sun Jan 13, 2013 1:02 am
Whoa! I've not been getting any notifications of these updates!
Well done guys on making progress on getting Groovy to work on the RPi!
I'm currently on a sprint so won't be able to help until at least 2 weeks in but I still want to write a tutorial on the basis of my new chassis and would be great to use the most up to date ROS version.
User avatar
Posts: 17
Joined: Wed Jul 04, 2012 11:47 am
Location: London
by kalectro » Sun Jan 13, 2013 8:13 am
I got almost everything compiled, PCL does not really like me. I also had read/write errors on my SD card. Hope I did not break it :D
Compiling only PCL takes about 24 hours -.-
Posts: 15
Joined: Sun Jan 06, 2013 4:54 am
by kalectro » Thu Jan 17, 2013 9:44 pm
Hey guys,

I compiled the desktop package and got it to compile for almost every single package. The only packages that did not work were PCL and rviz. PCL needs a lot of SRAM to compile and threw some read/write errors on the swapfile. If anybody gets either package to compile, please share, I will give them up at this point for I have already wasted too much time on that and I do not really need it.
The instructions on how to compile everything from source and fix the errors can be found on the wiki. Beware that it will take days to compile! For the lazy ones that trust my iso files, here you go:

http://goo.gl/0yoT8

You will need a SD card with at least 16GB. Just extract the image file and dd it onto an empty SD card

Have fun with it!
Posts: 15
Joined: Sun Jan 06, 2013 4:54 am
by hwintjen » Mon Jan 21, 2013 10:26 am
Hi Kalectro! Hi Folks!

Thanks for the work you had put into this !
This was the same i was actually trying to do (but failed at some point).

The far better option instead of building the packages by hand and putting an sd image online whould be to convince someone (debian? raspian? WillowGarage?) to provide pre-build packages for some stuff so that installing ROS on Pi becomes as easy at least as compiling ROS from source on Ubuntu, or at most as easy as easy as installing ROS on ubuntu from packages.

Any ideas how and who to plea for this to happen?

Porting from Ubuntu to debian wheezy should not be that hard since most of the packages are very similair....

Regards

Hauke
Posts: 5
Joined: Thu Jul 05, 2012 5:55 am
by bteeter » Mon Jan 21, 2013 6:45 pm
We now have an initial install document that has the instructions on how to build ROS from source. We also have had 1 person build the tree and created a .iso image to be installed on an SD card for use. The link to the .iso file is also in the build instructions at the beginning so that you will not have to read everything and then find the easy part at the end. I am working with a developer at Willow Garage to arrange to have them host all the .deb files that are needed to fully install ROS on a Rpi. The instruction will be available from the same source when we get that part done. Select the Raspbian link for the instructions.

Installation Document link:

http://www.ros.org/wiki/ROS/Installation

Bob Teeter
Posts: 36
Joined: Tue Sep 04, 2012 7:16 pm
by lore » Fri Jan 25, 2013 3:45 pm
kalectro wrote:Hey guys,

I compiled the desktop package and got it to compile for almost every single package. The only packages that did not work were PCL and rviz. PCL needs a lot of SRAM to compile and threw some read/write errors on the swapfile. If anybody gets either package to compile, please share, I will give them up at this point for I have already wasted too much time on that and I do not really need it.
The instructions on how to compile everything from source and fix the errors can be found on the wiki. Beware that it will take days to compile! For the lazy ones that trust my iso files, here you go:

http://goo.gl/0yoT8

You will need a SD card with at least 16GB. Just extract the image file and dd it onto an empty SD card

Have fun with it!


Hello everybody,
I just used your image, kalectro.
The dd went fine. However, when I do the login, I get :
/bin/login: /lib/arm-linux-gnueabifhf/libdl.so.2: no version information available


Have you ever experienced this kind of error?

All the best,
Lore
Posts: 4
Joined: Fri Jan 25, 2013 3:34 pm
by kalectro » Fri Jan 25, 2013 5:57 pm
I have never seen this error. Is it just a warning or does it not let you log in at all? Is the image working for anyone else?
Posts: 15
Joined: Sun Jan 06, 2013 4:54 am
by HizMama » Fri Jan 25, 2013 10:43 pm
Hey guys, Im trying to get ROS working on my RPI, but i am failing miserably lol :cry: , I had Raspbian wheezy but i changed it to debian wheezy since instructions online where to do so. After I type in something like "sudo apt-get install python-rosinstall python-rosdep" the terminal says that it is Unable to locate package rosinstall or rosdep. What do i do to install ROS? HELP! :|

If you can email me any help that would be awesome!
my email is agariby702@student.glendale.edu
Posts: 11
Joined: Mon Jan 14, 2013 6:51 pm
by kalectro » Fri Jan 25, 2013 10:54 pm
I do not know which instructions you follow, we are build upon Rasbian. You can find the latest instruction procedure here: http://www.ros.org/wiki/groovy/Installation/Raspbian/Source
There is also an iso file that you can just dd onto your card.

Kai
Posts: 15
Joined: Sun Jan 06, 2013 4:54 am
by lore » Mon Jan 28, 2013 10:44 am
kalectro wrote:I have never seen this error. Is it just a warning or does it not let you log in at all? Is the image working for anyone else?


Unfortunatly it is an error. :cry:
The error is shown after the user insertion.

When the user is taped in, the return is:
/bin/login: /lib/arm-linux-gnueabihf/libdl.so.2: no version information available (required by /bin/arm-linux-gnueabihf/libpam.so.0)
/bin/login: relocation error: /lib/arm-linux-gnueabihf/libpam.so.0: symbol dlopen, version GLIBC_2.4 not defined in file libdl.so.2 with link time reference

Then, the terminal login is reseted, and it asks again the user.

I also tried via ssh. Hence, the login was not successful too.
x@y:~$ ssh pi@a.b.c.d
pi@a.b.c.d's password:
Permission denied, please try again.
pi@a.b.c.d's password:
Last edited by lore on Mon Jan 28, 2013 11:14 am, edited 1 time in total.
Posts: 4
Joined: Fri Jan 25, 2013 3:34 pm
by mentar » Mon Jan 28, 2013 11:10 am
lore wrote:Unfortunatly it is an error. :cry:
The error is shown after the user (during the login) which does not log in at all.

Try downloading the image again, given the standardised platform the problem is likely due to the corruption of the image.
Anyone who has a working image on them, can you do an md5sum and post it here please so others can check the download?
User avatar
Posts: 17
Joined: Wed Jul 04, 2012 11:47 am
Location: London
by kalectro » Mon Jan 28, 2013 4:57 pm
I checked the md5sum of the img and the tar.gz file:
10cd30f08cb57ec9729c394afb20f9ec raspi_groovy.img
cef3e2bb13bfae01a292b21e6f8c08a7 raspi_groovy.tar.gz
Posts: 15
Joined: Sun Jan 06, 2013 4:54 am
by lore » Tue Jan 29, 2013 2:48 pm
mentar wrote:Try downloading the image again, given the standardised platform the problem is likely due to the corruption of the image.
Anyone who has a working image on them, can you do an md5sum and post it here please so others can check the download?


You were right, thanks! It was a file corruption problem. :lol:

kalectro wrote:I checked the md5sum of the img and the tar.gz file:
10cd30f08cb57ec9729c394afb20f9ec raspi_groovy.img
cef3e2bb13bfae01a292b21e6f8c08a7 raspi_groovy.tar.gz


I downloaded again the tar and extracted the .img. Now, the checksum is ok.

I flashed and all was good, until a "apt-get upgrade" went bad and it corrupted the system.

Then, I tried to re-flash the image on the SD.
In each new flash I am not able to have freespace on the SD. (I also tried to format the SD, re-check the md5sums, but nothing worked)

Code: Select all
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Jan 17 17:17:22 2013
pi@raspberrypi ~ $ df
Filesystem     1K-blocks     Used Available Use% Mounted on
rootfs          14317620 14057168         0 100% /
/dev/root       14317620 14057168         0 100% /
devtmpfs          110744        0    110744   0% /dev
tmpfs              22164      200     21964   1% /run
tmpfs               5120        0      5120   0% /run/lock
tmpfs              44320        0     44320   0% /run/shm
/dev/mmcblk0p1     57288    16880     40408  30% /boot
tmpfs              44320        0     44320   0% /tmp
pi@raspberrypi ~ $


There are two "un-aspected" files of 2GB on the "/": "swapfile" and "swapfile2".
Code: Select all
pi@raspberrypi / $ ls -l
total 4194436
drwxr-xr-x   2 root root       4096 Jan  9 18:25 bin
drwxr-xr-x   2 root root      16384 Jan  1  1970 boot
drwxr-xr-x  12 root root       3100 Jan 17 18:17 dev
drwxr-xr-x 109 root root       4096 Jan 17 18:17 etc
drwxr-xr-x   3 root root       4096 Dec 16 19:39 home
drwxr-xr-x  12 root root       4096 Jan 10 02:55 lib
drwx------   2 root root      16384 Dec 15 17:28 lost+found
drwxr-xr-x   2 root root       4096 Dec 15 17:31 media
drwxr-xr-x   2 root root       4096 Sep  2 17:08 mnt
drwxr-xr-x   4 root root       4096 Jan  9 23:14 opt
dr-xr-xr-x  66 root root          0 Jan  1  1970 proc
drwx------   4 root root       4096 Jan 17 18:34 root
drwxr-xr-x  12 root root        520 Jan 29 14:20 run
drwxr-xr-x   2 root root       4096 Jan  9 18:25 sbin
drwxr-xr-x   2 root root       4096 Jun 20  2012 selinux
drwxr-xr-x   2 root root       4096 Dec 15 17:31 srv
-rw-r--r--   1 root root 2147483648 Jan 13 19:24 swapfile
-rw-r--r--   1 root root 2147483648 Jan 16 17:23 swapfile2
drwxr-xr-x  12 root root          0 Jan  1  1970 sys
drwxrwxrwt   5 root root        100 Jan 29 14:33 tmp
drwxr-xr-x  10 root root       4096 Dec 15 17:31 usr
drwxr-xr-x  11 root root       4096 Jan 13 04:23 var


I, also, tried to see the "ros" commands:
pi@raspberrypi ~ $ ros
rosco rosdep rosinstall roslocate rosversion rosws
pi@raspberrypi ~ $ ros


I do not have rosmake, roscd, and so on. Is it right to not have these commands?

Thanks a lot,
Lore
Posts: 4
Joined: Fri Jan 25, 2013 3:34 pm
by kalectro » Tue Jan 29, 2013 3:52 pm
Now that is an easy problem to solve :)
I reduced the file size to a minimum, so you would not have so much to download. You will need to increase the size of the partition by using gparted on a Linux workstation (that is how I did it)
or use
Code: Select all
sudo raspi-config
and select 'expand_rootfs'
Also feel free to delete /swapfile and /swapfile2 by typing
Code: Select all
sudo rm /swapfile*

If you want to use ros, you need to source the workspace first.
I created an overlay workspace in the home folder which you can use
Code: Select all
cd ~/catkin_ws
source devel/setup.bash

now you can throw some code into the src folder, type catkin_make and go wild
have fun
Posts: 15
Joined: Sun Jan 06, 2013 4:54 am
by lore » Thu Feb 14, 2013 11:55 am
kalectro wrote:Now that is an easy problem to solve :)
I reduced the file size to a minimum, so you would not have so much to download. You will need to increase the size of the partition by using gparted on a Linux workstation (that is how I did it)
or use
Code: Select all
sudo raspi-config
and select 'expand_rootfs'
Also feel free to delete /swapfile and /swapfile2 by typing
Code: Select all
sudo rm /swapfile*

If you want to use ros, you need to source the workspace first.
I created an overlay workspace in the home folder which you can use
Code: Select all
cd ~/catkin_ws
source devel/setup.bash

now you can throw some code into the src folder, type catkin_make and go wild
have fun


Easy as a pie! :lol:

I installed also usb_cam and converted it for catkin. Unfortunately, it crashes after 5-10 secs, but now we got a working ROS on RBpi ;)

Thank you (sorry for the late)!
Posts: 4
Joined: Fri Jan 25, 2013 3:34 pm
by po1 » Wed Apr 10, 2013 10:29 pm
Figured this thread might be a good place to announce that...

There is an experimental repository out there for ROS Groovy for Raspbian, instructions are on the following wiki page: http://www.ros.org/wiki/groovy/Installation/Raspbian

It contains 350+ packages, and is relatively up to date with the official ROS repository.

For those of you who want to start toying with ROS Groovy on their RPi, that might be an alternative to both loading a custom image or building from source.
The easiest way to reach me for any feedback or question is on the ros-sig-embedded google group: https://groups.google.com/forum/?fromgroups#!forum/ros-sig-embedded

Hope this can help!
Posts: 1
Joined: Wed Apr 10, 2013 10:23 pm
by elektrknight » Wed May 22, 2013 4:43 am
I am going through Groovy source installation and things were looking fine until
step 6 building the Catkin workspace. I get this warning about missing gtest and
later error in class_loader. I have followed the advice and did :
'svn checkout http://googletest.googlecode.com/svn/tags/release-1.6.0 gtest'
But there is no change when I run again 'catkin_make_isolated'.

It is getting late here and I have run out of ideas on how to fix this, any advice?

.... lots and lost of lines and then ....
CMake Warning at /opt/ros/groovy/share/catkin/cmake/test/gtest.cmake:99 (message):
gtest not found, C++ tests can not be built. You can run 'svn checkout
http://googletest.googlecode.com/svn/tags/release-1.6.0 gtest' in the root
of your workspace

...
-- skipping gtest 'class_loader_utest' in project 'class_loader'
CMake Error at test/CMakeLists.txt:16 (target_link_libraries):
Cannot specify link libraries for target "class_loader_utest" which is not
built by this project.


-- Configuring incomplete, errors occurred!
<== Failed to process package 'class_loader':
[Errno 2] No such file or directory: '/opt/ros/groovy/ros_catkin_ws/build_isolated/class_loader/Makefile'
Command failed, exiting.

Hm, too bad, I had such high hopes for the 'class_loader' ;-)
Placek Malinowy to jest to!
User avatar
Posts: 136
Joined: Sat Mar 02, 2013 1:25 pm
by hwintjen » Wed May 22, 2013 8:26 am
Did you try
> sudo apt-get install libgtest-dev
?

Regards

Hauke
Posts: 5
Joined: Thu Jul 05, 2012 5:55 am
by elektrknight » Wed May 22, 2013 2:50 pm
I didn't do it but the some scryptology must have installed libgtest-dev.
Code: Select all
pi@raspberrypi ~ $ sudo apt-get install libgtest-dev
...
libgtest-dev is already the newest version.

I have checked my log and it is installed in the "Install core system dependencies" step.
Placek Malinowy to jest to!
User avatar
Posts: 136
Joined: Sat Mar 02, 2013 1:25 pm
by elektrknight » Wed May 22, 2013 3:09 pm
I did code searching around the line with error message
/opt/ros/groovy/share/catkin/cmake/test/gtest.cmake:99 (message):
Code: Select all
find_package(GTest QUIET)
if(NOT GTEST_FOUND)
  # only add gtest directory once per workspace
  if(NOT TARGET gtest)
    find_file(_CATKIN_GTEST_SRC "gtest.cc"
      PATHS
      # search in the current workspace
      "${CMAKE_SOURCE_DIR}/gtest/src"
      # fall back to system installed path (i.e. on Ubuntu)
      "/usr/src/gtest/src"
      NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)


Looks like '# search in the current workspace' fails but the 'fall back to system installed path ..' works.
So after putting gtest src in /usr/src/gtest' 'class_loader' has built and Groovy resumed the
process of eating my SD card :-)
Placek Malinowy to jest to!
User avatar
Posts: 136
Joined: Sat Mar 02, 2013 1:25 pm
by elektrknight » Wed May 22, 2013 5:40 pm
> and Groovy resumed the process of eating my SD card.
Not only that!

Groovy build basically took over my Pi and bad things started to happen.
WiFi dropped all the connections, I had to switch to serial console with some difficulties.

Looks like cc1plus has been stuck on /opt/ros/groovy/ros_catkin_ws/src/flann/src/cpp/flann/flann.cpp.
This is after I have increased swap to avoid
Code: Select all
c++: internal compiler error: Killed (program cc1plus)


Is 'chroot' the only way to build ROS for RPi?
Placek Malinowy to jest to!
User avatar
Posts: 136
Joined: Sat Mar 02, 2013 1:25 pm
by elektrknight » Wed May 22, 2013 5:53 pm
512MB RAM + 1GB of swap and all I get is a lousy PANIC message :-(

Yeah, the 'chroot' is the way to get ROSberryPi to build.


Code: Select all
pi@raspberrypi:/opt/ros/groovy/ros_catkin_ws$ top
Killed
pi@raspberrypi:/opt/ros/groovy/ros_catkin_ws$ øø
Debian GNU/Linux 7.0 raspberrypi ttyAMA0

raspberrypi login: PANIC: Out of memory and no killable processes...


Entering kdb (current=0xda868d20, pid 6885) due to Keyboard Entry
kdb>
Placek Malinowy to jest to!
User avatar
Posts: 136
Joined: Sat Mar 02, 2013 1:25 pm