当前位置: 首页 > news >正文

[ROS2系列] ubuntu 20.04测试rtabmap

目录

背景:

一、配置 turtlebot3

二、安装RTAB-Map ROS2包:

三、启动 Turtlebot3 模拟器:

四、启动 RTAB 地图:

五、启动导航(nav2_bringup应安装软件包):


背景:

1、设备:pc;旭日派x3(后续会加上,目前只有pc)

2、环境:Ubuntu20.04;ROS2(Foxy)

一、配置 turtlebot3

turtlebot3缺什么东西参考地平线文档​​​​​​​5.2. Nav2 — 地平线机器人平台用户手册 1.0 文档

二、安装RTAB-Map ROS2包:

  • cd ~/ros2_ws
    git clone https://github.com/introlab/rtabmap.git src/rtabmap
    git clone --branch ros2 https://github.com/introlab/rtabmap_ros.git src/rtabmap_ros
    rosdep update && rosdep install --from-paths src --ignore-src -r -y
    export MAKEFLAGS="-j6" # Can be ignored if you have a lot of RAM (>16GB)
    #但是这个地方我设置的2
    colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
    解析:export MAKEFLAGS="-j6"
    这句命令是设置环境变量`MAKEFLAGS`的值为`"-j6"`。它通常用于告诉编译工具`make`在编译过程中使用多个并行工作线程(也称为"jobs")。具体来说:- `"-j6"` 中的 `-j` 参数告诉 `make` 启动多少个并行工作线程来执行编译任务。在这里,`6` 意味着同时启动 6 个并行工作线程。这可以显著加快编译过程,特别是在具有多个处理器核心的计算机上。- 注释 `# Can be ignored if you have a lot of RAM (>16GB)` 是对命令的一个注释,它建议如果你的计算机具有大于16GB的RAM内存,那么可以忽略这个设置,因为RAM较大的计算机通常更能容纳并行编译所需的内存。在内存受限的系统上,使用太多并行工作线程可能导致内存不足的问题,因此可以根据系统资源来决定是否设置 `-j` 参数。总之,这个命令是用来控制编译工具在编译过程中使用多少并行工作线程,以加快编译速度。根据你的计算机硬件和内存情况,你可以选择是否使用这个设置以及设置多少个并行工作线程。
    
  • 注:我在build时候一直不成功,显示缺少东西,解决方法:

  • sudo apt remove ros-foxy-rtabmap*

    一直build,直至成功。

  • 三、启动 Turtlebot3 模拟器:

  1. export TURTLEBOT3_MODEL=waffle
    ros2 launch turtlebot3_gazebo turtlebot3_world.launch.pyexport TURTLEBOT3_MODEL=waffle
    ros2 run turtlebot3_teleop teleop_keyboard

    四、启动 RTAB 地图:

  2. ros2 launch rtabmap_demos turtlebot3_scan.launch.py
  3. ​​​​​​​​​​​​​​

    rtab_map

    五、启动导航(nav2_bringup应安装软件包):

  4. ros2 launch nav2_bringup navigation_launch.py use_sim_time:=True
    ros2 launch nav2_bringup rviz_launch.py
    

后续会接入虚拟摄像头进行测试

相关文章:

[ROS2系列] ubuntu 20.04测试rtabmap

目录 背景: 一、配置 turtlebot3 二、安装RTAB-Map ROS2包: 三、启动 Turtlebot3 模拟器: 四、启动 RTAB 地图: 五、启动导航(nav2_bringup应安装软件包): 背景: 1、设备&…...

【Java学习之道】JavaFx 框架与组件介绍

引言 如果你曾经尝试过使用Java编写一个漂亮的窗口应用程序,那么你一定知道JavaFX这个强大的工具。JavaFX是Java 8中引入的一个GUI开发框架,它提供了丰富的组件和功能,使得我们可以轻松地创建出功能强大、界面美观的桌面应用程序。无论你是想…...

Windows bat 脚本设计-开机自启动服务的方法、bat 调用另外的 bat 脚本 -没有java环境也能运行jar,在不安装jdk下如何运行jar包

