瞬驰(Dash)D1开发手册--Raspberry Pi之ROS安装

安装系统

安装最新版的RASPBIAN JESSIE系统,下载地址如下
https://downloads.raspberrypi.org/raspbian_latest

SD卡制作系统盘的方法如下
https://www.raspberrypi.org/documentation/installation/installing-images/windows.md

把SD卡插入Raspberry Pi3,启动系统。
默认用户名/密码:pi/raspberry

进入系统后,在系统管理中(Menu->preferences->Raspberry Pi Configuration)做如下操作:

  • 修改密码
  • 重设磁盘分区
  • 打开I2C
  • 设置时区

重启Raspberry使修改配置生效。

更换apt源

$ sudo chmod 666 /etc/apt/sources.list
$ sudo echo "deb http://mirrors.aliyun.com/raspbian/raspbian/ jessie main contrib non-free rpi" >/etc/apt/sources.list
$ sudo echo "deb-src http://mirrors.aliyun.com/raspbian/raspbian/ jessie main contrib non-free rpi" >>/etc/apt/sources.list
$ sudo apt-get update

另外要确认下/etc/apt/sources.list.d/raspi.list文件要包含如下内容:

deb http://archive.raspberrypi.org/debian/ jessie main ui

增大swap空间

如果需要更大的swap空间(默认只用100M),通过如下方法修改:
把/etc/dphys-swapfile文件中的

CONF_SWAPSIZE=100

修改为需要的值,比如1024

CONF_SWAPSIZE=1024

然后执行

sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile start

通过free -m可以查看swap分配是否成功。

添加串口访问权限

arduino或激光雷达等外部设备一般使用串口和ROS通讯,所以需要用户拥有串口的读写权限。大部分的串口都属于dialout用户组。所以把eaibot用户加入dialout组就拥有串口访问权限。命令如下:

sudo usermod -a -G dialout pi

安装ROS

安装Indigo版本, 安装方法参考:
http://wiki.ros.org/ROSberryPi/Installing%20ROS%20Indigo%20on%20Raspberry%20Pi

准备工作

添加ROS apt源

$ 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

安装依赖工具

$ sudo apt-get install python-pip python-setuptools python-yaml python-distribute python-docutils python-dateutil python-six checkinstall cmake 
$ sudo pip install rosdep rosinstall_generator wstool rosinstall

初始化rosdep,如果update失败,多尝试几次

$ sudo rosdep init
$ rosdep update

安装

创建空间

$ mkdir ~/ros_catkin_ws
$ cd ~/ros_catkin_ws

下载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  -j8

如果wstool init命令中断,通过下面命令继续下载

wstool update -t src

编译安装

$ cd ~/ros_catkin_ws
$ rosdep install --from-paths src --ignore-src --rosdistro indigo -y -r --os=debian:jessie
$ sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/indigo

如果安装过程中出现 “internal compiler error”错误, 在执行catkin_make_isolated命令时加-j1

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

环境变量设置

等待编译安装完成, 刷新环境变量。

$ echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc
$ source  ~/.bashrc

然后执行roscore, 检查ROS是否安装成功。

新增软件包的安装

已经安装了ros_comm, 现在需要新安装一个ROS包geometry,安装方法如下:

$ cd ~/ros_catkin_ws
$ rosinstall_generator ros_comm geometry --rosdistro indigo --deps --wet-only --exclude roslisp --tar > indigo-custom_ros.rosinstall
$ wstool merge -t src indigo-custom_ros.rosinstall
$ wstool update -t src  -j8
$ rosdep install --from-paths src --ignore-src --rosdistro indigo -y -r --os=debian:jessie
$ sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/indigo  -j1

目前常用的ROS包都可以通过上述方式安装。比如

  • ros_comm
  • common_msgs
  • std_msgs
  • sensor_msgs
  • geometry_msgs
  • nav_msgs
  • rospy
  • tf
  • geometry
  • rosserial_python
  • teleop_twist_keyboard
  • yujin_ocs
  • pluginlib
  • navigation

你可能感兴趣的:(pi,raspberry,ros安装)