Ubuntu20.04下Cartographer+思岚A3激光雷达建图导航

news/2024/12/22 2:08:35/

安装Cartographer并用雷达建图导航

  • 一、安装Cartographer
    • 1、下载工具
    • 2、构建Cartographer工作空间
    • 3、安装cartographer_ros的依赖项和abseil-cpp 库
    • 4、生成和安装
    • 5、测试效果
  • 二、用激光雷达建图导航
    • 1、创建lua文件和launch文件
    • 2、跑move_base导航包

!!!
历经数次安装终于在自己的小车上跑起Cartographer并建图导航
!!!

一、安装Cartographer

安装参考https://google-cartographer-ros.readthedocs.io/en/latest/compilation.html

1、下载工具

在终端输入:

sudo apt-get update
sudo apt-get install -y python3-wstool python3-rosdep ninja-build stow

2、构建Cartographer工作空间

安装好工具之后,在终端输入:

mkdir cartt_ws
cd cartt_ws
wstool init src
wstool merge -t src https://raw.githubusercontent.com/cartographer-project/cartographer_ros/master/cartographer_ros.rosinstall
wstool update -t src

3、安装cartographer_ros的依赖项和abseil-cpp 库

在终端输入:

//安装cartographer_ros依赖项
sudo rosdep init
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro=noetic -y
//安装abseil-cpp库
src/cartographer/scripts/install_abseil.sh
catkin_make_isolated --install --use-ninja

4、生成和安装

在终端输入:

catkin_make_isolated --install --use-ninja

5、测试效果

在Cartographer官网随便下载一个包来试试看
在这里插入图片描述
我下的是-42-53.bag这个

//source一下 凡事source一下总没问题
source /home/ubuntu/cartt_ws/install_isolated/setup.bash
//bag_filename:=接你下载的包的路径+包名.bag
roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=/home/ubuntucartt_ws/b0-2014-07-21-12-42-53.bag

来看看效果:
在这里插入图片描述

二、用激光雷达建图导航

前提:先让激光雷达跑起来

1、创建lua文件和launch文件

在/src/cartographer_ros/cartographer_ros/configuration_files下修改revo_lds.lua文件如下:
在这里插入图片描述
在这里插入图片描述
关于map_frame、tracking_frame、published_frame等参数,可以参考Cartographer官网

在src\cartographer_ros\cartographer_ros\launch下创建mapbuild.launch文件如下:
在这里插入图片描述
在这里插入图片描述

其中cartographer本来发布的是submap,也就是子图,如需转换成map,就要启动cartographer_occupancy_grid_node节点,如上图中红色部分

最后打开终端输入如下:

//重新编译一次,每次修改配置文件和代码都要重新编译
catkin_make_isolated --install --use-ninja
//source一下
source /home/ubuntu/cartt_ws/install_isolated/setup.bash
//跑launch文件
roslaunch cartographer_ros mapbuild.launch

效果如下:
在这里插入图片描述
看一下rqt_tf_tree:
在这里插入图片描述

2、跑move_base导航包

//进入move_base的工作空间
roslaunch Chassis move_base.launch

效果如下:
在这里插入图片描述


http://www.ppmy.cn/news/667481.html

相关文章

cad打开a3样板图形_CAD如何绘制标准的A3图框(A3图纸样板图)

样板图即指将绘制图形通用的一些基本内容和参数事先设置好,并以“DWT”格式保存的文件。下面以绘制A3图纸样板图为例,熟悉图层、文字样式、表格样式、标注样式等的操作。 1、点击【新建】按钮,在弹出的对话框中点击“打开”右边的下拉按钮,选择“无样板打开-公制”命令,新…

《计算机系统与网络安全》 第十章 防火墙技术

🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~&#x1f33…

SpringMVC基础知识

一、SpringMVC 1. Spring与Web环境集成 1.1 ApplicationContext应用上下文获取方式 应用上下文对象是通过new ClasspathXmlApplicationContext(spring配置文件) 方式获取的,但是每次从容器中获得Bean时都要编写new ClasspathXmlApplicationContext(spring配置文件…

广告拦截规则地址

广告拦截过滤规则,仅供参考。 广告过滤 EasyList China :  https://easylist-downloads.adblockplus.org/easylistchina.txt EasyList Lite:  https://raw.githubusercontent.com/cjx82630/cjxlist/master/cjxlist.txt CJX’s Annoyance List:  https://raw.githubuserc…

window.open() 被拦截的问题解决

某些浏览器(比如Chrome)出于安全和体验的考虑,会禁止直接在JS中使用 window.open(url) 打开新的窗口。但是如果使用 window.open(url,_self) 改变当前窗口是允许的。 禁止直接打开的原因就是非用户操作产生的新弹出窗口,会被认为…

拦截器的作用

Spring MVC 的处理器拦截器类似于 Servlet 开发中的过滤器 Filter,用于对处理器进行预处理和后处理。 用户可以自己定义一些拦截器来实现特定的功能。 谈到拦截器,还要向大家提一个词——拦截器链(Interceptor Chain)。拦截器链…

springboot拦截请求路径_SpringBoot拦截器如何获取http请求参数

1.1、获取http请求参数是一种刚需 我想有的小伙伴肯定有过获取http请求的需要,比如想 前置获取参数,统计请求数据 做服务的接口签名校验 敏感接口监控日志 敏感接口防重复提交 等等各式各样的场景,这时你就需要获取 HTTP 请求的参数或者请求body,一般思路有两种,一种就是自…

Cxf拦截器

Cxf拦截器 拦截器是Cxf的基础,Cxf中很多的功能都是由内置的拦截器来实现的,拦截器在Cxf中由Interceptor表示。Cxf的拦截器包括入拦截器和出拦截器,所有的入拦截器或出拦截器构成了一个拦截器链,它们可以作用在Server端也可以作用在…