ROS Navigation Stack安装

news2024/12/23 13:39:04

Navigation导航包是做导航几乎都要用的,大家可以先去ROS Wiki上学习下

我们先Git下对应版本的软件包,我是Kinetic的,所以是Kinetic-devel

在这里插入图片描述

下载后发现目录下并没有CMakeLists.txt,所以直接在ROS工作目录下catkin_make并不会产生可执行文件

在这里插入图片描述

所以编写了build.sh脚本文件,如下:

echo "Building Navigation Pack"
cd ~/catkin_ws

echo -e "\nBuild amcl..."
catkin_make -DCATKIN_WHITELIST_PACKAGES="amcl"

echo -e "\nBuild base_local_planner..."
catkin_make -DCATKIN_WHITELIST_PACKAGES="base_local_planner"

echo -e "\nBuild carrot_planner..."
catkin_make -DCATKIN_WHITELIST_PACKAGES="carrot_planner"

echo -e "\nBuild clear_costmap_recovery..."
catkin_make -DCATKIN_WHITELIST_PACKAGES="clear_costmap_recovery"

echo -e "\nBuild costmap_2d..."
catkin_make -DCATKIN_WHITELIST_PACKAGES="costmap_2d"

echo -e "\nBuild dwa_local_planner..."
catkin_make -DCATKIN_WHITELIST_PACKAGES="dwa_local_planner"

echo -e "\nBuild fake_localization..."
catkin_make -DCATKIN_WHITELIST_PACKAGES="fake_localization"

echo -e "\nBuild global_planner..."
catkin_make -DCATKIN_WHITELIST_PACKAGES="global_planner"

echo -e "\nBuild map_server..."
catkin_make -DCATKIN_WHITELIST_PACKAGES="map_server"

echo -e "\nBuild move_base..."
catkin_make -DCATKIN_WHITELIST_PACKAGES="move_base"

echo -e "\nBuild move_slow_and_clear..."
catkin_make -DCATKIN_WHITELIST_PACKAGES="move_slow_and_clear"

echo -e "\nBuild nav_core..."
catkin_make -DCATKIN_WHITELIST_PACKAGES="nav_core"

echo -e "\nBuild navfn..."
catkin_make -DCATKIN_WHITELIST_PACKAGES="navfn"

echo -e "\nBuild navigation..."
catkin_make -DCATKIN_WHITELIST_PACKAGES="navigation"

echo -e "\nBuild robot_pose_ekf..."
catkin_make -DCATKIN_WHITELIST_PACKAGES="robot_pose_ekf"

echo -e "\nBuild rotate_recovery..."
catkin_make -DCATKIN_WHITELIST_PACKAGES="rotate_recovery"

echo -e "\nBuild voxel_grid..."
catkin_make -DCATKIN_WHITELIST_PACKAGES="voxel_grid"

在navigation-kinetic-devel目录下打开终端

chmod +x build.sh
./build.sh

即可完成编译

编译过程中可能会报错:

/home/redwall/catkin_ws/src/navigation-kinetic-devel/costmap_2d/cfg/Costmap2D.cfg 拒绝访问

之类的问题,其实就是该文件缺少可执行权限

打开任意终端,输入:

chmod +x /home/redwall/catkin_ws/src/navigation-kinetic-devel/costmap_2d/cfg/Costmap2D.cfg

但是像这种/cfg整个文件夹的,直接

chmod -R +x /home/redwall/catkin_ws/src/navigation-kinetic-devel/costmap_2d/cfg

还有就是编译costmap_2d提示缺少eigen3的依赖,实际上在/usr/local/include和/usr/include中都有,只是没在它指定的路径,打开终端

mkdir include

sudo cp -r /usr/local/include/eigen3 ~/include

问题基本上就是上面几点,最后在navigation-kinetic-devel目录下运行build.sh

多运行几次,最后没有报错,就编译安装成功了

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

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

相关文章

【FPGA】UART串口通信——奇偶校验实现

文章目录 一、奇偶校验位二、设计思路三、仿真测试 一、奇偶校验位 奇偶校验位是基于uart的数据上进行一个判断 奇校验:数据1个数为奇时,校验为0,反之为1 偶校验:数据0个数为偶时,校验为0,反之为1 Uart…

MySQL 事务原理:事务概述、隔离级别、MVCC

文章目录 一、事务1.1 事务概述1.2 事务控制语句1.3 ACID特性 二、隔离级别2.1 隔离级别的分类2.1.1 读未提交(RU)2.1.2 读已提交(RC)2.1.3 可重复读(RR)2.1.4 串行化 2.2 命令2.3 并发读异常2.3.1 脏读2.3…

Babylon.js着色器简明简称【Shader】

推荐:用 NSDT设计器 快速搭建可编程3D场景 为了生成 BabylonJS 场景,需要用 Javascript 编写代码,BabylonJS 引擎会处理该代码并将结果显示在屏幕上。 场景可以通过改变网格、灯光或摄像机位置来改变。 为了及时显示可能的变化,屏…

借助gopsutil库,获取机器相关信息

使用github.com/shirou/gopsutil/disk这个库,如何获取机器下不同磁盘分区的内容 使用 github.com/shirou/gopsutil/disk 库获取机器下不同磁盘分区的内容,可按如下: import "github.com/shirou/gopsutil/disk"//调用 disk.Partitio…

【瑞吉外卖】Git部分学习

