Linux 35.5 + JetPack v5.1.3@FC-Planner编译安装

1. 源由

FC-Planner是一种复杂三维场景快速空中覆盖规划框架。

这个就是非常吸引人的东东,因为之前有简单呃呃了解过手持式三维光学扫描:(当然应该不仅限这几家,很多国外公司)

据了解手持式三维扫描主要是光学的扫描和建模,主要是精度和误差方面的问题。

而这个可以大面积、体积下的进行3D重建,对于今后的三维空间重建,包括虚拟化AR/VR都会有很大的处境,尤其是快速建模方面。

PS:相信大家在异形上看到过普罗米修斯那集,哪个探测球,就是利用这种三维技术,快速对外星飞船进行了3D重建。

2. 编译&安装

注1:不清楚ROS版本的,请先查看下版本,注意要ROS而非ROS2。

$ rosversion --distro
noetic

注2:基于FC-Planner最新github上的代码版本。

$ git log -n 1
commit bf57e48414b9de547b18d294f665d23cb3986fee (HEAD -> master, origin/master, origin/HEAD)
Author: Chen-Albert-FENG <chen835110460@qq.com>
Date:   Thu May 23 01:19:29 2024 +0800

    [pref]: remove deprecated functions

Step 1:依赖库安装

$ sudo apt-get install cpufrequtils libompl-dev

Step 2:克隆工程

$ git clone https://github.com/HKUST-Aerial-Robotics/FC-Planner.git

注:若存在网络问题,请使用git协议clone代码。git协议始终比https稳定,但需要注意ssh key的安装问题。

Step 3:编译工程

$ cd FC-Planner
$ catkin config -DCMAKE_BUILD_TYPE=Release
$ catkin build --cmake-args -Wno-dev

Step 4:LKH编译

这里埋下一个伏笔:因为笔者一开始并未注意这个,而且在RACER上面,这个LKH3.0.6版本已经安装,所以压根没有运行下面以下命令。

$ cd src/hierarchical_coverage_planner/solution/LKH
$ make

人总是有固定的思维逻辑,并且人总是容易忽视一些感觉自己知道的事情。如果严格的按照CheckList思想来做,这里就已经出问题了。

注:如果遇到了这个问题,可以参考补充里面笔者的处理方法。或者根据3.2章节的内容进行代码版本确认。

Step 5:安装工程

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

  • 运行Rviz虚拟环境
$ source devel/setup.bash && roslaunch hierarchical_coverage_planner rviz.launch
  • 运行模拟程序
$ source devel/setup.bash && roslaunch hierarchical_coverage_planner mbs.launch
  • 操作:先点击[2D Nav Goal]操作;然后点击[2D Pose Estimate]操作。
    在这里插入图片描述

在这里插入图片描述

3. 问题汇总

3.1 swarm_exploration/plan_env - OpenCV

$ git diff FC-Planner/src/plan_env/CMakeLists.txt
diff --git a/FC-Planner/src/plan_env/CMakeLists.txt b/FC-Planner/src/plan_env/CMakeLists.txt
index 06cc294..14773af 100755
--- a/FC-Planner/src/plan_env/CMakeLists.txt
+++ b/FC-Planner/src/plan_env/CMakeLists.txt
@@ -47,4 +47,5 @@ add_library( plan_env
 target_link_libraries( plan_env
     ${catkin_LIBRARIES}
     ${PCL_LIBRARIES}
+    ${OpenCV_LIBS}
     )

3.2 程序异常退出

**解决方案:**使用d47fe786d9b2d6之后的版本。

或者采用笔者的方法,将RACER下的LKH-3.0.6复制到对应的目录下替换LKH可执行文件,请参考:《Linux 35.5 + JetPack v5.1.3@RACER编译安装》

4. 总结

总体来说,非常高兴看到这个效果,后续逐步研究深入吧。

Jetson Orin Nano | FC-Planner simulation

5. 补充:LKH-3安装

LKH-3 是 LKH-2 的扩展,用于解决受约束的旅行商和车辆路径问题。

注:推荐LKH-3.0.6,当前最新版本LKH-3.0.9。

$ wget http://akira.ruc.dk/~keld/research/LKH-3/LKH-3.0.6.tgz
$ tar xvfz LKH-3.0.6.tgz
$ cd LKH-3.0.6
$ make
$ sudo cp LKH /usr/local/bin

5.1 FC-Planner替换LKH

二进制直接替换:

$ pwd
/home/daniel/HKUST/FC-Planner/FC-Planner/src/hierarchical_coverage_planner/solution/LKH
$ cp /usr/local/bin/LKH LKH

5.2 FC-Planner采用三方库

修改LKH相关脚本和路径:

./hierarchical_coverage_planner/src/hcsolver.cpp:97:      string command_ = "cd " + GlobalSolver_ + " && ./LKH " + GlobalPar_;
./hierarchical_coverage_planner/src/hcsolver.cpp:987:    local_command_ = "cd " + GlobalSolver_ + " && ./LKH " + LocalParF_;
./hierarchical_coverage_planner/launch/pipe.launch:96:  <param name="hcplanner/global_solver" value="$(find hierarchical_coverage_planner)/solution/LKH" type="string"/>
./hierarchical_coverage_planner/launch/mbs.launch:96:  <param name="hcplanner/global_solver" value="$(find hierarchical_coverage_planner)/solution/LKH" type="string"/>
./hierarchical_coverage_planner/launch/christ.launch:97:  <param name="hcplanner/global_solver" value="$(find hierarchical_coverage_planner)/solution/LKH" type="string"/>

相关推荐

  1. linux 编译安装libzmq

    2024-06-07 15:52:06       36 阅读
  2. GCC 安装编译linux

    2024-06-07 15:52:06       38 阅读
  3. LInux、源码编译安装

    2024-06-07 15:52:06       32 阅读
  4. linux编辑安装

    2024-06-07 15:52:06       7 阅读
  5. Linux——MySQL5.7编译安装、RPM安装、yum安装

    2024-06-07 15:52:06       13 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-07 15:52:06       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-07 15:52:06       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-07 15:52:06       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-07 15:52:06       20 阅读

热门阅读

  1. Playwright的browser、context、page三层结构

    2024-06-07 15:52:06       9 阅读
  2. Rust 实现 kvmsample

    2024-06-07 15:52:06       9 阅读
  3. SVN中trunk,branch,tag

    2024-06-07 15:52:06       9 阅读
  4. git拉取合并分支冲突解决

    2024-06-07 15:52:06       11 阅读
  5. Unity Shader基础知识的入门了解

    2024-06-07 15:52:06       12 阅读
  6. 【Android】解决AndroidStudio无法预览layout.xml的问题

    2024-06-07 15:52:06       10 阅读
  7. 云WAF的负载均衡和流量分发功能

    2024-06-07 15:52:06       11 阅读
  8. Android - RadioGroup中多个radiobutton同时被选中问题

    2024-06-07 15:52:06       7 阅读
  9. CSS -webkit-text-security

    2024-06-07 15:52:06       8 阅读
  10. PDF格式分析(八十五)——水印注释(Watermark)

    2024-06-07 15:52:06       13 阅读