树莓派3+2017-7-05-raspbian-jessie+indgo Ros
来源:互联网 发布:电子商务发展数据2016 编辑:程序博客网 时间:2024/04/28 23:31
本文只是为了对Ros安装过程做个备份。如果是树莓安装的是ubuntu,好像可以直接sudo apt-get install ,有机会试试:http://wiki.ros.org/ROSberryPi/Installing%20ROS%20Kinetic%20on%20the%20Raspberry%20Pi。
以下是参考的文章:http://rosclub.cn/post-182.html
http://wiki.ros.org/ROSberryPi/Installing%20ROS%20Indigo%20on%20Raspberry%20Pi
安装raspbian的话,自行搜索就好了,我是使用Panasonic_SDFormatter+Win32DiskImager+2017-7-05-raspbian-jessie写镜像文件到sd卡。
现在可以开始:
1、使用sudo nano /etc/apt/sources.list,修改:阿里云linux更新源:
deb http://mirrors.aliyun.com/raspbian/raspbian/ jeesie main non-free contrib rpi
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ jeesie main non-free contrib rpi
2、修改swap空间,使用命令
sudo nano /etc/dphys-swapfile修改:CON-SWAPSIZE = 2048;
3、设置Ros源码仓库与key,并更新
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu jessie main" > /etc/apt/sources.list.d/ros-latest.list'
wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -O - | sudo apt-key add -
sudo apt-get update
sudo apt-get upgrade
4、安装依赖包sudo apt-get install python-pip python-setuptools python-yaml python-distribute python-docutils python-dateutil python-sixsudo pip install rosdep rosinstall_generator wstool rosinstall5、初始化 rosdep
pi@raspberrypi:~ $ sudo rosdep initpi@raspberrypi:~ $ rosdep update6、创建catkin的工作空间
mkdir ~/ros_catkin_wscd ~/ros_catkin_ws7、可以选择以下两个版本来安装:
ROS基础版
$ rosinstall_generator ros_comm --rosdistro indigo --deps --wet-only --exclude roslisp --tar > indigo-ros_comm-wet.rosinstall$ wstool init src indigo-ros_comm-wet.rosinstall
ROS Desktop版
$ rosinstall_generator desktop --rosdistro indigo --deps --wet-only --exclude roslisp --tar > indigo-desktop-wet.rosinstall$ wstool init src indigo-desktop-wet.rosinstall
如果在安装过程中断则
wstool update -t src
8、另外再安装一些
Desktop所需依赖包:libconsole-bridge-dev, liblz4-dev, liburdfdom-headers-dev, liburdfdom-dev, collada-dom-dev
8.0、新建external_src和安装 checkinstall cmake
pi@raspberrypi:~ $ mkdir ~/ros_catkin_ws/external_srcpi@raspberrypi:~ $ sudo apt-get install checkinstall cmake
8.1、安装libconsole-bridge-dev
添加软件源
sudo sh -c 'echo "deb-src http://mirrordirector.raspbian.org/raspbian/ testing main contrib non-free rpi" >> /etc/apt/sources.list'sudo apt-get update
cd ~/ros_catkin_ws/external_srcsudo apt-get build-dep console-bridgeapt-get source -b console-bridgesudo dpkg -i libconsole-bridge0.2*.deb libconsole-bridge-dev_*.deb8.2、安装libliz4-dev
cd ~/ros_catkin_ws/external_srcapt-get source -b lz4sudo dpkg -i liblz4-*.deb8.3、安装liburdfdom-headers-dev
cd ~/ros_catkin_ws/external_srcgit clone https://github.com/ros/urdfdom_headers.gitcd urdfdom_headersgit reset --hard 9aed725cmake .sudo checkinstall make install
提供多个选项的时候,选择2修改包名称为liburdfdom-header-dev,然后在之后的两个问题都选择N,否则最后编译时会出错。
cd ~/ros_catkin_ws/external_srcsudo apt-get install libboost-test-dev libtinyxml-devgit clone https://github.com/ros/urdfdom.gitcd urdfdomcmake .sudo checkinstall make install
提供多个选项的时候,选择2修改包名称为liburdfdom-dev,然后在之后的两个问题都选择N,否则最后编译时会出错。
注意:因为urdfdom和urdfdom-header在github都已经更新,所以请自行到github下载urdfdom-0.3.zip和urdf_header-0.4.zip,来替换相应的包,然后继续使用cmake . 和sudo checkinstall make install来安装即可。不然报错,以下错误分析会提到。
8.5、collada-dom-dev:
cd ~/ros_catkin_ws/external_srcsudo apt-get install libboost-filesystem-dev libxml2-devwget http://downloads.sourceforge.net/project/collada-dom/Collada%20DOM/Collada%20DOM%202.4/collada-dom-2.4.0.tgztar -xzf collada-dom-2.4.0.tgzcd collada-dom-2.4.0cmake .sudo checkinstall make install提供多个选项的时候,选择2修改包名称为liburdfdom-dev,然后在之后的两个问题都选择N,否则最后编译时会出错。
9、使用rosdep来解决依赖问题
cd ~/ros_catkin_wsrosdep install --from-paths src --ignore-src --rosdistro indigo -y -r --os=debian:jessie10、编译catkin workspace
sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/indigo最后如果完全成功,则
source /opt/ros/indigo/setup.bash基本过程就是这样。
接下来解决几个问题:
1、如果是rviz、collada_urdf和collada_to_urdf出现了Assimp::IOSystem的相关错误则在
/home/pi/ros_catkin_ws/src/rviz/src/rviz/mesh_loader.cpp和
/home/pi/ros_catkin_ws/devel_isolated/collada_urdf/lib/collada_urdf中的collada_to_urdf和collada_urdf中
$#if defined(ASSIMP_UNIFIED_HEADER_NAMES)$..........$#endif
处添加以下代码:$#ifdef __arm__ // fix for ARM build $#include <strings.h> $bool Assimp::IOSystem::ComparePaths(const char *p1, const char *p2) const ${ $ return !::strcasecmp(p1, p2); $} $# endif
2、Not foud eigen3
在http://eigen.tuxfamily.org/index.php?title=Main_Page上下载个稳定的eigen,•
运行指令:sudo tar -xvjf ~/ eigen-eigen-5a0156e40feb.tar.bz2 -C /usr/local/include
sudo mv /usr/local/include/eigen-eigen-5a0156e40feb /usr/local/include/eigen3
其中: eigen-eigen-5a0156e40feb.tar.bz2和eigen-eigen-5a0156e40feb为下载和解压后的名称,即可。
3、有残缺的依赖问题
可以尝试使用 :sudo apt-get -f install
修复
4、如果提示没安装依赖项libconsole-bridge0.2v5,可以 尝试
cd ~/ros_catkin_ws/external_srcsudo apt-get install libboost-system-dev libboost-thread-dev
git clone https://github.com/ros/console_bridge.gitcd console_bridgecmake .sudo checkinstall make install然后使用sudo apt-get -f install 来修复依赖关系。
5、qt_gui_cpp fails building sip bindings(57)
更新qt_gui_cpp,就是说,下载新的qt_gui_cpp,然后解压到src中,即可。
6、Eigen3 cmake module not found.
尝试使用:指定使用cmake-3.0来编译sudo ./src/catkin/bin/catkin_make_isolated—install -DCMAKE_BUILD_TYPE=Release -DCMAKE_MODULE_PATH=/usr/share/cmake-3.0/Modules --install-space /opt/ros/indigo
来安装
如果还有新的问题没解决,请到https://answers.ros.org/question/
和
https://github.com/ros/
上查找相关的Issues来解决。
以下为几张错误图片:
rviz,collada-urdf collada-to-urdf
- 树莓派3+2017-7-05-raspbian-jessie+indgo Ros
- 树莓派3代Raspbian Jessie安装ROS-Indigo-Desktop
- 树莓派3Raspbian-jessie编译安装ROS Indigo完整版
- RASPBIAN JESSIE+ROS indigo镜像
- Robi改造计划更新---moveit终于在树莓派raspberry 3B(raspbian<Jessie>, ROS Indigo版本)上安装好了
- Qt5.7.1 树莓派3B+ 2016-09-23-raspbian-jessie.img 交叉编译 ubuntu16.04
- 树莓派3-Jessie编译安装ROS-indigo完整版
- 树莓派折腾录一. 必要的初始化(Raspberry Pi 2 model B + raspbian jessie)
- 在MAC OS下安装Raspbian Jessie with Pixel树莓派系统
- 玩转树莓派之在树莓派Jessie系统中安装ROS
- 树莓派折腾录三. 通过Synergy共享键盘鼠标(Raspberry Pi 2 model B+RaspEX/RASPBIAN JESSIE)
- 基于ARM的RPi3+raspbian-jessie-lite-2017-04-10上OpenCV3.2.0在python2.7.9上本地编译安装及调用命令汇总
- 树莓派3B-raspbian系统安装
- 树莓派3b安装raspbian系统
- 树莓派Raspbian安装后初始设置整理版(针对2017-08-16-raspbian-stretch)
- 树莓派安装raspbian系统
- 树莓派raspbian资源下载
- 树莓派Raspbian安装mysql
- SpringMVC之视图解析器(ViewResolver)
- VB.Net XML序列化中格式化日期
- 好数 51Nod
- 电气设备安装案例
- 递归算法新篇章——七夕情人节特备版
- 树莓派3+2017-7-05-raspbian-jessie+indgo Ros
- python 字典
- [Leetcode] 373. Find K Pairs with Smallest Sums 解题报告
- MonoBehaviour
- 后台部署相关
- 下拉,viewPager
- Maven搭建spring boot启动时报错NoClassDefFoundError: org/apache/juli/logging/LogFactory
- DOM方式的XML文件读取和写入
- Android 5.0输入系统分析之InputReader和InputDispatcher线程启动过程