Ubuntu18.04 虚拟机配置 ROS Melodic 详细步骤

2024-01-29 14:48

本文主要是介绍Ubuntu18.04 虚拟机配置 ROS Melodic 详细步骤,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 一、ROS 简介
    • 1.1 什么是 ROS?
    • 1.2 ROS 产生、发展和壮大的原因和意义
  • 二、ROS 安装及其应用实例
    • 2.1 配置 Ubuntu 软件库
    • 2.2 安装 ROS Melodic
    • 2.3 初始化 rosdep
    • 2.4 运行小乌龟实例
  • 三、总结
  • 四、参考资料

本文内容:

  • 什么是ROS? ROS产生、发展和壮大的原因和意义?
  • Ubuntu18系统中,安装对应版本的ROS软件;
    熟悉ROS基本命令;
    运行小海龟 demo 例子,通过键盘控制小海龟运动。

一、ROS 简介

1.1 什么是 ROS?

  • ROS机器人操作系统(Robot Operating System)的英文缩写;ROS 是用于编写机器人软件程序的一种具有高度灵活性的软件架构;ROS 的原型源自斯坦福大学的 STanford Artificial Intelligence Robot (STAIR)Personal Robotics (PR) 项目。

  • ROS 是用于编写机器人软件程序的一种具有高度灵活性的软件架构。它包含了大量工具软件、库代码和约定协议,旨在简化跨机器人平台创建复杂、鲁棒的机器人行为这一过程的难度与复杂度。

1.2 ROS 产生、发展和壮大的原因和意义

  • ROS 的发展逐渐的趋于成熟,近年来也逐步是面对着 Ubuntu 的更新而更新,这说明 ROS 已经初步进入一种稳定的发展状态,每年进行一次更新的频率同时还保留着长期支持的版本,这使得 ROS 在稳步的前进发展同时,也有着开拓创新的方向。
  • 目前越来越多的机器人、无人机甚至无人车都开始采用 ROS 作为开发平台,尽管 ROS 在实用方面目前还存在一些限制,但前途非常光明。

说明:这里我就简单的描述了一下 ROS 这一基本概念及其意义,网上有很多关于 ROS 的相关介绍,这里我就没必要再啰嗦了。

二、ROS 安装及其应用实例

说明:安装环境为 Ubuntu 18.04.5

2.1 配置 Ubuntu 软件库

  • 首先在【应用中心】中找到【软件和更新】并打开。
    在这里插入图片描述
  • 勾选上所有的选项,并将下载源设置成中国的服务器。
    在这里插入图片描述
  • 点击关闭后,弹窗点击【重新载入】,更新缓存。
    在这里插入图片描述
  • 设置国内的软件源:打开终端并执行以下命令。
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'

在这里插入图片描述

  • 设置最新的密匙。
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

在这里插入图片描述

  • 更新软件库。
sudo apt-get update

在这里插入图片描述

2.2 安装 ROS Melodic

  • 终端运行下面的命令。
sudo apt-get install ros-melodic-desktop-full

在这里插入图片描述

  • ERROE 出现了问题了,可以使用下面的命令强制解锁。
sudo rm /var/lib/dpkg/lock-frontend
  • 然后重新下载就可以了。
    在这里插入图片描述
  • 安装 python-rosdep ,避免后面出现sudo rosdep:找不到命令提示
sudo apt install python-rosdep

在这里插入图片描述

说明:这里不要安装 python-rosdep2 ,否则会把前面下载的都卸载掉,之前下载版本 2 的就遇到这个问题。

2.3 初始化 rosdep

  • 使用命令:
sudo rosdep init

在这里插入图片描述

说明:如果 sudo rosdeo init 失败了,如下:
1、使用虚拟机安装的 ros:网络设置为桥接模式,因为被墙了;
2、如果还是错误:请参考博客:https://blog.csdn.net/u013468614/article/details/102917569

  • 更新 rosdep(更新过程中会出现 ERROR,多执行几次该命令即可,因为网络不好,或者参考博客:https://blog.csdn.net/qq_32705211/article/details/108439067,我是将超时值设为5000的,才能更新成功)
rosdep update

在这里插入图片描述

  • 添加 ros 环境变量。
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

在这里插入图片描述

  • 安装 rosinstall.
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

在这里插入图片描述

2.4 运行小乌龟实例

  • 打开第一个终端,执行以下命令。
roscore

在这里插入图片描述

  • 打开第二个终端,执行以下命令。
rosrun turtlesim turtlesim_node

在这里插入图片描述

  • 这时出现了一个小乌龟。
  • 打开第三个终端,执行下面的命令后,就可以用方向键控制小乌龟移动了。
 rosrun turtlesim turtle_teleop_key

在这里插入图片描述

三、总结

  • 经过一两个小时的折腾,终于搞定了,期间通过别人的博客边学边做,遇到了不少的问题,最后看一篇博客:https://blog.csdn.net/qq_44830040/article/details/106049992,就很快做出来了,这篇博客写得很到位,很详细,各个坑都点出来了,特此贴出链接,共同学习。

四、参考资料

[1] ros(机器人操作系统)_百度百科
[2] ROS入门
[3] Linux出现"无法获得锁 /var/lib/dpkg/lock-frontend - open"的解决方案
[4] 安装ROS时执行到sudo rosdep init时出现sudo: rosdep:找不到命令提示
[5] Ubuntu18.04安装ROS Melodic(详细,亲测安装完成,有清晰的截图步骤)

这篇关于Ubuntu18.04 虚拟机配置 ROS Melodic 详细步骤的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/657269

相关文章

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S

Python设置Cookie永不超时的详细指南

《Python设置Cookie永不超时的详细指南》Cookie是一种存储在用户浏览器中的小型数据片段,用于记录用户的登录状态、偏好设置等信息,下面小编就来和大家详细讲讲Python如何设置Cookie... 目录一、Cookie的作用与重要性二、Cookie过期的原因三、实现Cookie永不超时的方法(一)

IDEA中新建/切换Git分支的实现步骤

《IDEA中新建/切换Git分支的实现步骤》本文主要介绍了IDEA中新建/切换Git分支的实现步骤,通过菜单创建新分支并选择是否切换,创建后在Git详情或右键Checkout中切换分支,感兴趣的可以了... 前提:项目已被Git托管1、点击上方栏Git->NewBrancjsh...2、输入新的分支的

SpringBoot整合liteflow的详细过程

《SpringBoot整合liteflow的详细过程》:本文主要介绍SpringBoot整合liteflow的详细过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋...  liteflow 是什么? 能做什么?总之一句话:能帮你规范写代码逻辑 ,编排并解耦业务逻辑,代码

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

python删除xml中的w:ascii属性的步骤

《python删除xml中的w:ascii属性的步骤》使用xml.etree.ElementTree删除WordXML中w:ascii属性,需注册命名空间并定位rFonts元素,通过del操作删除属... 可以使用python的XML.etree.ElementTree模块通过以下步骤删除XML中的w:as

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、

java向微信服务号发送消息的完整步骤实例

《java向微信服务号发送消息的完整步骤实例》:本文主要介绍java向微信服务号发送消息的相关资料,包括申请测试号获取appID/appsecret、关注公众号获取openID、配置消息模板及代码... 目录步骤1. 申请测试系统2. 公众号账号信息3. 关注测试号二维码4. 消息模板接口5. Java测试