ROS学习笔记1-基于ubuntu18.04下ros环境的搭建与Roboware studio的安装

ROS学习笔记第一弹--基于ubuntu18.04下ROS环境的搭建和roboware studio 的安装

一、ROS系统的安装

由于笔者最近项目需要在ros系统上完成自己的设计,同时目前ros系统安装教程都有着很多的坑,因此笔者特地记录下来自己在ubuntu18.04下安装ros遇到的种种问题,供大家参考。

1.ROS基础所需包及ROS-melodic的下载

此处主要参考了以下教程:
1.https://zhuanlan.zhihu.com/p/218329258
2.https://www.cnblogs.com/letisl/p/11815191.html
3.https://blog.csdn.net/UTOPIA_0421/article/details/102767199?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2
4.https://blog.csdn.net/u014453443/article/details/104411783

1.1修改下载源

找到‘软件和更新’,修改里面的下载源,选择中国的服务器,把第二项【其他软件】里的勾勾全部去掉。
ROS学习笔记1-基于ubuntu18.04下ros环境的搭建与Roboware studio的安装

1.2导入软件源

在桌面上右键打开终端,在终端中选择输入以下命令:
1.国外软件安装源(安装较慢,笔者没有选用)

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

2.国内安装源(安装速度较快,笔者推荐)

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'

或者是

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

1.3添加密钥

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

1.4更新软件

要保证系统安装包在最新状态:

sudo apt-get update

一般来说这一步不会出现问题,如果出现了 GPG 错误:http://packages.ros.org/ros/ubuntu xenial InRelease: 由于没有公钥,无法验证下列签名,可参考这篇文章https://blog.csdn.net/qq_43310597/article/details/105756819。

1.5安装ros

在ROS中,有很多不同的库和工具,官方提供了四种默认的安装方式

  1. 桌面完整版(笔者最终采用的):包含ROS、rqt、rviz、机器人通用库、2D/3D 模拟器、导航以及2D/3D感知等:sudo apt install ros-melodic-desktop-full
  2. 桌面版安装:包含ROS、rqt、rviz以及通用机器人函数库:sudo apt install ros-melodic-desktop
  3. 基础版安装:包含ROS核心软件包、构建工具以及通信相关的程序库,无GUI工具:sudo apt install ros-melodic-ros-base
  4. 单个软件包安装: 你也可以安装某个指定的ROS软件包(使用软件包名称替换掉下面的PACKAGE):sudo apt install ros-melodic-PACKAGE

2.ROS初始化

rosdep能够轻松地安装要编译的源代码的系统依赖关系,并且需要在ROS中运行一些核心组件。在使用 ROS 之前,需要先初始化 rosdep。rosdep 使得你可以为你想要编译的源码,以及需要运行的 ROS 核心组件,简单地安装系统依赖。此处出现的问题会比较多,有较多的坑。

2.1 rosdep init

sudo rosdep init

1.这里可能会出现找不到命令或者是ERROR:cannot download default source这两个错误,可以通过以下代码解决:

sudo apt-get install python-rosdep python-wstool

在安装好之后就再次运行rosdep init即可

$$此处附上关于ERROR:cannot download default source另一种解法,来自https://blog.csdn.net/qq_43310597/article/details/105756819

sudo gedit /etc/resolv.conf

在打开的文档中,在nameserver位置改为:

nameserver 8.8.8.8 
nameserver 8.8.4.4 

然后点击保存,再次执行rosdep init即可。

2.2 rosdep update

在执行rosdep init之后,就可以执行以下代码

rosdep update

通常来说这一步经常会出现连接超时的现象,主要有以下几种解决方案

1.更换成手机热点,再次执行命令(笔者没尝试过)

2.更换软件源(笔者使用的方法)

注:方法参考于https://www.cnblogs.com/letisl
首先cd到以下目录
ROS学习笔记1-基于ubuntu18.04下ros环境的搭建与Roboware studio的安装然后输入

