Ubuntu16.04下安装ROS Kinetic及TX2安装ROS Melodic流程和问题

一、安装ROS

是有ros的wiki网站的:http://wiki.ros.org/kinetic/Installation/Ubuntu
1、从 packages.ros.org.添加ROS软件源,打开命令行输入以下代码:

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 apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

3、更新软件包

sudo apt-get update

4、安装ROS Kinetic

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

安装完成后,可以用下面的命令来查看可使用的包:

 apt-cache search ros-kinetic

5、初始化ros

sudo rosdep init

在这一步我好像就报错了,具体错误记不清了,记得是python2和python3的问题,之前配置的深度学习环境直接用的anaconda中的python3作为默认的python,搜了搜切换了python2

在这里插入图片描述
在重新运行命令还是报错:

在这里插入图片描述
解决办法是:
sudo gedit /etc/hosts 打开文件,
添加:151.101.84.133 raw.githubusercontent.com

再次重新运行还是报错:

error:default sources list file already exists:
/etc/ros/rosdep/sources.list.d/20-default.list please delete if you wish to re-initialize

在这里插入图片描述

删掉文件,重新sudo rosdep init

sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
sudo rosdep init

在这里插入图片描述
通过之后在运行命令:

rosdep update

这一步也是相当的折磨人
解決办法:这里我强烈建议先按照这篇博客改,多试几次,实在不行在参考下面

先打开sources_list.py,在其中添加代码
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py

import ssl
ssl._create_default_https_context = ssl._create_unverified_context

参考这里

总是更新不成功,用了好多办法
更改 /usr/lib/python2.7/dist-packages/rosdep2/下的三个文件sources_list.py、gbpdistro_support.py、rep3.py
中的DOWNLOAD_TIMEOUT = 15.0值,改大一点
用gedit来修改

sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py

参考这里

报错“<urlopen error <urlopen error [Errno 111] Connection refused>”

解决方案:
sudo gedit /etc/resolv.conf

将原有的nameserver这一行注释,并添加以下两行:

nameserver 8.8.8.8 #google域名服务器

nameserver 8.8.4.4 #google域名服务器

参考这里
还有魔改,参考这里
修改很多,记不清了,反复的运行 rosdep update,据说是网络的问题,最后更新成功

在这里插入图片描述
6、安装必要的包
在这里插入图片描述
7、启动ros
添加环境变量:

gedit ~/.bashrc

添加:
source /opt/ros/kinetic/setup.bash

source ~/.bashrc

在这里插入图片描述

二、搭建ROS开发环境

1、加载环境设置文件
添加环境变量:

gedit ~/.bashrc
#在其中添加
source  ~/catkin_ws/devel/setup.bash
source ~/.bashrc

2、创建并初始化工作目录

新版本ROS使用名为catkin的工具来构建系统,为了使用它需要创建并初始化catkin工作目录。

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

在这里插入图片描述

三、ROS的配置

添加环境变量:

gedit ~/.bashrc

添加如下代码:


# Set ROS Network
 
export ROS_HOSTNAME=xxx.xxx.xxx.xxx
 
export ROS_MASTER_URI=http://${ROS_HOSTNAME}:11311
 
 
# Set ROS alias command
 
alias cw='cd ~/catkin_ws'
 
alias cs='cd ~/catkin_ws/src'
 
alias cm='cd ~/catkin_ws && catkin_make'

ROS_HOSTNAME=xxx.xxx.xxx.xxx 可以是本机的IP,也可以是localhost

# Set ROS Network

export ROS_HOSTNAME=localhost

export ROS_MASTER_URI=http://localhost:11311

这样用户可以在一台PC上运行所有功能包。

四、运行demo

1、打开终端输入:roscore

2、再 打开一个新的终端(Termial),输入以下命令,弹出一个小乌龟窗口

rosrun turtlesim turtlesim_node

3、再打开一个终端,用键盘控制小乌龟运动:

rosrun turtlesim turtle_teleop_key

在这里插入图片描述

五、在TX2上安装ROS

最近重新刷了一下TX2板子,刷新之后是ubantu18.04的系统,安装ros需要melodic,有了前面的铺垫也相对容易的很多。
参考博客
1、ros源

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 apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

3、更新并安装

sudo apt-get update
sudo apt-get install ros-melodic-desktop-full

4、初始化rosdep

sudo rosdep init

这里发生了报错:
sudo: rosdep:找不到命令
解决办法

sudo apt-get install python-rosdep

5、更新rosdep

rosdep update

这一部又开始犯timeout的老毛病,这回找到了一个新方法,特别好用,参考这里,又报错没关系,我多试了几遍很快就过了。

网站https://ghproxy.com/支持github的资源代理,非常好用,我们将用此代理加速rosdep对Github Raw的访问,进而解决rosdep update超时问题。

首先定位rosdep资源下载函数。从报错信息中得知,该函数名为download_rosdep_data,位于/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py。我们修改这一函数,添加:

url="https://ghproxy.com/"+url


用同样的方法修改/usr/lib/python2.7/dist-packages/rosdistro/init.py里面的DEFAULT_INDEX_URL

DEFAULT_INDEX_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'


6、添加环境变量

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

7、安装依赖

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

8、测试:

roscore

参考:
https://blog.csdn.net/wangguchao/article/details/81044558
https://blog.csdn.net/qq_40936141/article/details/86241910
https://blog.csdn.net/weixin_44911552/article/details/115067306

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值