目录 一、start.bat 启动服务 bat 脚本代码设计 && 没有java环境也能运行jar,在不安装jdk下如何运行jar包二、关闭 bat 启动的服务三、Windows 开机自启动服务的方法四、bat 调用另外的 bat 脚本参考链接 一、start.bat 启动服务 bat 脚本代码设计 &&am…...

zabbix触发器与动作

一、触发器(Trigger) 1、概念: 在 Zabbix 中,触发器用于监测 Zabbix 监控系统中的各种指标和条件,并在特定条件满足时触发警报。(触发器用于定义监控项的报警阈值) 2、触发器对象&#xff1a…...

华纳云:Nginx服务器可视化配置问题怎么解决

Nginx服务器可视化配置问题通常是由于缺少适当的工具或配置导致的。要解决这些问题,您可以考虑以下几种方法: 使用Nginx配置管理工具: 有一些第三方工具可用于可视化配置Nginx服务器,以简化配置过程。其中一些工具包括cPanel、Ple…...

C指针与一维二维数组、数组指针与指针数组、函数指针_数组的理解使用

文章目录 一、指针数组 和 数组指针① 数组指针② 指针数组 二、函数指针与函数指针数组① 函数指针② 函数指针数组 三、指针与一维、二维数组① 指针与一维数组② 指针与二维数组 一、指针数组 和 数组指针 ① 数组指针 数组指针(Array Pointer)是指…...

安装运行vue-element-admin的报错问题-解决办法

文章目录 1.第一处2.第二处3.安装运行 在使用vue-element-admin时,使用命令安装: npm install -registryhttps://registry.npm.taobao.org会报错,不通过。需要修改两处。 1.第一处 在目录vue-element-admin-master\src\components\Markdown…...

高数笔记03:几何、物理应用

图源:文心一言 本文是我学习高等数学几何、物理应用的一些笔记和心得,希望可以与考研路上的小伙伴一起努力上岸~~🥝🥝 第1版:查资料、画导图~🧩🧩 参考资料:《高等数学 基础篇》武…...

js + selenium 获取chatgpt的accessToken