sudo gedit 20-default.list

在打开的文档中将所有内容替换成以下文本:

#Rewrited by HAN_Letisl
#For more information: https://www.cnblogs.com/letisl

# os-specific listings first
yaml https://hansteam.coding.net/p/rosdeap_mirror/d/rosdeap_mirror/git/raw/master/osx-homebrew.yaml osx

# generic
yaml https://hansteam.coding.net/p/rosdeap_mirror/d/rosdeap_mirror/git/raw/master/base.yaml
yaml https://hansteam.coding.net/p/rosdeap_mirror/d/rosdeap_mirror/git/raw/master/python.yaml
yaml https://hansteam.coding.net/p/rosdeap_mirror/d/rosdeap_mirror/git/raw/master/ruby.yaml
gbpdistro https://hansteam.coding.net/p/rosdeap_mirror/d/rosdeap_mirror/git/raw/master/fuerte.yaml fuerte

# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead

然后保存,再次执行rosdepupdate即可。

3.解除屏蔽

方法来自https://blog.csdn.net/jasdhasd/article/details/105607125?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161482576516780255270293%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=161482576516780255270293&biz_id=0

sed -i "s/raw.githubusercontent.com/raw.ctl.app/g" /usr/lib/python2.7/dist-packages/rosdistro/__init__.py
 
sed -i "s/raw.githubusercontent.com/raw.ctl.app/g" /usr/lib/python2.7/dist-packages/rosdistro/manifest_provider/github.py
 
sed -i "s/raw.githubusercontent.com/raw.ctl.app/g" /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
 
sed -i "s/raw.githubusercontent.com/raw.ctl.app/g" /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py

3.添加环境变量与安装依赖库

3.1添加环境变量

每次打开新的终端ROS环境变量都能够自动配置好(即添加到~/.bashrc文件中),那将会方便很多:

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

在这一步中有可能会出现source命令找不到的错误,这表示其中有部分的依赖库被删除了,可以通过再次安装ros包解决:

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

3.2安装依赖库

rosinstall是一个经常使用的命令行工具,它使你能够轻松地从一个命令下载许多ROS包的源码树。

sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential

4.测试ROS

4.1roscore运行

在终端命令框中输入

 roscore

会出现
ROS学习笔记1-基于ubuntu18.04下ros环境的搭建与Roboware studio的安装
就证明ros已经是正常运行了。
如果提示找不到roscore命令,则可通过再次执行安装指令来修复

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

4.2小乌龟例程运行

启动roscore后,重新打开一个终端窗口,输入:

rosrun turtlesim turtlesim_node

再打开一个终端窗口输入

rosrun turtlesim turtle_teleop_key

就可以通过方向键来控制小乌龟的运行了
ROS学习笔记1-基于ubuntu18.04下ros环境的搭建与Roboware studio的安装

二、roboware studio的安装

1.下载文件与安装环境

1.1下载

在https://github.com/TonyRobotics/RoboWare可以下载deb文件,笔者下载的是1.2版本的

1.2安装依赖环境

sudo apt-get install python-pip
sudo apt-get install build-essential
sudo python -m pip install pylint
sudo apt-get install clang-format

2.安装

下载好之后在下载的目录下打开终端
ROS学习笔记1-基于ubuntu18.04下ros环境的搭建与Roboware studio的安装
执行以下命令

sudo dpkg -i 安装包的名字.deb

例如:

sudo dpkg -i roboware-studio_1.2.0-1524709819_amd64.deb

如果发现提示依赖库不存在,可以通过以下命令解决

sudo apt-get -f install

3.运行

安装好后就可以打开了

ROS学习笔记1-基于ubuntu18.04下ros环境的搭建与Roboware studio的安装
ROS学习笔记1-基于ubuntu18.04下ros环境的搭建与Roboware studio的安装

上一篇:android EditText光标位置(定位到最后)


下一篇:Android开发(3)-Android如何保存EditText中的字符串内容