Lesson 3 软件架构及环境部署

1.软件架构

Diego 1#机器人是基于ROS平台开发的,所有的功能实现都基于ROS的机制,同时集成了许多开源的软件包,下图为软件架构图:

  • 操作系统是基于Ubuntu mate 16.04版本,ROS的版本是kinetic。
  • ros_arduino_bridge:ROS与Arduino通讯的包。

    ros_arduino_firmware:运行在Arduino上,负责根据树莓派相应模块的指令执行相应的控制,如PID的运算,传感器的控制,舵机的控制。

    ros_arduino_node:运行在树莓派上,作为ROS的一个节点运行,提供相应的节点Service和Topic。

    base_controller:运行在树莓派上,订阅Twist消息,并根据机器人的配置,转换成相应的控制命令发送给Arduino执行,同时也发布里程计odom消息,供其他模块使用。

  • SLAM

    Gmapping;可以根据激光雷达数据或者点云数据数据构建室内地图,同时需要odom数据。

    Hector;根据激光雷达数据或者点云数据构建室内地图,不需要odom。

    amcl:根据激光雷达或者点云数据,在现有的地图上进行定位。

    move_base:路径规划,发送Twist消息控制机器人到达指定的位置。

  • Vision

    Openni:深度相机的驱动包,可以驱动xtion和Kinect,产生点云数据。

    usb_cam: usb相机的驱动包。

  • Voice & Speech

    sphinx:离线语音识别合成包,主要针对英文。

    讯飞语音:讯飞的在线语音识别合成系统。

  • moveit:机械臂控制包,可以控制机械臂运行到指定的姿势,同时具有避障的功能。

  • teleop_twist_keyboard-master:通过键盘控制机器人。

 

2.制作树莓派系统镜像

由于树莓派是armhf架构,根据ROS官方安装说明ROS kinetic+Ubuntu Xenial才能支持armhf架构。

而官方建议的 xenial版本是Ubuntu MATE 16.04.2 LTS

所以我们这里就选用官方推荐的版本,以免将来产生未知的问题。

有关ROS安装详细信息可以参考官方的安装说明:http://wiki.ros.org/ROS/Installation

2.1. Ubuntu MATE 16.04.2 LTS下载

下载地址:https://ubuntu-mate.org/download/

这里要选择树莓派专用的版本,然后选择下载方式就可以下载了,下载完成后解压缩就可以得到镜像文件。

2.2. mac 电脑制作树莓派Ubuntu SD

a. 打开一个terminal

b. cd 到镜像文件所在的目录,这里我们把镜像文件放在桌面上

cd Desktop

c.查看sd卡的文件名

diskutil list

d.unmount磁盘

diskutil unmountDisk /dev/disk3

e.执行烧写命令

sudo dd bs=1m if=ubuntu-mate-16.04.2-desktop-armhf-raspberry-pi.img of=/dev/disk3

执行过程如下:

windows系统可以使用Win32DiskImager软件烧写,图形化界面,使用简单,这里就不在介绍。

SD卡制作完成后就可以插入树莓派,第一次开机需要做必要的设置,相关的设置可以参见官方文档:https://ubuntu-mate.org/raspberry-pi/

3.ROS安装

此部分翻译自官方安装说明:http://wiki.ros.org/kinetic/Installation/Ubuntu

3.1设置sources.list

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

 3.2设置key

sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

3.3更新系统

sudo apt-get update

3.4ROS kinetic桌面版安装

由于树莓派的计算能力有限,所以我们选择安装桌面版本,后面根据需要逐步安装需要的包

sudo apt-get install ros-kinetic-desktop

3.5初始化rosdep

sudo rosdep init
rosdep update

3.6环境设置

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

至此ROS在树莓派上的安装就已经完成了,可以在直接在树莓派上工作了。

4.ROS 工作目录的创建

开始ROS的开发,首先要创建ROS的工作目录

$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace

发表评论

Scroll to top
%d 博主赞过: