【CMU-自主导航与规划】Autonomous Exploration Development Environment 配置与运行

本文主要是介绍【CMU-自主导航与规划】Autonomous Exploration Development Environment 配置与运行,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

官方文档:https://www.cmu-exploration.com/

一、安装与配置:

适用版本: Ubuntu 18.04 ROS Melodic and Ubuntu 20.04 with ROS Noetic.
如果使用 Ubuntu 22.04 with ROS2 Humble, 则需要配置ROS2【https://drive.google.com/file/d/1a01RSrPFan9SV2g2BFP_8GGtnamAdGIc/view?usp=sharing】

git clone https://github.com/HongbiaoZ/autonomous_exploration_development_environment.git
cd autonomous_exploration_development_environment
git checkout distribution
catkin_make

如果报错:

CMake Error at /usr/share/cmake-3.16/Modules/FindPkgConfig.cmake:707 (message):None of the required 'libusb' found

安装:

sudo apt-get install libusb-dev
  • 通过执行脚本下载仿真环境(500M左右):
./src/vehicle_simulator/mesh/download_environments.sh

如果不能顺利下载,那么通过https://drive.google.com/file/d/1GMT8tptb3nAb87F8eFfmIgjma6Bu0reV/view进行下载,并放置在:src/vehicle_simulator/meshes

二、启动:

source devel/setup.sh
roslaunch vehicle_simulator system_garage.launch
  • 发布waypoint进行执行:
roslaunch waypoint_example waypoint_example_garage.launch

使用不同虚拟环境: ‘campus’, ‘indoor’, ‘garage’, ‘tunnel’, and ‘forest’.

 roslaunch vehicle_simulator system_[environment].launch    ## []更换为上面的名字

在这里插入图片描述

例如forest的效果:
在这里插入图片描述

indoor效果:
在这里插入图片描述

三、自动导航模型

是否发送导航的边界以及速度是可选的。默认速度为2m/s。发送信息示例位于包waypoint_example
其中:
在这里插入图片描述

  • 避障:位于包local_planner
    运动基元(动力学模型?)预先加载在模型中;
    坐标框表示车辆,黄点表示无碰撞路径;
    路线规划器会沿路线发送车辆附近的路点,使用来自terrain_analysis包的地形图来确定地形的可穿越性

  • 地形可穿越性分析:
    terrain_analysis包分析地形的局部平滑度,并将成本关联到地形图上的每个点
    系统发布地形图消息,其中每个消息包含一组’pcl::PointXYZI’类型的点。x, y, z的一个点表示的坐标和强度字段存储成本。地形地图以车辆为中心,覆盖10m × 10m的区域。
    terrain_analysis_ext包将地形图扩展到40m x 40m的区域。扩展的地形图将激光雷达点保持在10秒的滑动窗口内,距离车辆4米以内的非衰减区域。
    在自主导航系统中,地形图由避碰模块使用,扩展地形图由高级规划模块使用。要在RVIZ中查看地形图或扩展地形图,单击“面板->显示”并选中“terrainMap”或“terrainMapExt”。绿色的点是可穿越的,红色的点是不可穿越的。

在这里插入图片描述

  • 路点跟踪:
    在接收到路点后,系统将车辆引导到该路点。有关调整路径跟随控制的信息,即速度,偏航率,加速度,前视距离,增益和改变车辆大小,参考https://github.com/jizhang-cmu/ground_based_autonomy_basic

四、显示

通过点击“面板->显示”并勾选“overallMap”、“探索区域”和“轨迹”,可以在RVIZ中查看环境、探索区域和车辆轨迹的整体地图。
此外,系统实时绘制三个指标,分别可视化探索体积、行驶距离和算法运行时间。要绘制运行时,用户需要将这些数字作为以下ROS主题的消息发送。
在这里插入图片描述

在运行结束时,记录的指标与车辆轨迹一起保存到src/vehicle_simulator/log文件中。
请注意,由于Gazebo的繁重CPU负载,实时因子< 1 -模拟时钟比真实时钟慢。这里,我们使用模拟时钟来记录运行的时间持续时间,因为它受不同计算机上时钟速度的影响较小

效果:
在这里插入图片描述
视频如下:

autonomous_exploration

这篇关于【CMU-自主导航与规划】Autonomous Exploration Development Environment 配置与运行的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

springboot security之前后端分离配置方式

《springbootsecurity之前后端分离配置方式》:本文主要介绍springbootsecurity之前后端分离配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的... 目录前言自定义配置认证失败自定义处理登录相关接口匿名访问前置文章总结前言spring boot secu

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

SpringBoot中封装Cors自动配置方式

《SpringBoot中封装Cors自动配置方式》:本文主要介绍SpringBoot中封装Cors自动配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot封装Cors自动配置背景实现步骤1. 创建 GlobalCorsProperties

Spring Boot结成MyBatis-Plus最全配置指南

《SpringBoot结成MyBatis-Plus最全配置指南》本文主要介绍了SpringBoot结成MyBatis-Plus最全配置指南,包括依赖引入、配置数据源、Mapper扫描、基本CRUD操... 目录前言详细操作一.创建项目并引入相关依赖二.配置数据源信息三.编写相关代码查zsRArly询数据库数

SpringBoot配置Ollama实现本地部署DeepSeek

《SpringBoot配置Ollama实现本地部署DeepSeek》本文主要介绍了在本地环境中使用Ollama配置DeepSeek模型,并在IntelliJIDEA中创建一个Sprin... 目录前言详细步骤一、本地配置DeepSeek二、SpringBoot项目调用本地DeepSeek前言随着人工智能技

如何自定义Nginx JSON日志格式配置

《如何自定义NginxJSON日志格式配置》Nginx作为最流行的Web服务器之一,其灵活的日志配置能力允许我们根据需求定制日志格式,本文将详细介绍如何配置Nginx以JSON格式记录访问日志,这种... 目录前言为什么选择jsON格式日志?配置步骤详解1. 安装Nginx服务2. 自定义JSON日志格式各

使用Python实现网络设备配置备份与恢复

《使用Python实现网络设备配置备份与恢复》网络设备配置备份与恢复在网络安全管理中起着至关重要的作用,本文为大家介绍了如何通过Python实现网络设备配置备份与恢复,需要的可以参考下... 目录一、网络设备配置备份与恢复的概念与重要性二、网络设备配置备份与恢复的分类三、python网络设备配置备份与恢复实