ROS Native Compilation

https://wiki.gumstix.com/index.php?title=ROS

ROS Native Compilation

  1. Get all libraries and tools
    $ sudo apt-get install python-pip build-essential python-yaml cmake subversion wget python-setuptools mercurial git-core python-yaml libapr1-dev libaprutil1-dev libbz2-dev python-dev python-empy python-nose libgtest-dev python-paramiko libboost-all-dev liblog4cxx10-dev pkg-config libqt4-dev qt4-qmake
  2. Some of the ROS tools need to come from PIP as I wasn't able to get them through Aptitude
    $ pip install rospkg rosdep rosinstall catkin-pkg wstool
  3. Initialize dependencies
    $ sudo rosdep init
    $ rosdep update
  4. Now we create a catkin workspace and initialize to build core ROS packages
    $ mkdir -p ~/ros_core_ws
    $ cd ~/ros_core_ws
    $ wstool init src  https://raw.github.com/gist/4129582/e8889c0fc3af2f95892190e0fabc2bd535208355/base.rosinstall
  5. Build catkin and install it. catkin is the low-level build system of ROS
    $ ./src/catkin/bin/catkin_make
    $ ./src/catkin/bin/catkin_make install
  6. Setup catkin build environment
    $ source ~/ros_core_ws/install/setup.bash
  7. Now we create and initialize a workspace to put all our ROS packages
    $ mkdir ~/ros
    $ cd ~/ros
    $ rosws init . ~/ros_core_ws/install/
  8. Current ROS distribution does not recognize Linaro. We have to patch the os detection file.
    $ vim /usr/local/lib/python2.7/dist-packages/rospkg/os_detect.py
  9. Add the following bold faced changes
    OS_UBUNTU='ubuntu'
    OS_LINARO='linaro
    OsDetect.register_default(OS_UBUNTU, LsbDetect("Ubuntu"))
    OsDetect.register_default(OS_UBUNTU, LsbDetect("Linaro"))
  10. There are a couple dependencies required before we can compile iRobot's Create ROS package
    $ roslocate info kdl > kdl.rosinstall
    $ rosws merge kdl.rosinstall
    $ rosws update
    $ rosdep install kdl
    $ rosmake kdl
    $ roslocate info bullet > bullet.rosinstall
    $ rosws merge bullet.rosinstall
    $ rosws update
    $ rosdep install bullet
    $ rosmake bullet
  11. If the last step fails indicating that a packaged named bullet was not found, try updating dependency map before running rosmake
    $ rosdep update
  12. And build geometry package, the last dependency
    $ roslocate info geometry > geometry.rosinstall
  13. In the geometry package's rosinstall file, switch the branch name to fuerte_devel. For some reason the default branch does not work.
    $ vim geometry.rosinstall
    //version: tf_rework
    version: fuerte_devel
    $ rosws merge geometry.rosinstall
    $ rosws update
    $ rosdep install geometry
    $ rosmake geometry
  14. Finally we can install iRobot's ROS package
    $ roslocate info irobot_create_2_1 > irobot_create_2_1.rosinstall
    $ vim irobot_create_2_1.rosinstall
    $ rosws merge irobot_create_2_1
    $ rosws update
    $ rosmake irobot_create_2_1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值