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

相关推荐
古月居GYH1 个月前
边缘计算与ROS结合:如何实现分布式机器人智能决策?
机器人·ros·边缘计算
古月居GYH1 个月前
ROS应用之SwarmSim在ROS 中的协同路径规划
ros·路径规划
陈傻鱼1 个月前
ROS2测试仿真
机器人·ros·slam
Mr.Winter`1 个月前
轨迹优化 | 基于ESDF的非线性最小二乘法路径平滑(附ROS C++仿真)
人工智能·科技·机器人·自动驾驶·ros·最小二乘法·ros2
kuan_li_lyg1 个月前
ROS2 与机器人视觉入门教程(ROS2 OpenCV)
开发语言·人工智能·opencv·计算机视觉·matlab·机器人·ros
两棵雪松1 个月前
为什么使用ROS的remap标签不起作用?
ros
加点油。。。。1 个月前
ubuntu22.4 ROS2 安装gazebo(环境变量配置)
linux·python·ubuntu·ros
Mr.Winter`1 个月前
轨迹优化 | 基于贝塞尔曲线的无约束路径平滑与粗轨迹生成(附ROS C++/Python仿真)
人工智能·机器人·自动驾驶·ros·几何学·ros2·轨迹优化
worthsen1 个月前
ROS1 与 ROS2 使用区别 【命令】
机器人·ros
Mr.Winter`2 个月前
无人船 | 图解推导三自由度USV的运动学和动力学建模
人工智能·机器人·ros·无人船