gmapping仿真

文章目录

  • 获取源码
  • 安装依赖项
  • 编译
  • 简单场景
  • 运行gmapping
  • 开启键盘控制
  • 通过launch文件来启动gmapping
  • Gmapping建图的参数设置
  • 地图的保存和加载
  • 参考

获取源码

cd ~/catkin_ws/src/
git clone https://gitcode.com/weixin_42990464/wpr_simulation.git
git clone https://gitcode.com/weixin_42990464/waterplus_map_tools.git
git clone https://gitcode.com/weixin_42990464/waterplus_map_tools.git

安装依赖项

ROS Noetic (Ubuntu 20.04)

cd ~/catkin_ws/src/wpr_simulation/scripts
./install_for_noetic.sh
cd ~/catkin_ws/src/wpb_home/wpb_home_bringup/scripts
./install_for_noetic.sh
cd ~/catkin_ws/src/waterplus_map_tools/scripts
./install_for_noetic.sh

编译

cd ~/catkin_ws
catkin_make
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

简单场景

roslaunch wpr_simulation wpb_stage_robocup.launch

在这里插入图片描述

运行gmapping

rosrun gmapping slam_gmappinp

在rviz中添加机器人,map,雷达话题。

在这里插入图片描述

开启键盘控制

rosrun wpr_simulation keyboard_vel_ctrl
#键盘控制WPR机器人: 
#w - 向前加速 
#s - 向后加速 
#a - 向左加速 
#d - 向右加速 
#q - 左旋加速 
#e - 右旋加速 
#空格 - 刹车 
#x - 退出 

通过launch文件来启动gmapping

cd ~/catkin_ws/src
catkin_create_pkg slam_pkg roscpp rospy std_msgs

保存rviz配置

在这里插入图片描述
在slam_pkg/launch文件中新建gmapping.launch

<launch><include file="$(find wpr_simulation)/launch/wpb_stage_robocup.launch" /><node pkg="gmapping" type="slam_gmapping" name="slam_gmapping" /><node pkg="rviz" type="rviz" name="rviz" args="-d $(find slam_pkg)/rviz/gmapping.rviz" /><node pkg="wpr_simulation" type="keyboard_vel_ctrl" name="keyboard_vel_ctrl" /></launch>

Gmapping建图的参数设置

在这里插入图片描述
在这里插入图片描述

地图的保存和加载

地图保存

cd ${save_dir}
rosrun map_server map_saver -f map

地图加载

rosrun map_server map_server map.yaml

参考

https://www.bilibili.com/video/BV1wF411Q7Q3/?spm_id_from=333.788&vd_source=667c3d14dbb51ec849c0bc7c38329d10

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

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

相关文章

【开源】基于Vue.js的农村物流配送系统的设计和实现

项目编号&#xff1a; S 024 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S024&#xff0c;文末获取源码。} 项目编号&#xff1a;S024&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统登录、注册界面2.2 系统功能2.2…

java使用poi框架导出excel文件名命名为中文的方法

最近使用poi框架实现自动化报表导入导出功能&#xff0c;但是遇到一个问题&#xff0c;导出的表格命名为中文时不被识别&#xff0c;直接会以接口名为文件名导出&#xff0c;那么如何解决这个问题呢&#xff1f; 三行代码解决&#xff1a; String fileName "xxxx统计表-…

小程序:用户查找英语单词的意思 ← Python字典

【程序分析】 ● 字典中的条目是没有顺序的。 ● 可以对字典使用如下方法&#xff1a; keys()、values()、 items()、 clear()、 get(key)、 pop(key) 和popitem()【程序代码】 dictionary{"dog":"狗","apple":"苹果","banana&q…

Java字节码指令集概述及分类详解

Java全能学习面试指南&#xff1a;https://javaxiaobear.cn 1、字节码指令集与解析概述 Java字节码对于虚拟机&#xff0c;就好像汇编语言对于计算机&#xff0c;属于基本执行指令。 Java 虚拟机的指令由一个字节长度的、代表着某种特定操作含义的数字&#xff08;称为操作码&a…

医院供暖换热站远程监控案例

医院供暖换热站远程监控案例 本文针对医院换热站远程监控系统存在的问题&#xff0c;提出了一种基于物联网技术的解决方案。通过使用云平台功能&#xff0c;实现对换热站设备的远程监控和管理&#xff0c;提高系统运行效率&#xff0c;降低运维成本。 一&#xff0e;痛点 1、…

C语言——深入理解指针(1)

目录 1.内存与地址 1.1 什么是内存 1.2 编址 2. 指针的变量和地址 2.1 取地址&#xff08;&&#xff09; 2.2 指针变量 2.3 解引用 2.4 指针变量大小 3. 指针变量类型存在的意义 3.1 不同类型指针的解引用 3.2 指针对整数的运算&#xff08;&#xff0c;-&#…

(10)ATF MMU转换表

MMU简介 MMU&#xff08;内存管理单元&#xff09;负责将软件使用的虚拟地址转换为内存系统中使用的物理地址。MMU包括两个模块&#xff1a;TLB&#xff08;Translation Lookaside Buffer&#xff09;和TWU&#xff08;Table Walk Unit&#xff09;。TLB缓存最近使用的转换&am…

