ROS-安装ROS

安装ROS

  • os
  • 在ubuntu18中安装ros
    • 1.安装
      • [1.1 ubuntu18 配置阿里源](#1.1 ubuntu18 配置阿里源)
      • [1.2 设置sources.list](#1.2 设置sources.list)
      • [1.4 安装](#1.4 安装)
      • [1.5 初始化 rosdep](#1.5 初始化 rosdep)
        • [报错1 sudo: rosdep:找不到命令](#报错1 sudo: rosdep:找不到命令)
        • [报错2 ERROR: cannot download default sources](#报错2 ERROR: cannot download default sources)
      • [1.6 设置环境变量](#1.6 设置环境变量)
      • [1.7 安装依赖项](#1.7 安装依赖项)
    • 测试

os

系统:ubuntu18.04

ros:Melodic

在ubuntu18中安装ros

1.安装

1.1 ubuntu18 配置阿里源

这个可以去搜索怎么修改阿里源

1.2 设置sources.list

这个是ros的ubuntu官方源,但是下载很慢

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

建议使用阿里源

bash 复制代码
sudo sh -c '. /etc/lsb-release && echo "deb https://mirrors.aliyun.com/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

或者直接在/etc/apt/sources.list.d/ros-latest.list中添加

bash 复制代码
deb https://mirrors.aliyun.com/ros/ubuntu/ bionic main   

```bash
### 1.3 设置密钥

```bash
curl -sSL 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654' | sudo apt-key add -

1.4 安装

先更新源

bash 复制代码
sudo apt update

安装ros工具,推荐完整版

bash 复制代码
sudo apt install ros-melodic-desktop-full

1.5 初始化 rosdep

bash 复制代码
sudo rosdep init
rosdep update

但是这里会报错,

报错1 sudo: rosdep:找不到命令

解决方法

bash 复制代码
sudo apt-get install python-rosdep

报错2 ERROR: cannot download default sources

bash 复制代码
ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.

解决方法

  1. 在本地新建对应目录/etc/ros/rosdep/sources.list.d
bash 复制代码
sudo mkdir -p /etc/ros/rosdep/sources.list.d
cd /etc/ros/rosdep/sources.list.d
sudo gedit 20-default.list
  1. 然后将下面内容复制粘贴到新建打开的文档中:
bash 复制代码
# os-specific listings first
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml osx

# generic
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
gbpdistro https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml fuerte

# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead
  1. 之后在继续运行ROS安装下一步:rosdep update
  2. 如果出现错误:
bash 复制代码
ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml]:<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)> (https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml)

在/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py中顶部直接插入两行代码取消SSL验证

bash 复制代码
import ssl ssl._create_default_https_context = ssl._create_unverified_context
  1. 如果出现错误:
bash 复制代码
<urlopen error <urlopen error [Errno 111] Connection refused>
bash 复制代码
sudo vi /etc/resolv.conf 

将原有的nameserver注释掉,添加

bash 复制代码
nameserver 8.8.8.8 #google域名服务器 
nameserver 8.8.4.4 #google域名服务器

以上操作完后

bash 复制代码
rosdep update

1.6 设置环境变量

bash 复制代码
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

1.7 安装依赖项

bash 复制代码
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential

测试

开启一个终端,启动ros master

bash 复制代码
roscore

开启一个终端,启动小海龟仿真器

bash 复制代码
rosrun turtlesim turtlesim_node

开启一个终端,启动小海龟控制节点

bash 复制代码
rosrun turtlesim turtle_teleop_key

到这里如果可以用方向键控制小海龟移动,ros就安装成功了

相关推荐
康谋自动驾驶1 天前
从数据采集到回放验证:ADTF 适配 ROS2 的 ADAS 测试实践
汽车·ros·数据采集·测试
Robot_Nav3 天前
VSCode 调试 ROS1/ROS2 等项目完整指南
vscode·机器人·ros
code_pgf4 天前
Orin NX 16GB 的 package 安装命令清单 + Docker/工作区目录结构 + bringup 顺序
运维·docker·容器·ros
纽约恋情4 天前
【ROS入门】12. ROS中tf坐标系广播与监听的编程实现
机器人·ros
maxmaxma5 天前
ROS 2 少年创客营:Day 2
机器人·ros
kyle~5 天前
DDS(Data Distribution Service)分布式实时数据分发标准
分布式·ros·dds
ChengQianO6 天前
ROS2 导航播报 & 轨迹模拟 —— 计划
linux·ubuntu·ros
波特率1152009 天前
C++当中is-a(继承)与has-a(成员对象)的辨析与使用指南(包含实际工程当中的使用示例)
c++·ros·串口通信
佳木逢钺9 天前
ROS Noetic 中自定义编译和替换 cv_bridge 的完整指南
人工智能·bash·ros
纽约恋情10 天前
【ROS入门】8. 服务端Server的编程与实现
机器人·ros