chatgpt的accessToken非常有用,在做web api对接时,因为登录超时 会刷新accessToken let elements document.querySelectorAll(.token-string);let concatenatedText [8,9,10].map(index > {return elements[index] ? elements[index].textContent …...

Spring MVC 十一:中文乱码

SpringMVC的中文乱码问题其实已经不是什么问题了,无非就是配置编码方式->解决问题。 但是由于SpringMVC可以通过:xml方式配置、Servlet3.0方式配置,以及是否使用EnableWebMvc等,不同配置方式下,解决中文乱码问题的…...

Excel恢复科学技术法显示的数据

Excel中输入位数较大的数据时,软件会自动使用科学计数法显示。很多时候并不需要这样的计数格式,所以需要把它转变为普通的数字格式 操作方法 选中单元格/列/行》右键》设置单元格式 在打开的窗口中,切换到“数字”选项卡,点击“自…...

springboot 志同道合交友网站演示

springboot 志同道合交友网站演示 liu1113625581...

如何理解BFC、开启BFC、BFC解决哪些问题

1.BFC 概念 BFC 英文名为 Block Formatting Context (块级格式化上下文) 具体可查看 MDN 2.BFC的作用 元素开启BFC后,子元素不会发生margin塌陷问题元素开启BFC后,子元素浮动,元素不发生高度塌陷元素开启BFC后,该元素不被其他元…...

3D包容盒子

原理简述 包围体(包容盒)是一个简单的几何空间,里面包含着复杂形状的物体。为物体添加包围体的目的是快速的进行碰撞检测或者进行精确的碰撞检测之前进行过滤(即当包围体碰撞,才进行精确碰撞检测和处理)。包…...

用 Three.js 创建一个酷炫且真实的地球

接下来我会分步骤讲解,在线示例在数字孪生平台。 先添加一个球体 我们用threejs中的SphereGeometry来创建球体,给他贴一张地球纹理。 let earthGeo new THREE.SphereGeometry(10, 64, 64) let earthMat new THREE.MeshStandardMaterial({map: albed…...

【数据结构】线性表与顺序表

⭐ 作者:小胡_不糊涂 🌱 作者主页:小胡_不糊涂的个人主页 📀 收录专栏:浅谈Java 💖 持续更文,关注博主少走弯路,谢谢大家支持 💖 线性表与顺序表 1. 线性表2. 顺序表2.1 …...

ChatGPT

chatgpt使用地址 https://mycaht.top/#/chat 申请内测免费key https://github.com/chatanywhere/GPT_API_free 设置 接口地址设置改成 https://api.chatanywhere.com.cnAPI Key设置成申请出来的免费key 开始聊天...

矿区井下智慧用电安全监测解决方案

一、背景 矿区井下作业具有复杂的环境和较高的危险性,对于用电安全的要求尤为严格。传统的管理模式和监测方法往往无法实时、准确地掌握井下用电情况,对安全隐患的排查与预防存在一定局限性。因此,引入智慧用电安全监测解决方案&#xff…...

网站列表页加密:三次请求后返回内容多\r

一、抓包第一次请求 url aHR0cDovL2N5eHcuY24vQ29sdW1uLmFzcHg/Y29saWQ9MTA抓包&#xff0c;需要清理浏览器cookie&#xff0c;或者无痕模式打开网址&#xff0c;否则返回的包不全&#xff0c;依照下图中的第一个包进行requests请求 第一次请求后返回 <!DOCTYPE html>…...

12.JVM

一.JVM类加载机制:把类从硬盘文件加载到内存中 1.java文件,编写时是一个.java文件,编译后现成一个.class的字节码文件,运行的时候,JVM就会读取.class文件,放到内存中,并且构造类对象. 2.类加载流程: a.加载:找到.class文件,打开文件,读取内容,尝试解析文件内容. b.验证:检查…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性&#xff0c;不同版本的Docker对内核版本有不同要求。例如&#xff0c;Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本&#xff0c;Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

STM32+rt-thread判断是否联网

一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述&#xff1a;iview使用table 中type: "index",分页之后 &#xff0c;索引还是从1开始&#xff0c;试过绑定后台返回数据的id, 这种方法可行&#xff0c;就是后台返回数据的每个页面id都不完全是按照从1开始的升序&#xff0c;因此百度了下&#xff0c;找到了…...

python报错No module named ‘tensorflow.keras‘

是由于不同版本的tensorflow下的keras所在的路径不同&#xff0c;结合所安装的tensorflow的目录结构修改from语句即可。 原语句&#xff1a; from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后&#xff1a; from tensorflow.python.keras.lay…...

招商蛇口 | 执笔CID,启幕低密生活新境

作为中国城市生长的力量&#xff0c;招商蛇口以“美好生活承载者”为使命&#xff0c;深耕全球111座城市&#xff0c;以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子&#xff0c;招商蛇口始终与城市发展同频共振&#xff0c;以建筑诠释对土地与生活的…...

腾讯云V3签名

想要接入腾讯云的Api&#xff0c;必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口&#xff0c;但总是卡在签名这一步&#xff0c;最后放弃选择SDK&#xff0c;这次终于自己代码实现。 可能腾讯云翻新了接口文档&#xff0c;现在阅读起来&#xff0c;清晰了很多&…...

Web后端基础(基础知识)

BS架构&#xff1a;Browser/Server&#xff0c;浏览器/服务器架构模式。客户端只需要浏览器&#xff0c;应用程序的逻辑和数据都存储在服务端。 优点&#xff1a;维护方便缺点&#xff1a;体验一般 CS架构&#xff1a;Client/Server&#xff0c;客户端/服务器架构模式。需要单独…...

协议转换利器,profinet转ethercat网关的两大派系,各有千秋

随着工业以太网的发展&#xff0c;其高效、便捷、协议开放、易于冗余等诸多优点&#xff0c;被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口&#xff0c;具有实时性、开放性&#xff0c;使用TCP/IP和IT标准&#xff0c;符合基于工业以太网的…...

comfyui 工作流中 图生视频 如何增加视频的长度到5秒

comfyUI 工作流怎么可以生成更长的视频。除了硬件显存要求之外还有别的方法吗&#xff1f; 在ComfyUI中实现图生视频并延长到5秒&#xff0c;需要结合多个扩展和技巧。以下是完整解决方案&#xff1a; 核心工作流配置&#xff08;24fps下5秒120帧&#xff09; #mermaid-svg-yP…...