23.Isaac教程--Isaac导航

news2024/11/24 2:46:55

Isaac导航

ISAAC教程合集地址: https://blog.csdn.net/kunhe0512/category_12163211.html
在这里插入图片描述

节点和消息

Isaac 应用程序由多个节点创建。 导航堆栈具有以下节点:

  • GlobalLocalization:在没有先验信息的情况下,仅使用当前范围扫描测量来估计地图中机器人的位姿。

  • ParticleFilterLocalization:使用范围扫描测量持续跟踪机器人的姿态。

  • GlobalPlanner:使用当前已知的地图和其他障碍物(例如限制区域、附近的障碍物等)计算到目标的路径。 Global Planner 使用可见性图算法。 为了获得更好的性能,我们建议通过增加随机样本的数量来构建一个大(密集)图。 如果构建图形太慢,可以从文件加载预构建图形。

  • GlobalPlannerSmoother:使用捷径和其他策略改进 Global Planner 路径。

  • LqrPlanner:计算机器人的最佳轨迹,使其在所需路径上平稳行驶。

  • DifferentialBaseControl:一个基本控制器,使用基本轨迹计划输出当前基本命令消息。

  • LocalMap:使用范围扫描测量创建机器人周围障碍物的表示。

  • DifferentialBaseOdometry:使用差分基础的里程计估计来估计机器人的自我运动。

  • 地图:提供环境地图到其他各种节点。

  • ObstacleAtlas:提供所有障碍物列表的接口,包括全局地图、局部地图、禁区等。

  • RobotModel:提供距离扫描模型和差分基础模型,以支持其他各种节点的计算。 可以使用重叠圆的列表来描述机器人的形状。

  • Websight:将所有节点的各种可视化和绘图数据发布到 Web 前端。

节点相互发送消息,如下图中的箭头所示。 使用消息传递将应用程序分成模块化实体。 节点可以并行执行并定期运行或在收到新消息时运行。 一些节点,如地图或范围扫描模型,不发布消息但充当服务提供者,其他节点直接链接到它们。

导航堆栈具有以下传入和传出消息类型。 除了这些消息之外,导航堆栈还使用各种内部消息在其各个节点之间进行通信。

  • RangeScanProto:平面范围扫描,包含传感器周围极坐标扫描中到障碍物的距离。 例如,这可以通过 Velodyne Puck 等激光雷达传感器计算得出。

  • GoalProto:包含所需目标姿势的消息。

  • DifferentialBaseControl:控制器产生的差分底座的所需运动。 平稳安全,可直接用于驱动机器人。

多激光雷达全局定位

Isaac SDK 全局定位组件 GridSearchLocalizer 允许您使用任意数量的 LIDAR 设备在已知的占用网格地图中执行定位。 每个 LIDAR 设备在 flatscan_frames 参数中都有一个条目,表示其相对于机器人中心的坐标系。 每个 LIDAR 设备也有一个唯一的通道用于接收 flatscan 消息:这些通道列在 flatscan_channel_names 参数中。

例如,如果您有两个 LIDAR 传感器:

  • LIDAR 1,带有坐标系 lidar_1 和传入消息通道 flatscan_1

  • LIDAR 2,坐标系 lidar_2 和传入消息通道 flatscan_2

GridSearchLocalizer 的参数如下:

flatscan_frames: ["lidar_1", "lidar_2"]
flatscan_channel_names: ["flatscan_1", "flatscan_2"]

请注意,每个列表中的条目都是相关的:flatscan_frames 中的第 n 个条目对应于 flatscan_channel_names 中的第 n 个条目。

指定这些参数后,将平面扫描源(即 LIDAR 驱动程序组件)的边缘连接到 GridSearchLocalizer 上的传入通道(例如 flatscan_1 和 flatscan_2)。 定位器组件会一直等待,直到在每个已注册的通道上至少收到一条消息,并且 flatscan_frames 列表中的所有坐标系都可用。 然后它制定一个优化问题并使用 GPU 解决它。

更多精彩内容:

https://www.nvidia.cn/gtc-global/?ncid=ref-dev-876561

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/168580.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【JavaGuide面试总结】MySQL篇·上

【JavaGuide面试总结】MySQL篇上1.SQL语句在MySQL中的执行过程MySQL架构Server 层基本组件介绍查询语句分析更新语句分析总结2.MySQL更新语句为什么要用两个日志模块,用一个日志模块不行吗?3.MySQL 支持哪些存储引擎?默认使用哪个?4.MySQL 存…

虹科分享 | TSN时间敏感网络测试框架

一、时间敏感网络 时间敏感网络(TSN)允许合并OT和IT世界,并保证确定性以太网网络中所有设备的互操作性和标准化。TSN建立在一个真正成熟的生态系统中(如以太网),因此大家认为TSN将是下一代工业网络通信的核…

top命令详解

1. 命令参数 d : 监控内容刷新的时间间隔。 n : 限定监控内容刷新的次数,完成后将会退出 top 视图。 p : 只监控指定PID的进程。 -b : 以非交互非全屏模式运行,一般配合-n指定输出几次统计信息,将输出重定向到指定文件,比如 top …

二分查找----C/C++

目录 1. 二分查找的概念 2. 整数的二分 2.1 二分的模版一 2.2 二分的模版二 2.3. 案例剖析 2.4.整数二分总结 3. 浮点数的二分 1. 二分查找的概念 折半查找(BinarySearch)技术,又称为二分查找。它的前提是线性表中的记录 必须是关键码有序(通常从小到大有序)&a…

mysql 分库分表、 分区(partition)、sharding-sphere 综合整理

