您的位置:首页 > 编程语言 > ASP

树莓派3+2017-7-05-raspbian-jessie+indgo Ros

2017-08-25 09:18 513 查看
本文只是为了对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-six
sudo pip install rosdep rosinstall_generator wstool rosinstall

5、初始化 rosdep

pi@raspberrypi:~ $ sudo rosdep init
pi@raspberrypi:~ $ rosdep update

6、创建catkin的工作空间 

mkdir ~/ros_catkin_ws
cd ~/ros_catkin_ws

7、可以选择以下两个版本来安装:

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_src
pi@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_src
sudo apt-get build-dep console-bridge
apt-get source -b console-bridge
sudo dpkg -i libconsole-bridge0.2*.deb libconsole-bridge-dev_*.deb

8.2、安装libliz4-dev

cd ~/ros_catkin_ws/external_src
apt-get source -b lz4
sudo dpkg -i liblz4-*.deb

8.3、安装liburdfdom-headers-dev

cd ~/ros_catkin_ws/external_src
git clone https://github.com/ros/urdfdom_headers.git cd urdfdom_headers
git reset --hard 9aed725
cmake .
sudo checkinstall make install




提供多个选项的时候,选择2修改包名称为liburdfdom-header-dev,然后在之后的两个问题都选择N,否则最后编译时会出错。

8.4、liburdfdom-dev:

cd ~/ros_catkin_ws/external_src
sudo apt-get install libboost-test-dev libtinyxml-dev
git clone https://github.com/ros/urdfdom.git cd urdfdom
cmake .
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_src
sudo apt-get install libboost-filesystem-dev libxml2-dev
wget http://downloads.sourceforge.net/project/collada-dom/Collada%20DOM/Collada%20DOM%202.4/collada-dom-2.4.0.tgz tar -xzf collada-dom-2.4.0.tgz
cd collada-dom-2.4.0
cmake .
sudo checkinstall make install

提供多个选项的时候,选择2修改包名称为liburdfdom-dev,然后在之后的两个问题都选择N,否则最后编译时会出错。

9、使用rosdep来解决依赖问题

cd ~/ros_catkin_ws
rosdep install --from-paths src --ignore-src --rosdistro indigo -y -r --os=debian:jessie

10、编译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_src
sudo apt-get install libboost-system-dev libboost-thread-dev

git clone https://github.com/ros/console_bridge.git cd console_bridge
cmake .
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





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: