查看原文
其他

战争还是菜场?导弹还是快递?无人机的未来由你决定

TJ TJ君 2021-11-13

最近不怎么看国际新闻的小编都知道美国在阿富汗闹了个灰头土脸,不仅在国际上丢尽颜面,还等同于自己遗留在阿富汗的各种先进武器都送给了塔利班武装。

小编不知怎么就想起了曾经看到过的利用无人机攻击恐怖分子的片段,不管怎么说,似乎是对当下阿富汗局势一个完美的讽刺。

但是小编觉得无人机技术的应用场景还是非常广阔的,今天就给大家介绍一个关于无人机的开源项目!

这个项目是一个无人机智能路径规划仿真系统,是一个操作控制精细、平台集成性强、全方位建模和应用自动化的软件。

项目以目标C区为目的地,A国和B国在此地之间的无人机战争为故事背景。该系统的核心功能是通过仿真平台规划无人机航路,并验证输出。数据可以导入到真实的无人机中,使其按照指定的路线准确到达战场上的任何位置,支持多人多设备编队的联合行动。(当然小编想的更多的是无人机送快递之类的便民措施...似乎格局小了点...

项目以开源SITL无人机仿真平台为支撑,通过FlightGear渲染真实战场环境、集成建模、二维垂直、三维动态模型仿真、脚本控制、地面站监控、数据处理等功能,该仿真系统支持多种全球地图加载,模拟关键区域的三维环境,可用于全球各地的遥感监控场景中。(小编想的还是全球各地的居民区里怎么翻江倒海的绕过各种洗衣架把快递按时送到,使命必达~

小编先带你看下整个系统的初步设置界面:

不花哨的风格更加适合这种军事风格(快递风格

整体的架构图如下:

其中的这些不同模块,像任务计时、AI避障、视图回传、路径规划,真真的是为了小编心中念念不忘的快递事业量身定做的!

再看一眼代码示例:

什么?光看代码不够直接?行,我们再来看下多维视图效果:

无人机的控制模式有三种,分为控制台控制、智能控制和地面台控制

也许是小编导航开车看多了,总觉得第三种效果地面台控制,看着顺眼多了。。。

当然,为无人机制定飞行任务,也是一目了然:

无人机的路径算法基于一套开源算法库(Huiming Zhou's open source algorithm library (ZHM-Real /PathPlanning)),进行了无人机特有的优化

我们再看下整体的项目目录机构:

drone_PathPlanning
 ├─fence.txt
 ├─leaflet_folium_plot.py
 ├─mission.waypoints
 │          
 ├─folium-0.12.1
 │              
 ├─leaflet
 │          
 ├─results
 │      
 ├─Sampling_based_Planning
 │  ├─algorithm_mission_rrt2D
 │  │      algorithm_mission_batch_informed_trees.waypoints
 │  │      algorithm_mission_dubins_rrt_star.waypoints
 │  │      algorithm_mission_dynamic_rrt.waypoints
 │  │      algorithm_mission_extended_rrt.waypoints
 │  │      algorithm_mission_fast_marching_trees.waypoints
 │  │      algorithm_mission_informed_rrt_star.waypoints
 │  │      algorithm_mission_rrt.waypoints
 │  │      algorithm_mission_rrt_connect.waypoints
 │  │      algorithm_mission_rrt_star.waypoints
 │  │      algorithm_mission_rrt_star_smart.waypoints
 │  │      
 │  ├─indoor_obstacle_avoidance_rrt3D
 │  │      IOAPath_rrt3D.waypoints
 │  │      IOAPath_rrt_star3D.waypoints
 │  │      IOA_BIT_star3D.waypoints
 │  │      IOA_extend_rrt3D.waypoints
 │  │      
 │  ├─rrt_2D
 │  │      batch_informed_trees.py
 │  │      draw.py
 │  │      dubins_path.py
 │  │      dubins_rrt_star.py
 │  │      dynamic_rrt.py
 │  │      env.py
 │  │      extended_rrt.py
 │  │      fast_marching_trees.py
 │  │      informed_rrt_star.py
 │  │      judge.py
 │  │      plotting.py
 │  │      queue.py
 │  │      rrt.py
 │  │      rrt_connect.py
 │  │      rrt_star.py
 │  │      rrt_star_smart.py
 │  │      utils.py
 │  │      __init__.py
 │  │          
 │  ├─rrt_2D_路径优化效果图
 │  │      
 │  ├─rrt_3D
 │  │     ABIT_star3D.py
 │  │     BIT_star3D.py
 │  │     dynamic_rrt3D.py
 │  │     env3D.py
 │  │     extend_rrt3D.py
 │  │     FMT_star3D.py
 │  │     informed_rrt_star3D.py
 │  │     plot_util3D.py
 │  │     queueL.py
 │  │     rrt3D.py
 │  │     rrt_connect3D.py
 │  │     rrt_star3D.py
 │  │     utils3D.py
 │  │          
 │  └─rrt_3D_室内避障效果图
 │          
 └─Search_based_Planning
  ├─algorithm_mission_Search2D
  │      algorithm_mission_Anytime_D_star.waypoints
  │      algorithm_mission_ARAstar.waypoints
  │      algorithm_mission_Astar.waypoints
  │      algorithm_mission_Best_First.waypoints
  │      algorithm_mission_bfs.waypoints
  │      algorithm_mission_Bidirectional_a_star.waypoints
  │      algorithm_mission_Bidirectional_dfs.waypoints
  │      algorithm_mission_Bidirectional_Dijkstra.waypoints
  │      algorithm_mission_Bidirectional_D_star.waypoints
  │      algorithm_mission_Bidirectional_D_star_Lite.waypoints
  │      algorithm_mission_Bidirectional_LPAstar.waypoints
  │      algorithm_mission_Bidirectional_LRTAstar.waypoints
  │      algorithm_mission_Bidirectional_RTAAStar.waypoints
  │      
  ├─indoor_obstacle_avoidance_Search_3D
  │      IOA_Anytime_Dstar3D.waypoints
  │      IOA_Astar3D.waypoints
  │      IOA_bidirectional_Astar3D.waypoints
  │      IOA_Dstar3D.waypoints
  │      IOA_DstarLite3D.waypoints
  │      IOA_LP_Astar3D.waypoints
  │      IOA_LRT_Astar3D.waypoints
  │      IOA_RTA_Astar3D.waypoints
  │      
  ├─Search_2D
  │     Anytime_D_star.py
  │     ARAstar.py
  │     Astar.py
  │     Best_First.py
  │     bfs.py
  │     Bidirectional_a_star.py
  │     dfs.py
  │     Dijkstra.py
  │     D_star.py
  │     D_star_Lite.py
  │     env.py
  │     LPAstar.py
  │     LRTAstar.py
  │     plotting.py
  │     queueL.py
  │     RTAAStar.py
  │          
  ├─Search_2D_路径优化效果图
  │      
  ├─Search_3D
  │     Anytime_Dstar3D.py
  │     Astar3D.py
  │     bidirectional_Astar3D.py
  │     Dstar3D.py
  │     DstarLite3D.py
  │     env3D.py
  │     LP_Astar3D.py
  │     LRT_Astar3D.py
  │     plot_util3D.py
  │     queueL.py
  │     RTA_Astar3D.py
  │     utils3D.py
  │          
  └─Search_3D_室内避障效果图
    

以下是系统记录下来的各种避障路线:

非常难能可贵的是,这个项目里的无人机还能应对各种室内情况进行路线选择,因为室内结构空间狭小、干扰因素多,一般来说对算法的挑战性更高更大,演示路线如下:

小编现在想的是无人机穿梭在各种菜市场里完成买菜送菜任务~

为了优化无人机机群的飞行路径,作者还添加了随机路径优化算法聚类、区域路径随机生成、区域路径最短距离第一生成算法。

到目前为止,根据有关部门的统计信息,有40多个国家从事无人机的研究和生产,60多个国家正在使用无人机。也许在战场上使用无人机是战争的未来。但除了军用,民用市场也是同样需要无人机的哦~

不管怎么说,到底是军用还是民用,整个系统吸收了国外的研究成果,将Linux系统的操作环境重新编译移植到Windows等操作系统中,除仿真三维环境模块外,还采用Python语言编写程序。PyQT5编制的软件界面集成了软件的各个模块,增加了后台提示功能,设计了智能控制脚本,简化了系统的使用过程,并集成了FlightGear模拟器和MissionPlanner地面站程序进行可视化,以提高无人机真实飞行轨迹的精度,明确飞行计划为根本目的。

不管是发导弹还是送快递,不管是打击罪犯还是买菜送菜,留给无人机的市场是整片天空,想提前感受下的,赶紧和小编一起看下整个项目吧,文中图片均来自项目GitHub地址,感兴趣的小伙伴GoGoGoGo

点击下方卡片,关注公众号“TJ君

回复“无人机”,获取项目地址


往期推荐

自己做个网盘?当然没问题
一做就做一天,这天天做谁受得了
打飞机也是这么的快乐!


大家好,我是TJ

一个励志推荐10000款开源项目与工具的程序员

欢迎关注我,了解多好玩、有趣的科技资讯

: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存