机器人自主导航从零开始第四步———Rviz、Gazebo、Meshlab的安装

news2024/11/13 9:39:00

本文参考资料:

rviz - ROS 维基

Gazebo : Tutorial : Ubuntu (gazebosim.org)

零. 什么是Rviz和Gazebo:

Rviz是一个三维可视化工具,它利用已有的数据将数据可视化,并提供了可以显示图像、模型、表格、路径等信息的插件,我们可以利用这些插件更为直观的理解数据。

让这些插件运行的前提是,Rviz已经获得了所需要的数据,然后对数据进行处理以完成可视化的渲染。

Gazebo是一个三维物理仿真平台,我们可以在gazebo中免费创建一个模拟的机器人世界,不仅可以仿真机器人的运动功能,还可以仿真机器人的传感器数据。

而这些数据就可以放到rviz中显示,所以使用gazebo的时候,经常也会和rviz配合使用。

精心设计的模拟器可以快速测试算法,设计机器人,执行回归测试,并使用真实场景训练AI系统。Gazebo提供了在复杂的室内和室外环境中准确有效地模拟机器人种群的能力。

强大的物理引擎、高质量的图形以及方便的程序化和图形界面触手可及。当我们手上没有机器人硬件或实验环境难以搭建时,仿真往往是非常有用的利器。

综上,如果你手上已经有机器人硬件平台,并且在上边可以完成需要的功能,用rviz应该就可以满足开发需求。如果你手上没有机器人硬件,或者想在仿真环境中做一些算法、应用的测试,gazebo+rviz应该是你需要的。

一. Rviz的安装

(如果安装ROS时选择安装的是完整桌面版,那么在安装ROS时Rviz已经跟着安装好了)如果没有安装,按照下面的方法安装Rviz:

sudo apt-get install ros-noetic-rviz

启动ROS:

roscore

没有这一步直接进行下一步会报错:
在这里插入图片描述
打开新的Ubuntu终端输入:

rviz

打开下面的画面:
在这里插入图片描述

如果启动Rviz后,显示区出现黑屏,无法显示网格或地图信息,解决办法:

1,关闭Rviz;

2,打开终端输入:

export LIBGL_ALWAYS_SOFTWARE=1

(备注:LIBGL_ALWAYS_SOFTWARE=1是强制使用软件渲染)。

3,重新打开Rviz

· 中间部分为 3D视图显示区,能够显示外部信息。

· 上部为工具栏,包括视角控制、目标设置、地点发布等,还可以添加自定义的一些插件。

· 左侧为显示项目,显示当前选择的插件,并且能够对插件的属性进行设置。

· 下侧为时间显示区域,包括系统时间和ROS时间等。

· 右侧为观测视角设置区域,可以设置不同的观测视角。

具体的Rviz使用方法可参考:rviz/UserGuide - ROS Wiki

二. Gazebo的安装:

Ubuntu、ROS、Gazebo各版本推荐对应关系如下:

Ubuntu 14.04 - ROS Indigo - Gazebo 2.X

Ubuntu 16.04 - ROS Kinetic - Gazebo 7.X

Ubuntu 18.04 - ROS Melodic - Gazebo 9.X

Ubuntu 20.04 - ROS Noetic - Gazebo 11.X

所以我们安装对应的gazebo11:

1.将计算机设置为接受来自 packages.osrfoundation.org 的软件

sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'

2.安装键:

wget https://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -

在这里插入图片描述

3.安装gazebo:

首先更新 debian 数据库:

sudo apt-get update

提示:确保 apt-get 更新过程结束没有任何错误,控制台输出的结尾如下所示:

$ sudo apt-get update
Hit http://ppa.launchpad.net bionic/main Translation-en    
Ign http://us.archive.ubuntu.com bionic/main Translation-en_US
Ign http://us.archive.ubuntu.com bionic/multiverse Translation-en_US
Ign http://us.archive.ubuntu.com bionic/restricted Translation-en_US
Ign http://us.archive.ubuntu.com bionic/universe Translation-en_US
Reading package lists... Done

在这里插入图片描述

