草莓采摘机器人项目——ROS导航 (一)
ROS+Handsfree系统以及环境安装
来到公司的第一个小项目, 组长让我先了解学习一下ROS系统,目标就是简单的运用ROS已经封装好的方法进行简单的蒙特卡罗算法导航。 公司用的机器是 HandsFree Stone 机器人平台: Stone机器人平台
具体改装后成品图如下:
Stone是一款采用前万向后差速驱动底盘布局的中型机器人开发平台。Stone采用了基于32位STM32F407芯片的多功能控制器OpenRE Board,拥有丰富的板载资源和二次开发接口,还集成了十轴惯性测量单元。Stone可支持多款主流的激光雷达、单板计算机、RGBD摄像头。Stone支持OpenRE机器人库和ROS系统,完善的开发教程,满足ROS开发、SLAM研究者的需求,适用于机器人相关领域的研究和产品Demo研发。
运用ROS已经封装好的方法进行简单的蒙特卡罗算法导航虽然简单, 但是对于了解Ubuntu系统并不深的我来说, 重新梳理学习了解ROS还是非常必要的。首先安装必要的系统与环境, 我选择使用Ubuntu16.04 + ROS Kinetic作为开发系统与环境。
Ubuntu系统安装
尝试过在Win10虚拟机安装ROS系统和Handsfree, 但是局限于在虚拟机下ROS的下载安装环境的时间过于漫长, 经常显示连接超时而导致下载错误。 迫于无奈准备给自己的笔记本做个双系统(Win10+Ubuntu16.04)。 网上教程无数, 我就不一一重复了。 在此附上我参考的方法连接,方法多且细:Win10+Ubuntu双系统安装
ROS Kinetic安装
重点来了, 开始安装ROS Kinetic版本。 在Ubuntu16.04下依次在终端执行以下指令以安装ROS Kinetic版本。
(1) 添加sources.list
$ sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
(2) 添加keys
$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
(3) 系统更新
$ sudo apt-get update
$ sudo apt-get upgrade
(4) 安装ROS Kinetic版本
$ sudo apt-get install ros-kinetic