首页 > 系统相关 >Linux 35.5 + JetPack v5.1.3@ ego-planner编译安装

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

时间:2024-06-06 09:28:55浏览次数:13  
标签:src CMakeLists planner JetPack 35.5 ego CUDA txt

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

1. 源由

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

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

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

2. 编译&安装

  • 确认本地ROS版本:
$ rosversion --distro
noetic
  • 本次编译代码版本:
$ git log -n 1
commit 0835f963dcfadce156dbec8ab66b93930955a87c (HEAD -> master, origin/master, origin/HEAD)
Author: Xin Zhou <[email protected]>
Date:   Thu Mar 16 21:01:05 2023 +0800

    Update README.md

Step 1:依赖库安装

sudo apt-get install libarmadillo-dev

Step 2:建立工程

$ mkdir -p ${YOUR_WORKSPACE_PATH}/src
$ cd ${YOUR_WORKSPACE_PATH}/src
$ git clone [email protected]: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上的模拟导航飞行。

<iframe allowfullscreen="true" data-mediaembed="bilibili" frameborder="0" id="sfkZBItw-1717637039065" src="https://player.bilibili.com/player.html?aid=1155448924"></iframe>

Jetson Orin Nano | ego

标签:src,CMakeLists,planner,JetPack,35.5,ego,CUDA,txt
From: https://blog.csdn.net/lida2003/article/details/139486358

相关文章

  • Jetpack架构组件_LifeCycle组件
    1.LifeCycle组件     LifeCycle组件可以让我们自定义的类能主动感知到Activity、Fragment、Application、Service等系统组件的生命周期。       我们以百度定位为例,我们一般在Activity生命周期的onCreate回调函数里调用自定义类LocationService的Start()方法......
  • 使用SDK Manager安装JetPack6.0详细说明
    前言:本文使用虚拟机安装的Ubuntu22.04系统,Jetson设备为ORINNX开发板,安装目标系统为JetPack6.0。如何使用虚拟机安装系统参考我的另外一篇原创博客:使用VMware安装Ubuntu18.04系统-CSDN博客➊ 打开SDKManager➋连接USB设备依次点击“虚拟机”      “可移动设......
  • JetpackCompose Material3 按钮边框覆盖不起作用
    如标题所述:无法覆盖我的Button可组合按钮的边框描边。下面是我自定义的Button,我如何通过传递border:BorderStroke参数来调用可组合按钮,以及显示其外观的图片。@ComposablefunCustomButtonPrimary(onClick:()->Unit、shape:=null、modifier:modifier=Mod......
  • Android开发 Jetpack Compose Canvas
    版权声明本文来自博客园,作者:观心静 ,转载请注明原文链接:https://www.cnblogs.com/guanxinjing/p/17657716.html本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。前言  此篇博客讲解Canvas的使用 画线正常的线条效果图......
  • Jetpack Compose(6)——动画
    目录一、低级别动画API1.1animate*AsState1.2Animatable1.3Transition动画1.3.1updateTransition1.3.2createChildTransition1.3.3封装并复用Transition动画1.4remeberInfiniteTransition——无限循环的transition动画1.5小结二、AndroidStudio对Compose动画......
  • 人工智能_大模型030_大模型开发框架003_Semantic Kernel中Native Function嵌套调用_SK
    ###4.2、NativeFunction嵌套调用(选)**注意:**NativeFunction的嵌套调用,本质上就是函数嵌套。官方给的写法是在Kernel的设计思想下的实现,通过Kernel来获取函数并执行,观感上较为晦涩。实际开发中,可以根据个人对SK内核与设计理念的理解,自行选择使用以下写法,或使用普......
  • Jetpack Compose(4)——重组
    目录一、状态变化1.1状态变化是什么1.2mutableStateListOf和mutableStateMapOf二、重组的特性2.1Composable重组是智能的2.2Composable会以任意顺序执行2.3Composable会并发执行2.4Composable会反复执行2.5Composable的执行是“乐观”的三、重组范围四、参数类型的......
  • JetPack之Lifecycle
    目录一、简介1.Lifecycle是什么?2.Lifecycle使用2.1实现LifecycleObserver接口2.2实现DefaultLifecycleObserver接口2.3实现LifecycleEventObserver接口3.使用技巧3.1内部类观察者3.2观察者接口一、简介1.Lifecycle是什么?JetPack.Lifecycle是一个可以......
  • Mission Planner界面分解
    目前为未连接状态黄色框:指南针目前指向红色框:飞机目前的水平状态橙色框:数传信号质量与时间绿色框:飞行速度蓝色框:飞行高度黑色框:空速:飞机相对于周围空气的速度地速:飞机相对于地面的速度白色框:飞行模式与到达下一个航点的距离EKF:卡尔曼滤波器(待学习)Vibe:飞机飞行时的振......
  • mpc_local_planner详解
    控制器配置Controller::configure(){//创建机器模型_dynamics=std::make_shared<UnicycleModel>();//离散网络,比如多重打靶法。参考点,输入,状态,等变量也会存放在grid里面,会实时更新。而且grid也继承了顶点传入到超图问题构建中_grid=configureGrid(nh);//......