RE0:从零开始的服务器生活(二)ROS环境配置

(二)ROS环境配置

解决了网卡和显卡的问题(实验室有两块显卡,一块是Q P620一块是Titani V,P620的驱动成功安装了,但是TitanV安装出现了循环登录。)可以开始搭建ROS环境了。

ROS版本选择

需要安装ROS的有两个设备,一个是安装在机器人上的TX1,一个是我们的台式服务器。两个设备都采用了Ubuntu16.04的系统,因此选择对应的ROS Kinetic版本。

安装ROS

1、更新配置

首先确保“设置->软件和更新->Ubuntu软件”的前四项勾选,并确保选择合适的服务器。否则会出现类似于:

XXX: Depends: XXXX4.10
Depends: XXXXX但是它将不会被安装
Recommends: XXXXXXXX 但是它将不会被安装
E: Unable to correct problems, you have held broken packages.

的依赖项问题。

2、添加下载源和公钥

需要事先添加ROS的下载地址

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

公钥是Ubuntu系统的一种安全机制,也是ROS安装中不可缺的一部分。

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

3、更新系统

成功添加公钥后更新系统

sudo apt-get update && apt-get upgrade

4、下载ROS

我们希望使用功能完整的ROS,所以下载桌面完整版:

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

ROS下载
大小大概是2~3个G,现在等待安装结束。

配置ROS

接下来还有几个比较重要的ROS组件需要我们配置。

rosdep

rosdep可以方便在你需要编译某些源码的时候为其安装一些系统依赖,同时也是某些ROS核心功能组件所必需用到的工具。
编译他人代码的时候不需要担心缺少依赖项了。(只能安装系统依赖项,并不是所有依赖项都能用rosdep解决)

sudo rosdep init && rosdep update

更新.bashrc

这是极其重要的一部,.bashrc文件位于主文件夹(Home)下,不过被隐藏了起来了。使用ctrl+H就可以查看。
ROS的环境配置,是每一个终端彼此独立的,但是他们都会运行.bashrc,因此我们需要将ROS的bash文件写入.bashrc当中,这样我们每开启一个终端,就会自动source ROS。

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

这里还有一件事情要强调一下,如果我们使用的是普通的终端,那么就按照如上操作没有问题。如果使用的是zsh的shell,那么你需要source的就是.zsh文件。

安装rosinstall

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

sudo apt-get install python-rosinstall

更新Gazebo

ros桌面完整版虽然自带rviz和Gazebo,但是很可能不是最新的版本,如果你的项目需要最新的Gazebo支持,那么确保将Gazebo更新到7.0以上的版本。

sudo sh -c 'echo "deb  http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
sudo apt-get update
sudo apt-get install gazebo7

最新版本是Gazebo9,但是需要先卸载原来的Gazebo。我们只更新到7.14就可以了。

更改Python默认编码配置

目前ROS使用的Python代码是支持Python2的,ROS2才开始支持Python3,所以我们需要确保默认的Python版本是2.x。
并且将Python的默认编码方式修改为utf-8。否则会出现

‘ascii’ codec can’t decode byte 0xe6 in position 10: ordinal not in range(128)
The traceback for the exception was written to the log file

的问题。
更改的方式是进入在python的lib文件夹下的sitecustomize.py文件中添加代码:(文件位于/usr/lib/python2.7)
加上这两句

import sys
sys.setdefaultencoding('utf-8') 

接下来我们测试一下代码,看看安装是否成功。
成功安装
安装成功!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值