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就安装成功了

相关推荐
lihongli0001 天前
修改ros工作空间名称方法与步骤
ubuntu·ros
lihongli0003 天前
CAN、ROS数据录制与rqt图形化显示
自动驾驶·ros·激光雷达
Mr.Winter`6 天前
深度强化学习 | 基于SAC算法的动态避障(ROS C++仿真)
人工智能·深度学习·神经网络·机器人·自动驾驶·ros·具身智能
老黄编程8 天前
ros2 中 CMakeLists.txt 的 ament_package 有什么用?有什么使用约束?必须放置尾部吗?
ros·cmake
老黄编程8 天前
ros2 功能包 package.xml 结构详细解释
ros
老黄编程10 天前
ros2 自定义消息、服务、动作接口详细范例
ros
老黄编程11 天前
- custom_action_cpp: 自定义动作创建与调用示例
ros
心无旁骛~12 天前
【OpenArm|Control】openarm机械臂ROS2仿真控制
人工智能·ros
@LuckY BoY20 天前
(四)routeros命令笔记:网络篇
ros
万俟淋曦24 天前
【ROS2】通讯机制 Topic 常用命令行
人工智能·ai·机器人·ros·topic·ros2·具身智能