引言: 一般情况下,如果单表数据量超过2000w的样子查询速度会很慢,因为内存无法存储其索引,使得之后的 SQL 查询会产生磁盘 IO,从而导致性能下降。解决方案:mysql 分区 、 分表处理 分库分表: 原…

【匠心打造】从0打造uniapp 可视化拖拽设计 c_o 第六篇

1、这个版本的变化是左侧增加了布局设计和包资源管理器 包资源管理器:eclipse的特称,左侧的项目管理。和hbuildx左侧类似 项目的整体设计结构如下: v1.0 普通模式:支持新建前端项目,拖拽,且生成前端项目&#xff08…

基于“遥感+”蓝碳储量估算、红树林信息提取实践技术应用与科研论文写作

目录 “遥感”助推蓝碳生态系统碳储量调查简介 第一章 高光谱遥感数据介绍及预处理 第二章 光谱特征分析与参量提取 第三章 高光谱遥感数据分类与制图 第四章 GEE数据处理介绍 第五章 碳储量时空变化与预测 大气温室气体浓度不断增加,导致气候变暖加剧&#x…

DFS的树上应用

目录 一、前言 二、树上的DFS 1、树的重心 2、树的重心例题 3、树的直径 4、树的直径例题 (1)做两次DFS 三、拓扑排序与DFS 1、用DFS解拓扑排序 2、欧拉路与DFS 3、用DFS输出一个欧拉回路 一、前言 本文主要讲了树上的DFS、树的重心、树的直…

538. 把二叉搜索树转换为累加树

538. 把二叉搜索树转换为累加树 难度中等 给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。 提醒一下&am…

关于浮点数使用的两个注意事项(C/C++)

目录 一.回顾浮点数的存储与读取 二.浮点数使用的第一个注意事项 三.浮点数使用的第二个注意事项 附: 观察内存中的FLT_MAX和FLT_MIN 一.回顾浮点数的存储与读取 http://t.csdn.cn/oVwte 浮点数的存入与读取流程总览: 二.浮点数使用的第一个注意事…

理解实现八大排序

目录 一、初步认识 二、直接插入排序 三、希尔排序 四、直接选择排序 五、堆排序 六、冒泡排序 七、快速排序 7.1 Hoare版本 7.2 挖坑法 7.3 前后指针法 7.4 非递归 7.5 优化方法 7.5.1 三数取中 7.5.2 小区间优化 八、归并排序 九、计数排序 一、初步认识 排…

Netty入门

二. Netty 入门 1. 概述 1.1 Netty 是什么? Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients.Netty 是一个异步的、基于事件驱动的网络应用框架&…

简单开发网站+HTML标签

目录 一、学习路线 二、快速开发网站 1、简单demo 2、浏览器能识别的标签 ① 编码② Title ③ 标题 ④ div和span ⑤ 超链接 ⑥ 图片⑦ 列表 ⑧ 表格 ⑨ input系列 ⑩ 下拉框 ⑪ 多行文本 三、网络请求 四、案例 1、用户注册 2、用户登录 五、小结 1、学习标签的总…

网易互客CRM 微盟系统 管易系统 金蝶系统对接集成整体解决方案

前言:大部分的企业都可能只用一套系统组织架构复杂,业务流程繁琐,内部同时有CRM系统、OMS系统、ERP系统......且各个系统都需要独立登陆,造成IT部门数据监管困难!如何在同一套中台系统上关联多管理系统呢?系…

【GD32F427开发板试用】-03-定时器1 的不算坑的坑和时钟设置

本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动,更多开发板试用活动请关注极术社区网站。作者:申小林 先说一下我使用定时器1 的时候吧,最开始我以为定时器1是挂在APB1上的,随意按照惯性思维,定时器的时…

vue3使用svg图标多种方式

方式1使用在线链接访问 在iconfont找到自己的项目的图标选择Symbol获取在线链接 2&#xff1a;在vue3项目中找到public的index.html进行script进行引入 打开浏览器看&#xff1a;这样就会自动注入到body下 在项目直接使用 //控制图标的大小<svg style"width: 10px; …

SAP ABAP 函数组组件缺失检查

有没有遇到如下几个场景 场景1 开发1&#xff0c;新建函数组1&#xff0c;创建函数1 开发2&#xff0c;在函数组1里&#xff0c;创建函数2 两者都传Q测试&#xff0c;开发2的先QAT完后发布生产&#xff0c;请求dump&#xff0c;找不到函数2 场景2 函数组1已传生产 开发1&#x…

编解码-性能优化-SIMD

文章目录前言MMXSSEAVX使用内置函数使用SSE/AVX命名规则SSE/AVX操作类别实战汇编使用优化前代码详解优化后代码详解引用文章#mermaid-svg-cWLDz5Rki1i4TgZ1 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#fff;}#mermaid-svg-cWLDz5Rki…

【JavaGuide面试总结】MySQL篇·中

【JavaGuide面试总结】MySQL篇中1.MySQL 的隔离级别是基于锁实现的吗&#xff1f;2.表级锁和行级锁了解吗&#xff1f;有什么区别&#xff1f;3.共享锁和排他锁简单说说4.意向锁有什么作用&#xff1f;5.InnoDB 有哪几类行锁&#xff1f;6.当前读和快照读有什么区别&#xff1f…

Go语言循环语句

Go语言循环语句 资料参考至菜鸟教程。 在不少实际问题中有许多具有规律性的重复操作&#xff0c;因此在程序中就需要重复执行某些语句。 以下为大多编程语言循环程序的流程图&#xff1a; Go语言提供了以下几种类型循环处理语句&#xff1a; 循环类型描述for循环重复执行语句块…