Spring Beans;Spring Bean的生命周期;spring Bean的作用域,spring处理线程并发问题

文章目录 Spring Beans请解释Spring Bean的生命周期解释Spring支持的几种bean的作用域Spring容器中的bean可以分为5个范围&#xff1a; Spring如何处理线程并发问题&#xff1f; 在现在的项目开发中经常使用到spring bean&#xff0c;那么来谈谈spring bean的生命周期&#xff…

APP软件线上排查方法

在线上环境中排查APP软件的问题是一项关键任务&#xff0c;需要使用一系列方法和工具来识别、定位和解决问题。以下是一些建议的排查方法&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1.监控和日志…

linux如何查看文件的hash数值

在Linux系统中&#xff0c;你可以使用各种工具来查看文件的哈希值。下面是一些常见的方法&#xff1a; md5sum命令&#xff1a; md5sum 文件名例如&#xff1a; md5sum example.txtsha1sum命令&#xff1a; sha1sum 文件名例如&#xff1a; sha1sum example.txtsha256sum命令&a…

SQLServer的常用数据类型

常用数据类型 关于数据类型大家可能并不陌生&#xff0c;因为我们在C#中学了常用的数据类型&#xff0c;在数据库中其实也差不多&#xff0c;大部分都有对应关系的&#xff0c;只是关键字上有差别&#xff0c;接下来我们讲一下&#xff0c;请大家记住常用的就行。 第一、文本…

代码规范有用吗?听听100W年薪谷歌大佬怎么说!

谷歌内部的 python 代码规范 熟悉 python 一般都会努力遵循 pep8 规范&#xff0c;也会有一些公司制定内部的代码规范。大公司制定规范的目的不是说你一定要怎样去使用编程语言&#xff0c;而是让大家遵守同一套规则&#xff0c;节省其他人阅读代码的成本&#xff0c;方便协作…

红酒按照糖含量怎么分类?

我们常听人们形容葡萄酒为干型或甜型&#xff0c;这指的是葡萄酒的含糖量。不含糖就是干型&#xff0c;含糖少就是半干型&#xff0c;含糖多就是甜型&#xff0c;这是葡萄酒分类的一种——按糖量分。云仓酒庄的品牌雷盛红酒分享一般分为干型、半干型、半甜型、甜型四种。 云仓…

get data from Nacos error,dataId:服务名

2023-11-23 09:44:35.595 ERROR 169 — [ main] c.a.n.client.config.impl.ClientWorker : [fixed-100.66.12.65_8848] [sub-server-error] no right, dataIdcampaign-task-service, groupcampaign, tenant 2023-11-23 09:44:35.598 ERROR 169 — [ main] c.a.c.n.c.NacosPrope…

Jetson orin(Ubuntu20.04)不接显示器无法输出VNC图像解决办法以及vnc安装记录

sudo apt install vino 好像Jetpack 5.0中已经自带了。。 配置VNC server: gsettings set org.gnome.Vino prompt-enabled false gsettings set org.gnome.Vino require-encryption false 编辑org.gnome,增加一个“enabled key”的参数&#xff1a; cd /usr/share/glib-2…

氮化镓的晶体学湿式化学蚀刻法

引言 目前&#xff0c;大多数III族氮化物的加工都是通过干法等离子体蚀刻完成的。干法蚀刻有几个缺点&#xff0c;包括产生离子诱导损伤和难以获得激光器所需的光滑蚀刻侧壁。干法蚀刻产生的侧壁典型均方根(rms)粗糙度约为50纳米&#xff0c;虽然已经发现KOH基溶液可以蚀刻AlN…

Android:Google三方库之Firebase集成详细步骤(三)

Cloud Messaging 1、清单文件配置 a、&#xff08;可选&#xff09;一项扩展 FirebaseMessagingService 的服务。除了接收通知外&#xff0c;如果您还希望在后台应用中进行消息处理&#xff0c;则必须添加此服务。例如&#xff0c;您需要在前台应用中接收通知、接收数据载荷以及…

服务台需要跟踪的3个重要指标MTBF+MTTF+MTTR

衡量标准是IT服务管理的核心&#xff0c;可提供有关运营的见解&#xff0c;并帮助确定需要持续改进的领域。通常的服务台指标有助于展示内部运营效率。例如&#xff0c;衡量在规定时间内解决问题的工单数量的 SLA 是展示服务台效率的关键因素。另一方面&#xff0c;故障指标可帮…

阿里云服务器(vgn7i-vws) anaconda(py39)+pytorch1.12.0(cu113)

安装anaconda 2022 10 py3.9 wget https://repo.anaconda.com/archive/Anaconda3-2022.10-Linux-x86_64.sh sha256sum Anaconda3-2022.10-Linux-x86_64.sh #校验数据完整性 chmod ux Anaconda3-2022.10-Linux-x86_64.sh #添加执行权限 bash Anaconda3-2022.10-Linux-x86_…

ate测试原理及ate测试系统(软件)知识科普 -纳米软件

ATE(Automatic Test Equipment)测试也叫自动化测试&#xff0c;通过计算机控制测试仪器对被测对象进行测试。以计算机编程代替人工测试&#xff0c;基于测试程序控制仪器并对待测品进行输入和输出信号检测分析&#xff0c;从而判断待测品的性能是否符合要求。 ATE测试需要根据测…