首页 > 其他分享 >单无人机自主搜索

单无人机自主搜索

时间:2024-08-05 12:54:57浏览次数:6  
标签:sudo rosnoetic 自主 apt uav explore 搜索 无人机 VirtualBox

6.1.1 单无人机自主搜索

参考教程:

HKUST-Aerial-Robotics/FUEL: An Efficient Framework for Fast UAV Exploration (github.com)

1. 查看系统环境

要运行本仿真程序,需要保证当前环境为ubuntu18.04+ros-melodic-desktop-full

查看ubuntu版本:

rosnoetic@rosnoetic-VirtualBox:~$ lsb_release -a

No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.6 LTS
Release:	18.04
Codename:	bionic

可知,当前ubuntu版本满足18.04

查看ros版本:

rosnoetic@rosnoetic-VirtualBox:~$ rosversion -d

melodic

可知,当前ros版本满足melodic

2. 安装依赖

ctrl+alt+T打开终端,执行如下指令下载相关依赖

rosnoetic@rosnoetic-VirtualBox:~$ sudo apt-get install libarmadillo-dev ros-melodic-nlopt libelf-dev libdw-dev
  • 如果出现错误:E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用)

    我们在使用Ubuntu系统时经常性使用sudo apt install命令安装所需要的软件库,偶尔会出现如下问题:

    解决方法

    首先我们需要检测进程都有哪些:

    rosnoetic@rosnoetic-VirtualBox:~$ ps -e | grep apt
    

    我这里显示

    接下来杀死这些进程(需要根据你自己的进程ID更改命令)

    rosnoetic@rosnoetic-VirtualBox:~$ sudo kill 2746
    
    rosnoetic@rosnoetic-VirtualBox:~$ sudo kill 2750
    

    根据实际操作,一般只用执行第一句话就可以了,第二个进行会跟着一起被杀死。

    接下来非常重要:

    rosnoetic@rosnoetic-VirtualBox:~$ sudo rm /var/lib/dpkg/lock-frontend 
    
    rosnoetic@rosnoetic-VirtualBox:~$ sudo rm /var/cache/apt/archives/lock
    
    rosnoetic@rosnoetic-VirtualBox:~$ sudo rm /var/lib/dpkg/lock 
    
    rosnoetic@rosnoetic-VirtualBox:~$ sudo rm /var/cache/apt/archives/lock
    

    执行完一般都会解决问题

    如果还提示错误,先更新:

    rosnoetic@rosnoetic-VirtualBox:~$ sudo apt-get update
    

3. 下载源码并编译

ctrl+alt+T打开终端,并执行如下指令创建工作空间

rosnoetic@rosnoetic-VirtualBox:~$ mkdir -p uav_explore/src

进入uav_explore/src文件夹下载源码:

rosnoetic@rosnoetic-VirtualBox:~$ cd uav_explore/src/

rosnoetic@rosnoetic-VirtualBox:~/uav_explore/src$ git clone https://github.com/HKUST-Aerial-Robotics/FUEL.git

编译源码:

rosnoetic@rosnoetic-VirtualBox:~$ cd uav_explore/

rosnoetic@rosnoetic-VirtualBox:~/uav_explore$ catkin_make
  • 编译过程

4. 运行

4.1 扩大内存

首先关闭交换分区

rosnoetic@rosnoetic-VirtualBox:~$ sudo swapoff /swapfile

接着创建分区, 4 * 1024 = 4096创建 4 G 的内存分区

rosnoetic@rosnoetic-VirtualBox:~$ sudo dd if=/dev/zero of=/swapfile bs=1M count=4096

继续执行如下指令:

rosnoetic@rosnoetic-VirtualBox:~$ sudo mkswap /swapfile

rosnoetic@rosnoetic-VirtualBox:~$ sudo swapon /swapfile

创建完交换分区之后就可以继续编译。

也可以查看分区的大小

rosnoetic@rosnoetic-VirtualBox:~$ free -m

  • 如果不需要用交换内存,则执行如下指令进行关闭

    rosnoetic@rosnoetic-VirtualBox:~$ sudo swapoff /swapfile
    
    rosnoetic@rosnoetic-VirtualBox:~$ sudo rm /swapfile
    

4.2 启动仿真

ctrl+alt+T打开终端,执行如下指令启动可视化

rosnoetic@rosnoetic-VirtualBox:~$ cd uav_explore/

rosnoetic@rosnoetic-VirtualBox:~/uav_explore$ source ./devel/setup.bash 

rosnoetic@rosnoetic-VirtualBox:~/uav_explore$ roslaunch exploration_manager rviz.launch

ctrl+alt+T打开终端,执行如下指令启动协同仿真

rosnoetic@rosnoetic-VirtualBox:~$ cd uav_explore/

rosnoetic@rosnoetic-VirtualBox:~/uav_explore$ source ./devel/setup.bash 