接下来通过以下方式安装Gazebo:

sudo apt-get install gazebo11     
sudo apt-get install libgazebo11-dev

出现下面问题:重启ubuntu,再运行上面两行

无法获得锁 /var/lib/dpkg/lock-frontend。锁正由进程 2360(unattended-upgr)持有 N: 请注意,直接移除锁文件不一定是合适的解决方案,且可能损坏您的系统。 E: 无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-frontend),是否有其他进程正占用它?

成功截图
在这里插入图片描述
在这里插入图片描述
4 检查是否成功安装 :
终端输入gazebo会直接打开一个空的gazebo界面
在这里插入图片描述

转载自这里,并进行了补充优化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2141289.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

css百分比布局中height:100%不起作用

百分比布局时,我们有时候会遇到给高度 height 设置百分比后无效的情况,而宽度设置百分比却是正常的。 当为一个元素的高度设定为百分比高度时,是相对于父元素的高度来计算的。当没有给父元素设置高度(height)时或设置…

浮点数始末详解|科学计数法、浮点数表示、精度有效值、规格化与非规格化

如果直接看浮点数表示法有点费力或者不好理解,不妨复习一下科学计数法。毕竟我们一直接触十进制,从十进制的角度可能更好理解其特性。 目录 科学计数法 Scientific Notation1. 科学计数法的定义2. 精确度与有效数字3. 转换为科学计数法示例:…

商务人士必备的精准翻译工具盘点

网易翻译是一款我外出游玩时候必备的翻译工具,最近没出去玩但是有更多的翻译需求了,为了方便在电脑上的操作我也找了不少翻译工具,这次一起分享给大家,看看哪款更得你的眼缘。 1.福昕在线翻译 链接直达:https://fany…

集群聊天服务器项目【C++】(六)MySql数据库

前面已经介绍了网络模块和业务模块,本章介绍数据模块,同样保持模块解耦的特性,即业务模块不能出现数据模块内容,如出现SQL语句,接下来看看怎么实现的。 1.环境安装 第一章已经介绍了MySql安装,但注意需要…

基于R语言的统计分析基础:使用SQL语句操作数据集

在使用R语言数据分析时,可以融合SQL语言使数据聚集操作更加便利,同时也可以增加对SQL语句的熟悉。借助sqldf、DBI、RSDLite等包,可以在R环境中直接运用SQL语句,轻松实现数据的分组统计、汇总分析,SQL的强大查询能力简化…

MTC完成右臂抓取放置任务\\放置姿态设置

#include "mtc_tutorial/mtc_glass_bottle.hpp" static const rclcpp::Logger LOGGER rclcpp::get_logger("mtc_glass_right"); // 获取节点基础接口的实现 rclcpp::node_interfaces::NodeBaseInterface::SharedPtr MTCTaskNode_Right::getNodeBaseInterf…

(c++)字符串相加(真没想到字符串还有相加运算)

#include<iostream> #include<string> using namespace std;int main() {string ch1 "你好";string ch2 "再见";string ch3 ch1 ch2;cout << ch3 << endl;system("pause");return 0; } 运行结果&#xff1a; 学了c…

FreeRTOS学习——链表list

FreeRTOS学习——链表&#xff08;列表&#xff09;list&#xff0c;仅用于记录自己阅读与学习源码 FreeRTOS Kernel V10.5.1 参考大佬的好文章&#xff1a; freertos内核原理 Day1(链表) FreeRTOS-链表的源码解析 *list_t只能存储指向list_item_t的指针。每个list_item_t都…

【UE5 C++课程系列笔记】01——Visual Studio环境安装

1. 进入Visual Studio 官网&#xff0c;点击下载 下载社区版即可 下载后点击应用程序开始安装 2. 在“工作负荷”中&#xff0c;勾选如下选项 在“单个组件”中&#xff0c;勾选如下选项&#xff1a; 3. 等待下载安装 4. 安装好后&#xff0c;点击“继续但无需代码” 选择“工具…

《python语言程序设计》2018版第8章17题point类设计一个名为point的类

