树莓派编译安装ros,原理步骤详细

原创 2016年06月01日 16:40:22

先下载ros源码,可以在PC上执行,也可以在raspbian里执行。此处在PC ubuntu上执行。
添加ros源

$ echo "deb http://packages.ros.org/ros/ubuntu jessie main" > /etc/apt/sources.list.d/ros-latest.list

添加key

$ wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -O - | sudo apt-key add -

更新源和升级

$ sudo apt-get update
$ sudo apt-get upgrade

安装python-pip,pip是一个python包管理工具

$ sudo apt-get install python-pip

通过pip安装一些下载ros源码的工具。rosdep用于解决ros包依赖的问题,rosinstall_generator用于生成下载源码的列表文件.rosinstall,wstool用于根据源码列表文件下载源码

$ sudo pip install rosdep rosinstall_generator wstool

初始化rosdep

$ sudo rosdep init
$ rosdep update

创建工作空间,存放源码和用于编译

$ mkdir ~/ros_ws
$ cd ~/ros_ws

用rosinstall_generator生成源码列表文件。ros_common是一个预定义的参数,包含常用ros包,此处也可添加其他一些常用包,比如geometry_msgs和tf。rosdistro选项指定ros的版本,最新版是kinetic,稳定版是indigo。

$ rosinstall_generator ros_comm geometetry_msgs tf --rosdistro kinetic --deps --wet-only --exclude roslisp --tar > ros_comm.rosinstall

用wstool根据列表下载源码

$ wstool init src ros_comm.rosinstall

如果下载中断,利用下面语句继续

$ wstool update -t src

下载的源码存放在src文件夹里。打包工作空间,传到树莓派上

$ cd ~
$ tar -zcf ros_ws.tar.gz ros_ws
$ scp ros_ws.tar.gz pi@192.168.1.xx:~

以下在树莓派上进行,解压源码

$ ssh pi@192.168.1.xx
$ cd ~
$ tar -zxf ros_ws.tar.gz
$ cd ros_ws

在树莓派上执行添加源,key,apt-get update,安装pip和rosdep的工作,步骤同PC。也可直接apt-get install python-rosdep,就不用安装pip了。

用rosdep安装依赖包,其中最大的算是libboost,注意要保证空间足够。

$ rosdep install --from-paths src --ignore-src --rosdistro kinetic -y -r --os=debian:jessie

用catkin_make编译。注意,因为树莓派只有1G内存,默认是-j4编译,在编译到roscpp的时候会因为内存不够编译卡住。所以这里加-j2,不会死机但是比较慢。也可以-j4编译到卡住之后再用-j2编译。roscpp应该是倒数第几个包,一共有五十几个包。编译需要20分钟。

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

结束后source一下就可以运行roscore了

$ echo ". /opt/ros/kinetic/setup.bash" >> ~/.bashrc
$ . ~/.bashrc
$ roscore

如果运行roscore出现一大堆运行时错误,如下
terminate called after throwing an instance of ‘std::runtime_error’ what(): locale::facet::_S_create_c_locale name not valid
是locale未设置,locale有很多变量,比较方便的方法是直接设置LC_ALL。先查看有哪些locale可用

$ locale -a

找类似en_US.utf8,en_GB.utf8, zh_CN.utf8的,然后设置LC_ALL

$ echo "export LC_ALL="en_GB.utf8" >> ~/.bashrc
$ . ~/.bashrc

可以做一些收尾工作,用pip uninstall删除wstool rosinstall_generator等包。/opt/ros算是绿色软件,新的树莓派用rosdep安装依赖包以后,可以把打包的/opt/ros解压了直接用,不用重新编译了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

树莓派3Raspbian-jessie编译安装ROS Indigo完整版

跟很多人的想法一样,我也想自己搭建一个基于ROS的可移动平台,由于特别喜欢树莓派,就想把ROS装到树莓派3上面,折腾了好几天,终于装好了。过程中参考了不少大神的教程,主要参考了著名博主东方赤龙和ROS...

ROS 学习系列 -- 树莓派编译安装完整版本ROS

介绍如果在树莓派中安装完整的ROS

树莓派2安装ubuntu14.04+ros indigo

树莓派2安装ubuntu14.04+ros indigo 安装ubuntu14.04 所需软件:1.SDFormatter软件(个人没用)           2.Win32DiskImager(用来...

树莓派3代Raspbian Jessie安装ROS-Indigo-Desktop

手上有块树莓派3,最近实验室要求在树莓派上安装ROS-indigo-desktop版,参考了几篇教程,趟了无数坑,花费了数个日夜终于有些眉目,记录下来供以后参考。

树莓派3上安装ros完整版

官方安装教程 主要安装步骤大家参考官方教程,下面的算是我对官方教程的一点补充说明,也许可以帮助大家少走点弯路。官方教程上支持的树莓派系统版本为wheezy和jessie;我用的是最新的jessie。...

树莓派3安装ROS(机器人操作系统)

最近入手小派,感觉用起来还挺顺溜.话说最近机器人可火了,老板也要顺应时代潮流。一句话就是搞!唉,做牛做马也得搞啊...以前开发过机器人,不过都是低级的机器,比赛用的也有,感觉功能太差劲,没啥智能水平。...

在树莓派、香蕉派上安装ROS JADE (Arch Linux)

在ros官方网站上对于raspberry pi、banana pi等ARM设备只提供了Ubuntu系统的安装方式,对于Arch等暂时还没有支持。而对于刚出的ROS发行版Jade,更是连PC版都只有Ub...

树莓派学习笔记一:ROS安装

喝水不忘挖井人,参考链接:http://www.ncnynl.com/category/ros-board/ 我们选用ubuntu_mate _16.04+ROS kinetic的方案 1.下...

树莓派3b安装新系统的步骤和一些问题(萌新看过来)

第一步:下载一个SD卡格式化工具,一个简单好用的小软件,网址是:https://www.sdcard.org/downloads/formatter_4/eula_windows/;再下载一个烧系统的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)