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

news2024/11/16 11:55:28

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 +0800

    Update 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_env
 target_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, RelWithDebInfo
 ADD_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.coloradmin.cn/o/1792963.html

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

相关文章

python元组容器

""" 元组 ---不可变的容器 """ # 不写逗号就是字符串 fruits (watermelon) print(type(fruits)) # 一元组需要加逗号 fruits (watermelon,) print(type(fruits))# 元组运算--重复运算 fruits (watermelon, apple, banana, peach, apple) pri…

UE5-人物角色动画蓝图

这里主要从零给角色创建移动的蓝图&#xff0c;包含多种状态 创建 首先在角色骨骼网格体上右键创建动画蓝图 进入&#xff0c;在AnimGraph界面创建一个状态机&#xff08;stateMachine&#xff09; Idle 进入状态机&#xff0c;拉出来创建一个newState&#xff0c;这里命名…

QML应用添加网络代理

在QML应用中我们可以通过QNetworkProxy和QNetworkAccessManager类给应用添加网络代理。QNetworkProxy是Qt网络模块中的一个类,用于配置网络请求的代理服务器。通过使用代理服务器,我们可以控制应用程序的网络流量,实现网络请求的转发、监视、和过滤等功能。代理服务器在很多…

【Linux】(一)——Linux基础和Linux命令基础语法

目录 Linux基础Linux发行版本Linux终端Linux命令 Linux基础 Linux&#xff0c;通常指的是GNU/Linux操作系统&#xff0c;这是一个开源且免费使用的类UNIX操作系统。它的核心组件——Linux内核&#xff0c;由林纳斯托瓦兹&#xff08;Linus Torvalds&#xff09;在1991年10月5日…

在应对流量攻击时,如何提高pcdn的可用性(贰)?

在应对流量攻击时&#xff0c;提高PCDN&#xff08;Private Content Delivery Network&#xff09;的可用性是一项关键任务。以下是一些建议措施&#xff1a; 一&#xff0e;优化资源分配与负载均衡&#xff1a; 监测各个节点的流量和负载情况&#xff0c;确保在流量攻击时能…

【嵌入式DIY实例】-OLED显示网络时钟

OLED显示网络时钟 文章目录 OLED显示网络时钟1、硬件准备与接线2、代码实现在上一个ESP8266 NodeMCU文章中,我们用DS3231 RTC芯片和SSD1306 OLED制作了一个简单的实时时钟,时间和日期显示在SSD1306屏幕上,并且可以通过两个按钮进行设置。 在本中,我们将使用ESP 8266 NodeMC…

一种基于小波域的增强独立分量分析方法(MATLAB)

独立分量分析ICA是二十世纪九十年代发展起来的一种多元统计和计算技术&#xff0c;目的是用来分离或提取随机变量、观测数据或信号混合物中具有独立特性的隐藏分量。ICA可以看作是主分量分析PCA和因子分析FA的扩展。与PCA和FA相比&#xff0c;ICA是一种更强有力的技术。当PCA和…

护眼落地台灯十大品牌有必要买吗?十大落地台灯品牌推荐

护眼落地台灯十大品牌有必要买吗&#xff1f;家里的台灯照明范围有限&#xff0c;阅读面和房间的空间光线亮暗差大&#xff0c;眼睛需要同时适应亮和暗两种光线&#xff0c;频繁收缩&#xff0c;极易眼疲劳。再加上学习时间过长&#xff0c;眼睛得不到休息&#xff0c;从而引起…

八股文系列Redis

缓存穿透 缓存穿透指什么 缓存穿透是指查询⼀个在缓存和数据库中都不存在的数据。由于缓存没有这个数据&#xff0c;所以每次查询都会“穿透”缓存直接查询数据库&#xff0c;如果有⼤量此类查询&#xff0c;会给数据库带来极⼤的压⼒。 查询流程 解决方案 设置value为null …

2024-03 GESP C++ 二级试题及答案

2024-03 GESP C 二级试题及答案单选题&#xff08;每题 2 分&#xff0c;共 30 分&#xff09;第 1 题 下列流程图的输出结果是&#xff1f;( ) A. 优秀 B. 良好 C. 不及格 D. 没有输出 第 2 题 以下选项中不符合 C变量命名规则的是&#xff1f;&#xff08; &#xff09; A.…

【基于 PyTorch 的 Python 深度学习】8 注意力机制(2):Transformer(上)

前言 文章性质&#xff1a;学习笔记 &#x1f4d6; 学习资料&#xff1a;吴茂贵《 Python 深度学习基于 PyTorch ( 第 2 版 ) 》【ISBN】978-7-111-71880-2 主要内容&#xff1a;根据学习资料撰写的学习笔记&#xff0c;该篇主要介绍了 Transformer 的主要功能、总体架构、相关…

2.1 初识Windows程序

Windows程序设计是一种面向对象的编程。Windows操作系统以数据结构的形式定义了大量预定义的对象作为操作系统的数据类型。Windows动态链接库提供了各种各样的API接口函数供Windows应用程序调用。一个Windows应用程序是运行在Windows操作系统之上的。这些API接口函数的调用所实…

MKS AX7680 SERIES 电源使用说明手侧

MKS AX7680 SERIES 电源使用说明手侧

【Python报错】AttributeError: ‘NoneType‘ object has no attribute ‘xxx‘

成功解决“AttributeError: ‘NoneType’ object has no attribute ‘xxx’”错误的全面指南 一、引言 在Python编程中&#xff0c;AttributeError是一种常见的异常类型&#xff0c;它通常表示尝试访问对象没有的属性或方法。而当我们看到错误消息“AttributeError: ‘NoneTyp…

Face Forgery Detection by 3D Decomposition

文章目录 Face Forgery Detection by 3D Decomposition研究背景研究目标创新点方法提出问题研究过程技术贡献实验结果未来工作Face Forgery Detection by 3D Decomposition 会议:CVPR2021 作者: 研究背景 面部伪造引发关注传统面部伪造检测主要关注原始RGB图像

linux进程家族-管理子进程,确保进程族稳健运行

在Linux环境下&#xff0c;进程之间相互影响、相互依赖&#xff0c;就像一个大家庭一样。作为程序员&#xff0c;我们不仅需要创建子进程&#xff0c;更要熟练掌握监控和管理子进程的技能&#xff0c;确保整个进程族能稳健高效地运行。本文将为你揭开进程创建、监控子进程、处理…

【Vue】小黑记事本

文章目录 一、需求说明二、思路分析三、代码实现 一、需求说明 拆分基础组件渲染待办任务添加任务删除任务底部合计 和 清空功能持久化存储 二、思路分析 拆分基础组件 咱们可以把小黑记事本原有的结构拆成三部分内容&#xff1a;头部&#xff08;TodoHeader&#xff09;、列…

代码随想录训练营Day29

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、递增子序列二、全排列三、全排列2 前言 今天是跟着代码随想录刷题的第29天&#xff0c;今天主要学了以下几个内容&#xff1a;491.递增子序列、46.全排列、…

1877java项目建设平台管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java 项目建设平台管理系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助采用了java设计&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统采用web模式&#xff0c;系统主要采用B/S模式开 发。开发环境为TOMCAT7.0,Myeclipse8.…

工频耐压试验仪

武汉凯迪正大智能5KV工频耐压仪是根据国家行业试验标准而设计的试验设备&#xff0c;其功能强、使用方便、维护简单。主要用于对各种电器产品、电气元件、绝缘材料等进行规定电压下的碳化试验&#xff0c;绝缘强度试验&#xff0c;以考核产品的绝缘水平&#xff0c;发现被试品的…