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

相关文章

将Mybatis升级为Mybatis-Plus的详细过程

《将Mybatis升级为Mybatis-Plus的详细过程》本文详细介绍了在若依管理系统(v3.8.8)中将MyBatis升级为MyBatis-Plus的过程,旨在提升开发效率,通过本文,开发者可实现... 目录说明流程增加依赖修改配置文件注释掉MyBATisConfig里面的Bean代码生成使用IDEA生

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

springboot security之前后端分离配置方式

《springbootsecurity之前后端分离配置方式》:本文主要介绍springbootsecurity之前后端分离配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的... 目录前言自定义配置认证失败自定义处理登录相关接口匿名访问前置文章总结前言spring boot secu

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

SpringBoot中封装Cors自动配置方式

《SpringBoot中封装Cors自动配置方式》:本文主要介绍SpringBoot中封装Cors自动配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot封装Cors自动配置背景实现步骤1. 创建 GlobalCorsProperties