ROS学习(一)开发环境配置

最近开始学习ros操作系统,ros是基于ubuntu的一款操作系统,也可以运行在树莓派上。初期会学习一些ros的基础知识,后面会使用ros或者树莓派搭建一款自己的小车机器人,实现自动巡航、壁障的功能。

ROS的wiki非常全面,部分已经被翻译成了中文,所以学习的主线是根据ROS的wiki进行的。

ros开发资料
http://wiki.ros.org/cn
http://wiki.ros.org/
中文版本可能不全,所以当中文有问题时,参照英文版本的。

准备活动

VirtualBox下载

https://www.virtualbox.org/wiki/Downloads

Ubuntu下载

http://cn.ubuntu.com/download/

VirtualBox没有找到64位的对应选项,所以就下载了32位的。
VirtualBox还是挺好用的,一路无脑Next就搞定了。

打开共享剪贴板,有一个坑是执行完下面的步骤后还是无法粘贴。我遇到的情况是:Ubuntu虚拟机里使用快捷键粘贴无效,要通过鼠标右键来操作。

设备安装增强功能
VirtualBox->设备->共享剪贴板->双向
重启

VirtualBox使用NAT模式上网,VirtualBox中有两种NAT模式

网络地址转换NAT
NAT网络

我们选第一种,无需配置,直接可以使用,但是再开发网上,没有成功,可以ping通但是无法上网,没有解决,最后在MAC上安装成功。

Ubuntu安装成功后需要添加software的更新地址。操作步骤如下:

打开system setting(系统设置)
Software&Updates(软件与更新)
点击上方Other software(其他软件)
点击左下角add(添加)按钮

下面一段复制进去

deb http://ros.exbot.net/rospackage/ros/ubuntu/ trusty main

然后在Ubuntu更新软件列表和所有以安装的软件:

sudo apt-get update
sudo apt-get upgrade

开始安装

参考官方安装指引

http://wiki.ros.org/

这里有一个坑,就是ROS分三个版本Kinetic、Jade、Indigo,分别对应固定的Ubuntu的版本。

These instructions will install the ROS Kinetic Kame distribution, which is available for Ubuntu Wily (15.10) and Ubuntu Xenial (16.04 LTS), among other platform options.

To install our previous release, ROS Jade Turtle, please see the Jade installation instructions.

The previous long-term support release, ROS Indigo Igloo, is available for Ubuntu Trusty (14.04 LTS) and many other platforms. Please refer to the Indigo installation instructions if you need to use this version due to robot or platform compatibility reasons.

比如我刚开始下载的Ubuntu是16.04的,就无法安装Indigo版本的ROS。我在执行
sudo apt-get install ros-indigo-desktop-ful

时一直提示找不到包,因为Ubuntu 16下确实是没有这个包的。

网络上的小伙伴大多推荐Indigo,因为坑比较少,所以我也就随大流了,如果有喜欢尝试的朋友可以试一下,也可以告诉我是不是真的 :)

正式开始

添加 sources.list配置你的电脑使其能够安装来自 packages.ros.org的软件。(复制下面话时注意引号)

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

添加 keys

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

这里有一个坑点,注意net后面加入了

:80

是因为keyserver默认使用11371端口号,但是这个端口可能会被封掉了,所以导致无法连接服务器。故我们在这里强制使用80端口。

这里需要再执行一遍,因为上面修改了source_list。

sudo apt-get update

桌面完整版安装:(推荐) 包含ROS、rqt、rviz、通用机器人函数库、2D/3D仿真器、导航以及2D/3D感知功能。

sudo apt-get install ros-indigo-desktop-full

查看可以使用的包

apt-cache search ros-indigo

初始化rosdep
在开始使用ROS之前你还需要初始化rosdep。rosdep可以方便在你需要编译某些源码的时候为其安装一些系统依赖,同时也是某些ROS核心功能组件所必需用到的工具。

sudo rosdep init
rosdep update

环境设置
每次打开一个新的终端时ROS环境变量都能够自动配置好(即添加到bash会话中)

echo “source /opt/ros/indigo/setup.bash” >> ~/.bashrc
source ~/.bashrc

安装rosinstall
rosinstall 是ROS中一个独立分开的常用命令行工具,它可以方便让你通过一条命令就可以给某个ROS软件包下载很多源码树。

sudo apt-get install python-rosinstall

安装就告一段落了

检查是否安装成功

http://wiki.ros.org/ROS/Tutorials

可以通过命令查看 ROS_ROOT and ROS_PACKAGE_PATH是否已经设置。

printenv | grep ROS

2、如果发现没有配置,那这个时候你就需要’source’某些’setup.*sh’文件了。
ROS会帮你自动生成这些‘setup.*sh’文件
执行下面的source命令:

source /opt/ros//setup.bash

请使用具体的ROS发行版名称代替。
比如你安装的是ROS Indigo,则上述命令改为:

$ source /opt/ros/indigo/setup.bash

创建工作空间

依次执行如下命令

$ mkdir -p ~/catkin_ws/src

$ cd ~/catkin_ws/

$ catkin_make

$ source devel/setup.bash

这样我们就成功创建了我们的工作空间,到此再执行命令

echo $ROS_PACKAGE_PATH

就会看到工作空间的路径已经被添加进去了。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值