Linux 35.5 + JetPack v5.1.3@ ego-planner编译安装

Linux 35.5 + JetPack v5.1.3@ ego-planner编译安装

  • 1. 源由
  • 2. 编译&安装
    • Step 1:依赖库安装
    • Step 2:建立工程
    • Step 3:编译工程
    • Step 4:安装工程
  • 3. 问题汇总
    • 3.1 planner/plan_env - OpenCV
    • 3.2 uav_simulator/local_sensing - CUDA优化
  • 4. 总结

1. 源由

  • Fast-Planner
  • FUEL
  • RACER
  • ego-planner

以上几份开源代码,基本上都是同一个性质的内容:在复杂环境中自主建模导航运行。

最近编译尝试运行下这几份代码,发现或多或少的出现了一些问题:

  • Linux 35.5 + JetPack v5.1.3@Fast-Planner编译安装
  • Linux 35.5 + JetPack v5.1.3@FUEL编译安装
  • Linux 35.5 + JetPack v5.1.3@RACER编译安装

最后一份ego-planner代码,也来尝试下,获取有意外的收货。

2. 编译&安装

  • 确认本地ROS版本:
$ rosversion --distro
noetic
  • 本次编译代码版本:
$ git log -n 1
commit 0835f963dcfadce156dbec8ab66b93930955a87c (HEAD -> master, origin/master, origin/HEAD)
Author: Xin Zhou <923137104@qq.com>
Date:   Thu Mar 16 21:01:05 2023 +0800Update README.md
  • 系统安装不再赘述,详见:Linux 35.5 + JetPack v5.1.3@ros-noetic安装

Step 1:依赖库安装

$ sudo apt-get install libarmadillo-dev

Step 2:建立工程

$ mkdir -p ${YOUR_WORKSPACE_PATH}/src
$ cd ${YOUR_WORKSPACE_PATH}/src
$ git clone git@github.com:ZJU-FAST-Lab/ego-planner.git

Step 3:编译工程

$ cd ego-planner
$ catkin_make

或者

$ cd ego-planner
$ catkin_make -DCMAKE_BUILD_TYPE=Release

Step 4:安装工程

略,因为暂时不涉及软件的部署应用,相关模拟命令参考:

$ source devel/setup.bash && roslaunch ego_planner simple_run.launch

在这里插入图片描述

或者

  1. 运行Rviz虚拟环境
$ source devel/setup.bash
$ roslaunch ego_planner rviz.launch
  1. 运行模拟程序
$ source devel/setup.bash
$ roslaunch ego_planner run_in_sim.launch

3. 问题汇总

3.1 planner/plan_env - OpenCV

$ git diff src/planner/plan_env/CMakeLists.txt
diff --git a/src/planner/plan_env/CMakeLists.txt b/src/planner/plan_env/CMakeLists.txt
index 83219e3..e677639 100755
--- a/src/planner/plan_env/CMakeLists.txt
+++ b/src/planner/plan_env/CMakeLists.txt
@@ -46,4 +46,5 @@ add_library( plan_envtarget_link_libraries( plan_env${catkin_LIBRARIES}${PCL_LIBRARIES}
+    ${OpenCV_LIBS})

3.2 uav_simulator/local_sensing - CUDA优化

$ git diff src/uav_simulator/local_sensing/CMakeLists.txt
diff --git a/src/uav_simulator/local_sensing/CMakeLists.txt b/src/uav_simulator/local_sensing/CMakeLists.txt
index c2be3ac..5362408 100644
--- a/src/uav_simulator/local_sensing/CMakeLists.txt
+++ b/src/uav_simulator/local_sensing/CMakeLists.txt
@@ -5,8 +5,8 @@ SET(CMAKE_BUILD_TYPE Release) # Release, RelWithDebInfoADD_COMPILE_OPTIONS(-std=c++11 )ADD_COMPILE_OPTIONS(-std=c++14 )-set(ENABLE_CUDA false)
-#set(ENABLE_CUDA true)
+#set(ENABLE_CUDA false)
+set(ENABLE_CUDA true)if(ENABLE_CUDA)find_package(CUDA REQUIRED)
@@ -20,7 +20,8 @@ if(ENABLE_CUDA)#       -gencode arch=compute_52,code=sm_52;#       -gencode arch=compute_60,code=sm_60;#       -gencode arch=compute_61,code=sm_61;
-      -gencode arch=compute_75,code=sm_75;
+#       -gencode arch=compute_75,code=sm_75;
+        -gencode arch=compute_87,code=sm_87;)SET(CUDA_PROPAGATE_HOST_FLAGS OFF)