Git简介 Git是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理。通过Git仓库来存储和管理这些文件,Git仓库分为两种: 本地仓库:开发人员自己电脑上的Git仓库 远程仓库:远程服务器上的Git仓库…

git原理与使用

目录 引入基本操作分支管理远程操作标签管理 引入 假设你的老板要你设计一个文档,当你设计好了,拿给他看时,他并不是很满意,就要你拿回去修改,你修改完后,再给他看时,他还是不满意,…

ERP、APS、MES 三者之间的关系

ERP(Enterprise Resource Planning) APS(Advanced Planning and Scheduling) MES(Manufacturing Execution System) 这是三种不同类型的软件系统,它们主要用于企业内部管理和自动化运营流程。…

vscode Google代码风格设置无效解决

1. 采用第一个方法设置google代码设置风格 2. 安装了clangd后需要在格式化风格做选择 vscode 安装 clang-format插件 $ code /home/tony/.config/Code/User/settings.json 这就能解决google风格设置无效的问题了,原来根因在于使用的格式化插件没有生效导致&#xf…

还原某里226控制流混淆的思路

原两年前我就写出了还原控制流,由于当时没留笔记,导致现在很多忘记了,只记得大致思路,又由于在面试的时候,很多时候说不清楚,遂直接重构并还原最新版练手 另本文以教学为基准、本文提供的可操作性不得用于…

多用户跨境B2B2C商城后台管理系统快速搭建

搭建一个多用户跨境B2B2C商城后台管理系统需要考虑多个方面,包括系统架构设计、用户权限管理、商品管理、订单管理、支付管理、物流管理等。搭建步骤如下: 1. 系统架构设计 首先,需要设计一个稳定可靠的系统架构。选择一个适合B2B2C商城的商…

【iOS】RunLoop

前言-什么是RunLoop? 什么是RunLoop? 跑圈?字面上理解确实是这样的。 Apple官方文档这样解释RunLoop RunLoop是与线程息息相关的基本结构的一部分。RunLoop是一个调度任务和处理任务的事件循环。RunLoop的目的是为了在有工作的时候让线程忙起来&#…

谈谈对Spring MVC的理解

问题分析: SpringMVC 是一种基于 Java 语言开发,实现了 Web MVC 设计模式,请求驱动类型 的轻量级 Web 框架。 SpringMVC采用了 MVC 架构模式的思想,通过把 Model,View,Controller 分离,将 Web 层…

Kubeadm搭建 Kubernetes

kubeadm搭建整体步骤 1)所有节点进行初始化,安装docker引擎和kubeadm kubelet kubectl 2)生成集群初始化配置文件并进行修改 3)使用kubeadm init根据初始化配置文件生成K8S的master控制管理节点 4)安装CNI网络插件&am…

在centos7下通过docker 安装onlyoffice

因为需要调试网盘,所以今天安装一下centos7的onlyoffice 官方介绍如下: 为了方便,还是通过docker方式来安装onlyoffice了,这里我们采用社区版本了。 1、下载docker安装包 如下: docker pull onlyoffice/documentserv…

Mageia 9 RC1 正式发布,Mandriva Linux 发行版的社区分支

导读Mageia 9 首个 RC 已发布。公告写道,自 2023 年 5 月发布 beta 2 以来,Mageia 团队一直致力于解决许多顽固问题并提供安全修复和新特性。 新版本的控制中心添加了用于删除旧内核的新功能,该功能在 Mageia 9 中默认自动启用,用…

Flowable-网关-事件网关

目录 定义图形标记XML内容使用示例视频教程 定义 通常网关根据连线条件来决定后继路径,但事件网关不同,它提供了根据事件做选择的方式。 事件网关的每个外出顺序流都需要连接至一个捕获中间事件。当流程执行到达事件网关时,网关类 似处于等待…

Elasticsearch——基础(笔记)

文章目录 一、 Elasticsearch二、正向索引与倒排索引三、Elasticsearch与Mysql3.1 文档document3.2 索引库index3.3 与Mysql对比3.4 常见架构 四、部署与分词器4.1 部署单点ES4.2 使用IK分词器4.3 字典词库的拓展 五、操作索引库5.1 创建索引库5.2 增删改索引库 六、文档操作6.…

redis 集群 2:分而治之 —— Codis

在大数据高并发场景下,单个 Redis 实例往往会显得捉襟见肘。首先体现在内存上,单个 Redis 的内存不宜过大,内存太大会导致 rdb 文件过大,进一步导致主从同步时全量同步时间过长,在实例重启恢复时也会消耗很长的数据加载…

如何调教让chatgpt读取自己的数据文件(保姆级图文教程)

提示:如何调教让chatgpt读取自己的数据文件(保姆级图文教程) 文章目录 前言一、如何投喂自己的数据?二、调教步骤总结 前言 chatgpt提示不能读取我们提供的数据文件,我们应该对它进行调教。 一、如何投喂自己的数据? 让chatgpt读…

干货分享 | TSMaster图形模块功能详解(二)—— 以CAN信号为例

在上一章节中,我们主要分享了TSMaster图形模块功能中信号的导入与删除、图形分栏、暂停与启动和禁止图形、高亮信号相关操作、预设、信号与数据的导入与导出6大模块的操作教程。 本章节在上一篇基础上,继续介绍TSMaster图形模块功能第7~10模块的教程。 本…