ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

Building Turtlebot for Raspberry Pi 2 [Indigo] Two Questions

asked 2015-06-12 13:32:10 -0600

sakumar gravatar image
  1. What is the best way to build Turtlebot from source? Following the instructions in ROSberryPiInstalling ROS Indigo on Raspberry Pi, I was able to install Indigo successfully. However, the turtlebot node was not included in the basic build. This tutorial on Turtlebot installation has instructions on how to build from source. It recommends installing rocon, kobuki, turtlebot from source as follows (similarly for the other two):

    $ mkdir ~/rocon

    $ cd ~/rocon

    $ wstool init -j5 src https://raw.github.com/robotics-in-concert/rocon/indigo/rocon.rosinstall

    $ source /opt/ros/indigo/setup.bash

    $ rosdep install --from-paths src -i -y

    $ catkin_make

    I chose not to go this route. Instead, I followed the instructions to install packages as described in Section 3 "Maintaining a Source Checkout" in the earlier ROS/Raspberry Pi tutorial.

    $ cd ~/ros_catkin_ws

    $ rosinstall_generator rocom kobuki turtlebot --rosdistro indigo --deps --wet-only --exclude roslisp --tar > indigo-custom_ros.rosinstall Next, update the workspace with wstool:

    $ wstool merge -t src indigo-custom_ros.rosinstall

    $ wstool update -t src After updating the workspace, you may want to run rosdep to install any new dependencies that are required:

    $ rosdep install --from-paths src --ignore-src --rosdistro indigo -y -r --os=debian:wheezy Finally, now that the workspace is up to date and dependencies are satisfied, rebuild the workspace:

    $ sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/indigo

    So did I do the right thing by doing it this way?

    The instructions in the turtlebot installation are probably for developers who want to build from source, but not for someone who has to build from source because it is for a different processor (ARM7 in my case).

    But I am apprehensive because now I have to build 321 packages from source! Which brings me to question 2.

  2. libfreenect and libusb-1.0 linker issues. The first problem was a build failure when building libreenect.so. It complained about libusb_get_parent being an undefined symbol. Luckily someone had run into this before and provided a solution. The problem was that the Rasbian release has an older libusb-1.0 and needs to be upgraded to version 1.0.18. That fixed the libfreenect.so build problem.

    However, a little further down the line when freenect_camera tried to link to libfreenect.so, the linker complained that libusb_get_parent is an undefined symbol. At this point I am stumped -- I've tried editing package.xml for freenect_camera (adding dependencies to libusb) and messing with CMakeLists.txt but nothing has worked.

    How do I get freenect_camera to link using the rebuilt libusb-1.0?

edit retag flag offensive close merge delete

Comments

Did you figure out the answer to your 2nd question? Have the same problem.

kosai gravatar image kosai  ( 2015-08-10 06:58:29 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2015-08-28 12:01:20 -0600

sakumar gravatar image

sorry, I only just saw your question -- no, I was not able to resolve this issue. I felt I was too much on the bleeding edge to get things to work using Rasperry Pi (being new to ROS as well), so I switched to using an Intel NUC.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2015-06-12 13:32:10 -0600

Seen: 1,704 times

Last updated: Jun 12 '15