4. 总结

本次顺利实现了Jetson Orin Nano上的模拟导航飞行。

Jetson Orin Nano | ego

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

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

相关文章

《Navi日语社》App:日语学习与翻译的智能助手,支持日文OCR识别提取文字,无需打字对着说话就能翻译的日语语音翻译工具!

在全球化的今天&#xff0c;掌握一门外语已经成为许多人的必备技能。尤其是日语&#xff0c;不仅在学术、商务领域有着广泛的应用&#xff0c;也是许多旅行者和动漫爱好者的心头好。《Navi日语社》App&#xff0c;作为一款专为日语学习者和翻译需求者设计的移动应用&#xff0c…

《解锁创意无限:Stable Diffusion 详细教程指南》

在当今数字艺术的浪潮中&#xff0c;Stable Diffusion 以其强大的功能和创新性成为了众多创作者的新宠。如果你还对它感到陌生&#xff0c;或者想要更深入地了解如何运用它来创造令人惊叹的艺术作品&#xff0c;那么这篇教程将是你的绝佳指南。 一、Stable Diffusion 简介 St…

Zookeeper复习

一、入门 1、概念 zookeeper文件系统通知机制 2.特点 1&#xff09;、一个领导者&#xff0c;多个跟随者组成的集群。 2&#xff09;、集群中只要有半数以上存活机制&#xff0c;zookeeper集群能正产服务。zk适合安装奇数台。 3&#xff09;、全局数据一致&#xff1a;每…

华为鸿蒙开发-鸿蒙基于ARKTS开发之启动模式

前言 鸿蒙生态取得爆发式增长&#xff01; 截至3月底&#xff0c;已有超4000个应用加入鸿蒙生态。 而在今年1月中旬&#xff0c;华为刚宣布HarmonyOS NEXT鸿蒙星河版面向开发者开放申请&#xff0c;这一版本鸿蒙系统也被称为“纯血鸿蒙”。 当时&#xff0c;华为宣布首批200…

2. QGis二次开发项目实践一之技术实现

前言 本文描述了QGis二次开发项目实践一的涉及到的技术点涉及到的QGis技术点如下 矢量图层加载显示矢量图层导出dxf矢量图层合并 代码描述 矢量图层加载显示 矢量图层加载显示在以前的教程中已有详细说明&#xff0c;请参考以下链接 5.1 加载矢量图层(ogr,gpx)5.2 加载矢量…

03-3.1.3 栈的链式存储的实现

&#x1f44b; Hi, I’m Beast Cheng&#x1f440; I’m interested in photography, hiking, landscape…&#x1f331; I’m currently learning python, javascript, kotlin…&#x1f4eb; How to reach me --> 458290771qq.com 喜欢《数据结构》部分笔记的小伙伴可以订…

【微服务】使用kubekey部署k8s多节点及kubesphere

kubesphere官方部署文档 https://github.com/kubesphere/kubesphere/blob/master/README_zh.md kubuctl命令文档 https://kubernetes.io/zh-cn/docs/reference/kubectl/ k8s资源类型 https://kubernetes.io/zh-cn/docs/reference/kubectl/#%E8%B5%84%E6%BA%90%E7%B1%BB%E5%9E…

python中的函数概念

一段可以被重复使用的代码。 关于函数的定义 defdefine &#xff08;定义&#xff09; def 函数名&#xff08;形参列表&#xff09;&#xff1a;形参列表中&#xff0c;可以有多个形参&#xff0c;多个形参之间使用逗号分隔&#xff0c; 关于函数的调用 &#xff08;开始完…

Transformer 论文重点

摘要 提出了一个 Transformer 模型&#xff0c;针对于一个机器翻译的小任务上表现结果比当时所有模型的效果都好&#xff0c;并且架构相比其它更加简单&#xff0c;后面就火到了发现什么方向都能用的地步。 介绍 循环神经网络&#xff0c;特别是长短时记忆[ 13 ]和门控循环[…

kafka-消费者-指定offset消费(SpringBoot整合Kafka)