TypeError: point_class.dis_m() missing 1 required positional argument: ‘y2’ 这段代码为什么出错 一个又一个错误 终于摸到点头绪 #distance方法 我做的叫get_dis_m def get_dis_m(self):a_m self.__x1 - self.__x2b_m self.__y1 - self.__y2return (pow(a_m, 2) po…

k8s中的存储

目录 一 configmap 1.1 configmap的功能 1.2 configmap的使用场景 1.3 configmap创建方式 1.3.1 字面值创建 1.3.2 通过文件创建 1.3.3 通过目录创建 1.3.4 通过yaml文件创建 1.3.5 configmap的使用方式 1.3.5.1 使用configmap填充环境变量 1.3.5.2 通过数据卷使用c…

《程序猿之设计模式实战 · 观察者模式》

&#x1f4e2; 大家好&#xff0c;我是 【战神刘玉栋】&#xff0c;有10多年的研发经验&#xff0c;致力于前后端技术栈的知识沉淀和传播。 &#x1f497; &#x1f33b; CSDN入驻不久&#xff0c;希望大家多多支持&#xff0c;后续会继续提升文章质量&#xff0c;绝不滥竽充数…

AJAX 进阶 day4

目录 1.同步代码和异步代码 2.回调函数地狱和 Promise 链式调用 2.1 回调函数地狱 2.2 Promise - 链式调用 2.3 Promise 链式应用 3.async 和 await 使用 3.1 async函数和await 3.2 async函数和await_捕获错误 4.事件循环-EventLoop 4.1 事件循环 4.2 宏任务与微任务…

R语言统计分析——散点图1(常规图)

参考资料&#xff1a;R语言实战【第2版】 R语言中创建散点图的基础函数是plot(x,y)&#xff0c;其中&#xff0c;x和y是数值型向量&#xff0c;代表着图形中的&#xff08;x,y&#xff09;坐标点。 attach(mtcars) plot(wt,mpg,main"Basic Scatter plot of MPG vs. Weigh…

数据结构(Day14)

一、学习内容 结构体 概念 引入&#xff1a;定义整数赋值为10 int a10; 定义小数赋值为3.14 float b3.14; 定义5个整数并赋值 int arr[5] {1 , 2 , 3 , 4 ,5}; 定义一个学生并赋值学号姓名成绩 定义一个雪糕并赋值名称产地单价 问题&#xff1a;没有学生、雪糕 数据类型 解决&…

Text2vec -文本转向量

文章目录 一、关于 Text2vec1、Text2vec 是什么2、Features3、Demo4、News5、Evaluation英文匹配数据集的评测结果&#xff1a;中文匹配数据集的评测结果&#xff1a; 6、Release Models 二、Install三、使用1、文本向量表征1.2 Usage (HuggingFace Transformers)1.3 Usage (se…

★ C++进阶篇 ★ 多态

Ciallo&#xff5e;(∠・ω< )⌒☆ ~ 今天&#xff0c;我将继续和大家一起学习C进阶篇第一章----多态 ~ ❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️ 澄岚主页&#xff1a;椎名澄嵐-CSDN博客 C基础篇专栏&#xff1a;★ C基础篇 ★_椎名澄嵐的博客-CSDN博客 …

2024/9/16 英语每日一段

Stark argues that, in their gummies, at least,“The total sugar in a serving is less than in half a cherry.”Of course, cherries also provide fibre, vitamin C, and antioxidants--and 14 of them would count as one of your five-a-day. Artificial sweeteners to…

Ubuntu24.04部署docker

1、更新软件 apt update 2、安装curl apt install apt-transport-https curl 3、导入阿里云GPG秘钥 curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg 4、添加Docker阿里云仓库到Ubuntu 24.04的…

使用 release key 对 LineageOS 进行编译和签名

版权归作者所有&#xff0c;如有转发&#xff0c;请注明文章出处&#xff1a;https://cyrus-studio.github.io/blog/ 为什么需要使用 release key test-key 是一个公开的、众所周知的开发测试密钥&#xff0c;广泛用于测试阶段。这意味着任何人都可以获取这个密钥&#xff0c;…