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

2024-06-06 16:44

本文主要是介绍Linux 35.5 + JetPack v5.1.3@ego-planner-swarm编译安装,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

  • 1. 源由
  • 2. 编译&安装
    • Step 1:依赖库安装
    • Step 2:建立工程
    • Step 3:编译工程
    • Step 4:安装工程
  • 3. 问题汇总
    • 3.1 组件ros-noetic-roslint问题
    • 3.2 uav_simulator/local_sensing - CUDA优化
    • 3.3 编译命令`catkin_make`问题
  • 4. 总结

1. 源由

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

ego-planner 是一个单机版本,而ego-planner-swarm是一个多级飞行的版本,因此在此一起学习下,以便更好的理解该系列开源项目的整个进展和框架。

2. 编译&安装

  • 确认本地ROS版本:
$ rosversion --distro
noetic
  • 本次编译代码版本:
$ git log -n 1
commit 30de3c9e11e6a2e06d81561f9364f07ceba6774b (HEAD -> master, origin/master, origin/HEAD)
Author: Xin Zhou <923137104@qq.com>
Date:   Thu Mar 16 21:00:03 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-swarm.git

Step 3:编译工程

$ cd ego-planner-swarm
$ catkin_make -j1

或者

$ cd ego-planner
$ catkin_make -DCMAKE_BUILD_TYPE=Release -j1

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 swarm.launch

3. 问题汇总

3.1 组件ros-noetic-roslint问题

-- +++ processing catkin package: 'drone_detect'
-- ==> add_subdirectory(planner/drone_detect)
-- Could NOT find roslint (missing: roslint_DIR)
-- Could not find the required component 'roslint'. The following CMake error indicates that you either need to install the package with the same name or change your environment so that it can be found.
CMake Error at /opt/ros/noetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):Could not find a package configuration file provided by "roslint" with anyof the following names:roslintConfig.cmakeroslint-config.cmakeAdd the installation prefix of "roslint" to CMAKE_PREFIX_PATH or set"roslint_DIR" to a directory containing one of the above files.  If"roslint" provides a separate development package or SDK, be sure it hasbeen installed.
Call Stack (most recent call first):planner/drone_detect/CMakeLists.txt:12 (find_package)-- Configuring incomplete, errors occurred!
See also "/home/daniel/ZJU-FAST-Lab/ego-planner-swarm/build/CMakeFiles/CMakeOutput.log".
See also "/home/daniel/ZJU-FAST-Lab/ego-planner-swarm/build/CMakeFiles/CMakeError.log".
Invoking "cmake" failed

**解决方案:**安装组件ros-noetic-roslint

$ sudo apt-get install ros-noetic-roslint

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 13c9911..5362408 100644
--- a/src/uav_simulator/local_sensing/CMakeLists.txt
+++ b/src/uav_simulator/local_sensing/CMakeLists.txt
@@ -6,7 +6,7 @@ ADD_COMPILE_OPTIONS(-std=c++11 )ADD_COMPILE_OPTIONS(-std=c++14 )#set(ENABLE_CUDA false)
-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)

3.3 编译命令catkin_make问题

[ 56%] Building CXX object uav_simulator/Utils/multi_map_server/CMakeFiles/multi_map_visualization.dir/src/multi_map_visualization.cc.o
/home/daniel/ZJU-FAST-Lab/ego-planner-swarm/src/uav_simulator/Utils/multi_map_server/src/multi_map_visualization.cc:5:10: fatal error: multi_map_server/MultiOccupancyGrid.h: No such file or directory5 | #include <multi_map_server/MultiOccupancyGrid.h>|          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [uav_simulator/Utils/multi_map_server/CMakeFiles/multi_map_visualization.dir/build.make:63: uav_simulator/Utils/multi_map_server/CMakeFiles/multi_map_visualization.dir/src/multi_map_visualization.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:4588: uav_simulator/Utils/multi_map_server/CMakeFiles/multi_map_visualization.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
Invoking "make -j1" failed

**解决方案:**更换编译命令

$ catkin_make

4. 总结

本次顺利实现了Jetson Orin Nano上的模拟导航飞行,同时看到有模拟的飞机遇到障碍没有飞出来,具体问题待进一步的研究了。

Jetson Orin Nano | ego-planner-swarm simulation

在这里插入图片描述

这篇关于Linux 35.5 + JetPack v5.1.3@ego-planner-swarm编译安装的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1036661

相关文章

Linux之systemV共享内存方式

《Linux之systemV共享内存方式》:本文主要介绍Linux之systemV共享内存方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、工作原理二、系统调用接口1、申请共享内存(一)key的获取(二)共享内存的申请2、将共享内存段连接到进程地址空间3、将

Win安装MySQL8全过程

《Win安装MySQL8全过程》:本文主要介绍Win安装MySQL8全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Win安装mysql81、下载MySQL2、解压文件3、新建文件夹data,用于保存数据库数据文件4、在mysql根目录下新建文件my.ini

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完

最详细安装 PostgreSQL方法及常见问题解决

《最详细安装PostgreSQL方法及常见问题解决》:本文主要介绍最详细安装PostgreSQL方法及常见问题解决,介绍了在Windows系统上安装PostgreSQL及Linux系统上安装Po... 目录一、在 Windows 系统上安装 PostgreSQL1. 下载 PostgreSQL 安装包2.

Maven如何手动安装依赖到本地仓库

《Maven如何手动安装依赖到本地仓库》:本文主要介绍Maven如何手动安装依赖到本地仓库问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、下载依赖二、安装 JAR 文件到本地仓库三、验证安装四、在项目中使用该依赖1、注意事项2、额外提示总结一、下载依赖登

Linux命令之firewalld的用法

《Linux命令之firewalld的用法》:本文主要介绍Linux命令之firewalld的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux命令之firewalld1、程序包2、启动firewalld3、配置文件4、firewalld规则定义的九大

Linux之计划任务和调度命令at/cron详解

《Linux之计划任务和调度命令at/cron详解》:本文主要介绍Linux之计划任务和调度命令at/cron的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux计划任务和调度命令at/cron一、计划任务二、命令{at}介绍三、命令语法及功能 :at

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

如何在Mac上安装并配置JDK环境变量详细步骤

《如何在Mac上安装并配置JDK环境变量详细步骤》:本文主要介绍如何在Mac上安装并配置JDK环境变量详细步骤,包括下载JDK、安装JDK、配置环境变量、验证JDK配置以及可选地设置PowerSh... 目录步骤 1:下载JDK步骤 2:安装JDK步骤 3:配置环境变量1. 编辑~/.zshrc(对于zsh