文章目录 1、指定offset消费1.1、创建消费者监听器‘1.2、application.yml配置1.3、使用 Java代码 创建 主题 my_topic1 并建立3个分区并给每个分区建立3个副本1.4、创建生产者发送消息1.4.1、分区0中的数据 1.5、创建SpringBoot启动类1.6、屏蔽 kafka debug 日志 logback.xml1…

nginx动静分离和反向代理

一、动静分离 动静分离指的是将动态内容和静态内容分开处理。动态内容通常由后端应用程序生成&#xff0c;例如PHP、Python或Node.js&#xff0c;静态内容则包括图片、CSS、JavaScript等文件。 例子&#xff1a; #代理服务器一 server{listen 80;server_name www.dj.com;r…

夏季高温来袭|危化品如何安全储存?

《危险化学品安全管理条例》第三条 本条例所称危险化学品&#xff0c;是指具有毒害、腐蚀、爆炸、燃烧、助燃等性质&#xff0c;对人体、设施、环境具有危害的剧毒化学品和其他化学品。 随着夏天高温的来袭&#xff0c;炎热的天气对危化品储存威胁巨大&#xff0c;危化品事故也…

Mybatis-Plus的一些理解

MybatisPlus在Mybatis的基础上进行了增强&#xff0c;进一步简化了SQL的编写。对于普通的单表的CRUD&#xff0c;MyBatisPlus提过了相关接口进行快速操作。比如&#xff1a; insert(T entity): 插入一个实体&#xff0c;null的属性也会保存&#xff0c;不会使用数据库默认值。…

详解Selenium 强制等待、隐式等待和显式等待

在Selenium中使用等待机制&#xff1a;强制等待、隐式等待和显式等待 在自动化测试中&#xff0c;等待是一个非常重要的部分&#xff0c;因为它可以帮助确保测试脚本在执行操作前&#xff0c;页面元素已经加载完成或者变为可用。Selenium WebDriver 提供了多种等待机制&#x…

【C++课程学习】:C++入门(输入输出,缺省参数)

&#x1f381;个人主页&#xff1a;我们的五年 &#x1f50d;系列专栏&#xff1a;C课程学习 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 目录 &#x1f369;1.关于C输入输出&#xff1a; &#x1f369;2.缺省参数函数&#xff1a; 缺省参数的概…

聊聊大模型微调训练全流程的思考

前言 参考现有的中文医疗模型&#xff1a;MedicalGPT、CareGPT等领域模型的训练流程&#xff0c;结合ChatGPT的训练流程&#xff0c;总结如下&#xff1a; 在预训练阶段&#xff0c;模型会从大量无标注文本数据集中学习领域/通用知识&#xff1b;其次使用{有监督微调}(SFT)优化…

python如何快速的判断一个key在json的第几层呢,并修改其value值

python如何快速的判断一个key在json的第几层呢&#xff0c;并修改其value值 def find_and_modify_key(json_obj, target_key, new_value, current_level1):# 检查当前层是否包含目标keyif target_key in json_obj:print(f"找到 {target_key} 在第 {current_level} 层。&q…

在 JavaScript 中,除了使用可选链操作符,还有哪些方法可以安全地访问对象的深层属性?

在JavaScript中&#xff0c;除了使用可选链操作符&#xff08;?.&#xff09;&#xff0c;还有几种方法可以安全地访问对象的深层属性&#xff0c;避免因访问不存在的属性而抛出错误。以下是一些常用的方法&#xff1a; 1. 条件&#xff08;三元&#xff09;运算符&#xff1…

以太网基础 -- LLDP使用案例

LLDP使用技术报告 背景 链路层发现协议&#xff08;Link Layer Discovery Protocol&#xff0c;LLDP&#xff09;是一种网络协议&#xff0c;主要用于在以太网网络中发现相邻设备并与其交换信息。LLDP是一种开放的标准&#xff0c;由IEEE 802.1AB定义&#xff0c;能够跨多个厂…

dubbo服务引用

spring刷新容器的时候&#xff0c;ReferrenceBean只有被调用的情况下才会在createBean回调afterPropertiesSet的时候引入服务。 ReferrenceBean实现了FacotryBean的接口&#xff0c;当对任意服务Interface进行自动注入或者getBean获取&#xff0c;会触发getObject过程 本地服…