rosnoetic@rosnoetic-VirtualBox:~/uav_explore$ roslaunch exploration_manager exploration.launch

点击Rviz软件的2D Nav Goal设置目标,启动无人机运动:

接着就可以看到无人机开始搜索,完成对地图的探索功能

标签:sudo,rosnoetic,自主,apt,uav,explore,搜索,无人机,VirtualBox
From: https://www.cnblogs.com/windandchimes/p/18343008

相关文章

  • 6.1.1 FUEL单无人机自主搜索
    6.1.1单无人机自主搜索参考教程:HKUST-Aerial-Robotics/FUEL:AnEfficientFrameworkforFastUAVExploration(github.com)1.查看系统环境要运行本仿真程序,需要保证当前环境为ubuntu18.04+ros-melodic-desktop-full查看ubuntu版本:rosnoetic@rosnoetic-VirtualBo......
  • 软件工程专业导论大作业-关于华为自主研发的新编程语言基本原理其应用场景分析
    摘 要在2024年6月21日的华为开发者大会上,华为宣布了其自主研发的全新编程语言——“仓颉”。这一语言的推出旨在为其“升腾”AI芯片和云原生应用开发提供强大支持,并且有助于构建全球技术生态系统。“仓颉”编程语言特别设计以应对华为“升腾”AI芯片的需求,并且专注于硬件和......
  • 代码随想录day20 || 235 二叉搜索树最近公共祖先,701 二叉搜索树插入,450,二叉搜索树删除
    235二叉搜索树最近公共祖先unclowestCommonAncestor(root,p,q*TreeNode)*TreeNode{ //本题相较于普通二叉树寻找最近公共祖先加了题设条件二叉搜索树,所以使用二叉搜索树特性 //如果root大于两个目标节点,那么目标都在root左子树 //如果root小于两个目标节点,那么目......
  • 图片搜索网站,有大量高清图片,避免版权纠纷
    一、简介1、一个图片搜索网站,所有图片均遵循CC0协议,用户可以免费用于商业用途而无需标注来源。网站上有大量高清图片,基本可以满足用户的各种需求,同时避免了法律风险。提供强大的筛选功能,用户可以按图片方向、尺寸和颜色筛选,还会推荐相似内容。用户可以点赞、收藏和分享查看......
  • 如何创建搜索框
    文章目录1.概念介绍2.使用方法3.代码与效果3.1示例代码3.2运行效果4.内容总结我们在上一章回中介绍了"Material3中的IconButton"相关的内容,本章回中将介绍SearchBar组件.闲话休提,让我们一起TalkFlutter吧。1.概念介绍我们在本章回中介绍的SearchBar是指......
  • 动态规划与搜索练习
    这是我搜集到的一些动态规划和搜索的练习题搜索小练习动态规划小练习祝你CSP拿到\(^{一等奖}_{一等奖}\)!这是解析动态规划一、双子序列最大和由于两个子序列不重叠,显然的这两个子序列之间一定有一个断点。要求两个子序列之和最大值,可以枚举断点的位置,对比每个断点下左序......
  • 无人机之环境监测篇
       无人机在各个领域的应用越来越广泛,环境监测便是其中之一,它们能够提供高效、安全、经济的监测手段,帮助科学家和管理者更好的理解环境状况并采取相应措施。一、污染监测   无人机可以搭载各种传感器,如气体检测器、红外热像仪等,用于监测空气和水质污染。它们能够快......
  • (11-1)基于SLAM的自主路径导航系统:背景介绍+项目介绍
    在本章的内容中,通过具体实例展示了实现一个自主路径导航系统的过程。本项目利用TurtleBot3机器人和ROS框架实现了自主路径规划功能,通过SLAM技术进行实时地图建立和定位,并结合move_base包实现路径规划。用户可以根据需求选择不同的SLAM方法,包括gmapping、cartographer、hector......
  • 代码随想录算法训练营Day18 | Leetcode 530 二叉搜索树的最小绝对差 Leetcode 236 二
    前言今天有一道题目没写,二叉搜索树中的众数,有点太难理解了,先放一放。Leetcode530二叉搜索树的最小绝对差题目链接:530.二叉搜索树的最小绝对差-力扣(LeetCode)代码随想录题解:代码随想录(programmercarl.com)思路:二叉搜索树的性质是中序遍历为升序的,所以我们想找最小绝......
  • 【算法】浅析深度优先搜索算法
    深度优先搜索算法:深入探索,穷尽可能1.引言在计算机科学中,深度优先搜索(Depth-FirstSearch,简称DFS)是一种用于遍历或搜索树或图的算法。这种算法会沿着一个分支走到底,直到这个分支结束,然后回溯到上一个分叉点,继续探索下一个分支。本文将介绍深度优先搜索算法的原理、实现方......