- cloud123
-
Captain James Cook FRS RN (27 October 1728 (O.S.) – 14 February 1779) was a British explorer, navigator and cartographer. Ultimately rising to the rank of Captain in the Royal Navy, Cook made three voyages to the Pacific Ocean, achieving the first European contact with the eastern coastline of Australia, the European discovery of the Hawaiian Islands, and the first recorded circumnavigation and mapping of Newfoundland and New Zealand.
After service in the British merchant navy as a teenager, he joined the Royal Navy in 1755, seeing action in the Seven Years" War, and subsequently surveying and mapping much of the entrance to the Saint Lawrence River during the siege of Quebec. This allowed General Wolfe to make his famous stealth attack on the Plains of Abraham, and helped to bring Cook to the attention of the Admiralty and Royal Society at a crucial moment both in his personal career and in the direction of British overseas discovery, and led to his commission as commander of HM Bark Endeavour and the first of his three Pacific voyages in 1766.
Cook accurately charted many areas and recorded several islands and coastlines on European maps for the first time. His achievements can be attributed to a combination of seamanship, superior surveying and cartographic skills, courage in exploring dangerous locations to confirm the facts (for example dipping into the Antarctic circle repeatedly and exploring around the Great Barrier Reef), ability to lead men in adverse conditions, and boldness both with regard to the extent of his explorations and his willingness to exceed the instructions given to him by the Admiralty.
Cook died in Hawaii in a fracas with Hawaiians during his third exploratory voyage in the Pacific in 1779.
cartographer中的三维插值如何实现的
cartographer中的三维插值实现可以这样操作:1、使用cartographer_ros进行3d建图;2、需要三维点云数据和IMU数据,三维点云由速腾聚创3d激光雷达提供,IMU数据则由小强xq5开发平台提供。2023-01-04 03:17:191
Cartographer调参
技术标签: Cartographer 根据Cartographer_ros文档翻译 Cartographer是一个复杂的系统,调整它需要很好地理解其内部工作。此页面试图直观地概述Cartographer使用的不同子系统及其配置值。如果您对Cartographer的介绍不仅仅感兴趣,还应参考Cartographer论文。它仅描述了2D SLAM,但它严格定义了此处描述的大多数概念。这些概念通常也适用于3D。 W. Hess, D. Kohler, H. Rapp, and D. Andor, Real-Time Loop Closure in 2D LIDAR SLAM , in Robotics and Automation (ICRA), 2016 IEEE International Conference on . IEEE, 2016. pp. 1271–1278. Cartographer可以看作是两个独立但相关的子系统。第一个是 LocalSLAM (有时也称为 前端 或 局部轨迹构建器 )。它的工作是建立一系列 子图 。每个子图都是本地一致的,但我们接受LocalSLAM随着时间的推移而漂移。大多数地方SLAM选项中可以找到 install_isolated/share/cartographer/configuration_files/trajectory_builder_2d.lua 为2D和 install_isolated/share/cartographer/configuration_files/trajectory_builder_3d.lua 为3D。(对于本页的其余部分,我们将参考TRAJECTORY_BUILDER_nD作为常用选项) 另一个子系统是 全局SLAM (有时称为 后端 )。它在后台线程中运行,其主要工作是找到 回环约束 。它通过对子图的扫描匹配来实现。它还结合了其他传感器数据,以获得更高级别的视图,并确定最一致的全局解决方案。在3D中,它还试图找到重力方向。它的大多数选项都可以在 install_isolated / share / cartographer / configuration_files / pose_graph.lua中找到。 在更高的抽象上,LocalSLAM的工作是生成良好的子图,而全局SLAM的工作是将它们最一致地结合在一起。 测距传感器(例如:LIDAR)提供多个方向的深度信息。但是,有些测量与SLAM无关。如果传感器部分被灰尘覆盖或者如果它被引向机器人的一部分,则一些测量距离可被视为SLAM的噪声。另一方面,一些最远的测量也可能来自不需要的源(反射,传感器噪声),并且也与SLAM无关。为解决这些问题,Cartographer首先应用带通滤波器,并仅将范围值保持在某个最小和最大范围之间。应根据机器人和传感器的规格选择最小值和最大值。 注意 在2D中,Cartographer将比max_range更换范围 TRAJECTORY_BUILDER_2D.missing_data_ray_length 。它还提供了将3D点云过滤为2D切割的值 max_z 和 min_z 值。 注意 在Cartographer配置文件中,每个距离都以米为单位定义 距离是在一段时间内测量的,而机器人实际上正在移动。但是,距离是由大型ROS消息中的“批量”传感器提供的。Cartographer可以独立考虑每个消息的时间戳,以考虑机器人运动引起的畸变。Cartographer进行测量频率越高,测量结果组合成一个可以立即捕获的单个相干扫描就越好。因此,强烈建议通过扫描提供尽可能多的 rangedata (ROS消息)。 Rangedata通常从机器人上的单个点测量,但是以多个角度测量。这意味着靠近的表面(例如道路)经常被击中并提供许多点。相反,远处的物体不常被击中并且提供较少的点数。为了减少点处理的计算权重,我们通常需要对点云进行下采样。然而,简单的 随机抽样 将从我们已经具有低密度测量的区域移除点,并且高密度区域仍将具有比所需更多的点。为了解决这个密度问题,我们可以使用一个 体素滤波 ,将原始点下采样为一个恒定大小的立方体,并只保留每个立方体的质心。 较小的立方体大小将导致更密集的数据表示,从而导致更多计算。较大的立方体大小会导致数据丢失,但会更快。 在应用了固定尺寸的体素滤镜后,Cartographer还应用了 自适应体素滤镜 。此过滤器尝试确定最佳体素大小(在最大长度下)以实现目标点数。在3D中,两个自适应体素滤波器用于生成高分辨率和低分辨率点云,它们的使用将在 LocalSLAM中 阐明。 惯性测量单元可以是SLAM的有用信息源,因为它提供精确的重力方向(因此,地面)和机器人旋转的嘈杂但良好的整体指示。为了过滤IMU噪声,在一定时间内观察到重力。如果您使用2D SLAM,则可以实时处理范围数据而无需额外的信息来源,因此您可以选择是否要让Cartographer使用IMU。使用3D SLAM,您需要提供IMU,因为它用作扫描方向的初始猜测,大大降低了扫描匹配的复杂性。 注意 在Cartographer配置文件中,每次定义值都以秒为单位 一旦扫描组装并从多个范围数据中过滤,就可以为LocalSLAM算法做好准备。LocalSLAM 使用来自 位姿估计器 的初始估计通过 扫描匹配 将新扫描插入其当前子图构造中。位姿估计器背后的想法是使用除测距仪之外的其他传感器的传感器数据来预测下一次扫描应该插入子图的位置。 有两种扫描匹配策略: 无论哪种方式, CeresScanMatcher 都可以配置为给每个输入一定的权重。权重是衡量对数据的信任度,可以将其视为静态协方差。重量参数的单位是无量纲的数量,不能在彼此之间进行比较。数据源的权重越大,Cartographer在进行扫描匹配时就会越强调这个数据源。数据来源包括占用空间(扫描点),位姿外推器(或 RealTimeCorrelativeScanMatcher )的平移和旋转 注意 在3D中, occupied_space_weight_0 和 occupied_space_weight_1 参数分别与高分辨率和低分辨率滤波点云相关。 在 CeresScanMatcher 从得名 Ceres Solver ,以谷歌为解决非线性最小二乘问题的库。扫描匹配问题被建模为这样的问题的最小化,其中两个扫描之间的 运动 (变换矩阵)是要确定的参数。Ceres使用下降算法针对给定的迭代次数优化运动。Ceres可以配置为根据您自己的需要调整收敛速度。 该 RealTimeCorrelativeScanMatcher 可以根据您在传感器的信任进行切换。它的工作原理是在 搜索窗口中 搜索类似的扫描, 搜索窗口 由最大距离半径和最大角度半径定义。当使用此窗口中的扫描执行扫描匹配时,可以为平移和旋转组件选择不同的权重。例如,如果您知道机器人不会旋转很多,您可以使用这些权重。 为避免每个子图插入太多扫描,一旦扫描匹配器找到两次扫描之间的运动,它就会通过 运动滤波器 。如果导致它的运动不够重要,则扫描将被删除。仅当扫描的运动高于特定距离,角度或时间阈值时,才会将扫描插入到当前子图中。 当LocalSLAM已经接收到给定量的范围数据时,认为子图构建完成。LocalSLAM会随着时间漂移,GlobalSLAM用于解决这种漂移问题。子图必须足够小,以使其内部的漂移低于分辨率,以便它们在局部是正确。另一方面,子图应该足够大以使环路闭合能够正常工作。 子图可以将它们的范围数据存储在几个不同的数据结构中:最广泛使用的表示称为概率网格。但是,在2D中,还可以选择使用截断的有符号距离场(TSDF)。 概率网格将空间划分为2D或3D表格,其中每个单元格具有固定大小并包含被障碍物占有的概率。根据“ 命中 ”(测量范围数据)和“ 未命中 ”(传感器和测量点之间的自由空间)更新Odds。 命中 和 未命中 可以在占用概率计算不同的权重,赋予更多或更少的信任。 在2D中,每个子图仅存储一个概率网格。在3D中,出于扫描匹配性能的原因,使用两个 混合 概率网格。(术语“混合”仅指内部树状数据表示并被抽象给用户) 扫描匹配首先将低分辨率点云的远点与低分辨率混合网格对齐,然后通过将高分辨率点与高分辨率混合网格对齐来细化位姿。 注意 CartographerROS提供了一个可视化子图的RViz插件。您可以从其编号中选择要查看的子图。在3D中,RViz仅显示3D混合概率网格的2D投影(灰度)。RViz左侧窗格中提供了选项,可在低分辨率和高分辨率混合网格可视化之间切换。 TODO : 记录TSDF配置 当LocalSLAM生成其连续的子图时,全局优化(通常称为“ 优化问题 ”或“ 稀疏位姿调整 ”)任务在后台运行。它的作用是重新安排彼此之间的子图,以便它们形成一个连贯的全局地图。例如,该优化负责改变当前构建的轨迹以正确地对准关于环闭合的子图。 一旦插入了一定数量的轨迹节点,就会批量运行优化。根据您运行它的频率,您可以调整这些批次的大小。 注意 将 POSE_GRAPH.optimize_every_n_nodes 设置为 0 是禁用全局SLAM并专注于LocalSLAM行为的便捷方法。这通常是调整Cartographer的第一件事。 全局SLAM是一种“ GraphSLAM ”,它本质上是一种位姿图优化,它通过在 节点 和子图之间构建 约束 然后优化得到的约束图来工作。可以直观地将约束视为将所有节点捆绑在一起的小绳索。稀疏位姿调整完全固定这些绳索。生成的网称为“ 位姿图 ”。 注意 约束可以在RViz中可视化,调整全局SLAM非常方便。还可以切换 POSE_GRAPH.constraint_builder.log_matches 以获得格式化为直方图的约束构建器的常规报告。 注意 实际上,全局约束不仅可以在单个轨迹上查找循环闭包。它们还可以对齐由多个机器人记录的不同轨迹,但我们将保留此用法以及与“全局本地化”相关的参数超出本文档的范围。 为了限制约束(和计算)的数量,Cartographer仅考虑构建约束的所有关闭节点的子采样集。这由采样率常数控制。采样太少的节点可能导致错过约束和无效的循环闭包。对太多节点进行采样会降低全局SLAM的速度并阻止实时循环关闭。 当考虑节点和子图建立约束时,它们会通过名为的第一个扫描匹配器 FastCorrelativeScanMatcher 。该扫描匹配器专为Cartographer设计,可实现实时循环闭合扫描匹配。在 FastCorrelativeScanMatcher 依靠“ 分支定界 ”机制在不同的格点分辨率的工作,有效地消除不正确匹配数。这种机制在本文件前面介绍的制图文章中有广泛的介绍。它适用于可以控制深度的探索树。 一旦 FastCorrelativeScanMatcher 有足够好的建议(高于最低匹配分数),然后将其输入Ceres扫描匹配器以改进位姿。 当Cartographer运行 优化问题时 ,Ceres用于根据多个 残差 重新排列子图。残差是使用 加权损失函数 计算的。全局优化具有成本函数以考虑大量数据源:全局(循环闭包)约束,非全局(匹配器)约束,IMU加速和旋转测量,局部SLAM粗略姿态估计,测距源或固定框架(如GPS系统)。可以按照 LocalSLAM 部分中的说明配置权重和Ceres选项。 注意 通过切换,可以找到有关优化问题中使用的残差的有用信息 POSE_GRAPH.max_num_final_iterations 作为其IMU残差的一部分,优化问题为IMU姿态提供了一些灵活性,默认情况下,Ceres可以自由地优化IMU和跟踪帧之间的外部校准。如果您不信任您的IMU位姿,可以记录Ceres全局优化的结果并用于改进您的外部校准。如果Ceres没有正确优化您的IMU位姿并且您完全相信您的外在校准,则可以使此位姿保持不变。 在残差中,异常值的影响由配置有某个Huber量表的 Huber损失 函数处理。Huber量表 越大 ,(潜在)异常值 的影响越大 。 一旦轨迹完成,Cartographer就会运行一个新的全局优化,通常比以前的全局优化要多得多。这样做是为了完善Cartographer的最终结果,通常不需要是实时的,所以大量的迭代通常是正确的选择。2023-01-04 03:17:251
制图员用英语怎么说?
cartographer/draftsman2023-01-04 03:17:304
如何使用Google 的Cartographer SLAM算法包
0.安装所依赖项sudo apt-get install -y google-mock libboost-all-dev libeigen3-dev libgflags-dev libgoogle-glog-dev liblua5.2-dev libprotobuf-dev libsuitesparse-dev libwebp-dev ninja-build protobuf-compiler Python-sphinx ros-indigo-tf2-eigen libatlas-base-dev libsuitesparse-dev liblapack-dev1.首先安装ceres solver选择版本1.11,路径随意Git clone cd ceres-solver-1.11.0/buildcmake ..make –jsudo make install2.安装 cartographer,路径随意git clone cd cartographer/buildcmake .. -G Ninjaninjaninja testsudo ninja install3.安装cartographer_ros谷歌官提供安装比较繁琐我原文件进行少许修改核代码变修改编译文件载catkin_ws面src文件夹面git clone catkin_ws面运行catkin_make即4.数据载测试2d数据概500M用迅雷载3d数据8G左右同用迅雷载运行launch文件即roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=${HOME}/Downloads/cartographer_paper_deutsches_museum.bagroslaunch cartographer_ros demo_backpack_3d.launch bag_filename:=${HOME}/Downloads/cartographer_3d_deutsches_museum.bag图左侧2d,右侧3d2023-01-04 03:17:441
cartographic是什么意思
cartographic制图拼音双语对照cartographic英[ˌkɑ:tə"ɡræfɪk]美[ˌkɑ:tə"ɡræfɪk]词典[计] 制图的网络制图; 地图; 制图物标形近词:pictographiccartographerhistographic 1A new object-oriented model for digital cartographic object一种用于数字化地图制图的面向对象模型2The list of abbreviations was mainly intended for cartographic and gazetteering purposes, and not necessarily for database-related matters.该简称表的主要目的是用于制图和编写地名录,不一定用于与数据库相关的方面。2023-01-04 03:17:491
E.S. Posthumus的专辑二《Cartographer》
E.S. Posthumus 早在专辑《Unearthed 出土》惊艳世间之后,一直没有新动作,在2008奥运年伊始,他们的第二张专辑《Cartographer 制图师》横空出世,并且还是双CD规格,这是一张融合了古典和流行元素的专辑,制作灵感来自于一张上古地图——“Piri Reis 皮瑞·雷斯”地图。该地图于1929年在君士但丁堡被发现,其制图师 Piri Reis 皮瑞·雷斯,他于1513年综合史料绘制的非洲和南美洲的海岸地图及南极洲地图,与现代的卫星地图极为相似,并且精确到了半个经度。其特别之处在于这比人类能够在海上确定位置早250年。因此当代科学家推断出来,上古时期(至少大约6000年前)的南极洲其实并未被冰雪覆盖,并且其上有文明存在,才留下了供 Piri Reis 皮瑞·雷斯 绘制地图的史料。在《Cartographer 制图师》中,E.S. Posthumus 引领我们探索、畅想了这片处于印度洋南端的海域、岛屿和土地,如同那些经验丰富、技术高超、遨游了地球上每一个角落的航海家一样。E.S. Posthumus 创造了一种独特“语言”,并用这种语言在音乐中给听众讲述一个个神话、传说和故事,这些描述包括了创造、探险和一切的终结。听了,很棒,风格应该说是 New Age。从 BT 上下载下来分享,会持续供源至少半年吧。音质倒是没什么缺憾, 可惜没有 log,只有cue ,下一帖贴出。专辑曲目:Cd 1 Luna Sans Nolitus Isunova Vorrina Selisona Marunae Mosane Decifin Sollente Caarano ⒑ Ratamei⒒ Oraanu⒓ Nivaos⒔ NasivernCd 2 Piri Reis Remixes Aschielf Piri Reis - Bonus Track Oraanu Piri Reis Marunae Piri Reis Mosane Piri Reis Isunova Piri Reis Nasivern Piri Reis Selisona Piri Reis Raptamei Piri Reis Caarano Piri Reis ⒑ Nivaos Piri Reis⒒ Sollente Piri Reis⒓ Decifin Piri Reis⒔ Vorrina Piri Reis⒕ Nolitus Piri Reis⒖ Odenall Piri Reis - Bonus Track2023-01-04 03:17:551
如何看待谷歌在 10 月 6 日开源的 SLAM 算法 cartographer
1. LIDAR SLAM,并且用了IMU辅助;2. 有submap,有scan matching,解决了一些基本的问题;3. 有Loop closure optimization,这个很好,非常好,这是在indoor环境里必须要有的,在visual slam中大幅降低accumulated error的方法,作者给加进来了;4. 给了一套node selection, branching, and computationof upper bounds的方法.结论:一套state-of-art的indoor LIDAR SLAM系统实现,该有的都有了,很robust,看得出作者为了降低accumulated error提高真正工程上的可用性做了很多努力。作者:立党链接:来源:知乎著作权归作者所有,转载请联系作者获得授权。2023-01-04 03:18:041
在cartographer上调试自己录制的数据(Pandar64 + IMU)
最近使用一个pandar64线激光(和赛)+IMU在cartographer上建图,总结以下几点,备忘。 1. 准备数据 自己录制的IMU和Pandar64 线Point2数据(一个激光雷达传感器),并且有LiDAR到IMU的外参。 修改数据包时,注意frame_id要与cartorgrapher参数urdf中描述的一致。 IMU数据因为要被用于Robot的位姿估计,所以要注意当前数据与Cartographer中的坐标一致性。 注意激光雷达扫描一周时所生成帧的频率,此处是每旋转一周生成一帧点云数据,当采用npackages模式时,每个UDP包就生成一帧,一个旋转周期可能会上百帧,要注意跟 参数 TRAJECTORY_BUILDER_3D.num_accumulated_range_data 配合使用。2. 在cargographer中的数据校验 只要没有特别醒目的报错,即可认为没问题。 类似以下这样的报警,可以不必在意,基本不影响建图, Point data (frame_id: "horizontal_vlp16_link") has a large gap, largest is 0.118117 s, recommended is [0.0005, 0.05] s with no jitter.3. launch和lua参数配置 按照demo_backpack_3d.launch以及对应的lua和urdf参数进行配置即可,需要注意以下参数 map_frame = "map", tracking_frame = "imu_link", published_frame = "base_link", odom_frame = "odom", provide_odom_frame = false, use_odometry = false, num_point_clouds = 1, TRAJECTORY_BUILDER_3D.num_accumulated_range_data = 1 #这个参数一定要注意,如果不改成对应的频率,可能会出现点云一直不动,没有轨迹生成的情况 同时也要注意,urdf中 欧拉角给出的顺序,参考backpack_3d.urdf可知,实际顺序为 rpy="pitch roll yaw",而不是想象中的RPY。 4.建好的图2023-01-04 03:18:091
Cartographer
Data代表数据 就是说你下的这个是原始的 不带数据的 把原来的删了 下个带数据的外面没有单下数据的2023-01-04 03:18:151
Cartographer CPU满负载
冗余的技术计算参数导致的。CartographerCPU满负载是因为他的前端和后端都使用了比较冗余的计算参数。1、可以把激光的采样间隔设置大一些。2、demo的帧率为30Hz,将其设置为12Hz。2023-01-04 03:18:201
大脚插件和地图插件Cartographer不兼容,怎么解决?
因为大脚插件里的地图单体插件已经有了所以和新的单提插件会冲突的建议要么只用大脚要么只用那个地图插件集合类插件和单体插件一起用肯定会不兼容的2023-01-04 03:18:293
如何使用Google 的Cartographer SLAM算法包
1. LIDAR SLAM并且用IMU辅助;2. submapscan matching解决些基本问题;3. Loop closure optimization非indoor环境必须要visual slam幅降低accumulated error作者给加进;4. 给套node selection, branching, and computationof upper bounds.结论:套state-of-artindoor LIDAR SLAM系统实现该都robust看作者降低accumulated error提高真工程用性做努力作者:立党链接:源:知乎著作权归作者所转载请联系作者获授权2023-01-04 03:18:401
香蕉派 如何配置32位cartographer?
性教派如果想配置32位的话,还是比较麻烦的,可以上网查询一下过程。2023-01-04 03:18:464
魔兽世界 Cartographer 插件
见意用大脚或六魔包。玩wow5年我就用这2个最好。不丢号。省内存。别的插件多少都有后门。用个插件丢号不值得。2023-01-04 03:18:593
魔兽插件Cartographer制图大师里的矿点显示怎么不能用?
那个功能的意思貌似是你挖过之后会在地图上显示。2023-01-04 03:19:101
为什么cartographer不出现三维地图
M键,打开大地图!只有在你探索到该区域,该区域才会在地图上从阴影中显示出来!如果你使用插件,那么你可以使用插件的“地图信息”中的“打开全部地图”功能,将地图探开!2023-01-04 03:19:161
魔兽世界采矿插件Cartographer 怎么用?
把插件都删了只装Cartographer和相关的插件试下,可以的话再装别的插件。2023-01-04 03:19:214
WOW插件问题 100分!!cartographer怎么用
这插件很强大...你点下地图.上面能显示出你所有任务的地点,掉落.交任务的地方等等.右边不是有任务的标题吗?点标题左边有个绿色的点.点上他会出现你到任务地点的路线...2023-01-04 03:19:357
关于Cartographer_QuestInfo
Cartographer_QuestInfo是Cartographer附属的插件 本来就是点就开地图标记的 下个新版的2023-01-04 03:19:591
魔兽世界,Cartographer_QuestInfo和QuestHelper这个两个插件,哪个好啊?
Cartographer_QuestInfo好 比QuestHelper多了很多功能2023-01-04 03:20:052
制图员用英语怎么说?
cartographer/draftsman2023-01-04 03:20:173
魔兽世界插件Cartographer_QuestInfo怎么用
不用设置,按“L”打开任务栏以后,你就看到效果了2023-01-04 03:20:282
魔兽世界任务插件Cartographer_QuestInfo用不了!
插件冲突了2023-01-04 03:20:363
wow插件Cartographer QuestInfo
这个插件就是这个样子,没有办法,你可以联系插件作者然后向他说明这个问题,也许下个版本就能优化了,呵呵。2023-01-04 03:20:476
!!!!魔兽国服WLK~~~~~最强任务插件Cartographer报错!!!!
数据库过期了。去下载个carbonite吧,绝对是任务神器。2023-01-04 03:21:092
求知这个插件好用吗Cartographer_QuestInfo_3.0
Cartographer制图大师插件Cartographer_QuestInfo是他的一个模块(不过下载是分开的),需要Cartographer主插件支持Cartographer_QuestInfo任务模块还是蛮好用的,我一直在用,挺不错的2023-01-04 03:21:171
有没有提示可接任务的魔兽世界插件
现在的版本即使不用插件也已经可以在小地图上显示黄色叹号了呀,但你一定要走到附近才行,想在大地图上就看见哪里可以接任务,这样就失去探索的乐趣了。2023-01-04 03:21:232
如何使用 Google Cartographer SLAM 演算法來建地圖
建立模拟环境我的测试环境是 Ubuntu 14.04 + ROS Indigo,不过使用的指令都很 general,即便你使用其他版本,应该也不会有什麼问题。首先我们确定已经安装所需要的套件:sudo apt-get install ros-indigo-gazebo-*接下来在终端机输入 gazebo 应该就可以成功启动 Gazebo 模拟器。然後我们可以用现成的 package 启动一个有 PR2 的复杂环境。roslaunch pr2_gazebo pr2_wg_world.launch理论上,你会碰到一个 error 说:unused args [paused, gui] for include of [/opt/ros/jade/share/gazebo_ros/launch/willowgarage_world.launch] The traceback for the exception was written to the log file这时候只要去编辑你的 pr2_wg_world.launch,把有 arg 的部分注解掉就好,注解完的档案看起来会像下面这样:<launch><!-- start up empty world --><!-- <arg name="gui" default="true"/><arg name="paused" default="true"/> --><!-- TODO:throttled not implemented in gazebo_ros/empty_world.launch<arg name="throttled" default="false"/>--><includefile="$(find gazebo_ros)/launch/willowgarage_world.launch"><!-- <arg name="gui" value="$(arg gui)" /><arg name="paused" value="$(arg paused)" /> --><!-- TODO:throttled not implemented in gazebo_ros/empty_world.launch<arg name="throttled" value="$(arg throttled)" />--></include><!-- start pr2 robot --><includefile="$(find pr2_gazebo)/launch/pr2.launch"/></launch>注解完毕就可以启动啦。启动之後的环境会长得像下面这样:安装 & 启动 Cartographer安装的方法满简单的,只要照著官方文件上的步骤做就可以了:# Install wstool and rosdep.sudo apt-get updatesudo apt-get install -y python-wstool python-rosdep ninja-build# Create a new workspace in "catkin_ws".mkdir catkin_wscd catkin_wswstool init src# Merge the cartographer_ros.rosinstall file and fetch code for dependencies.wstool merge -t src https://raw.githubusercontent.com/googlecartographer/cartographer_ros/master/cartographer_ros.rosinstallwstool update -t src# Install deb dependencies.rosdep initrosdep updaterosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y# Build and install.catkin_make_isolated --install --use-ninjasource install_isolated/setup.bash重点是装完之後,我们想要跑 cartographer_ros package 里面的 demo_pr2.launch,但里面原本预设是跑 bag file 的 demo 版本,所以我们要稍微修改一下 demo_pr2.launch :rosed cartographer_ros demo_pr2.launch<!--Copyright 2016 The Cartographer AuthorsLicensed under the Apache License, Version 2.0 (the "License");you may not use this file except in compliance with the License.You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.--><launch><paramname="/use_sim_time"value="true"/><nodename="cartographer_node"pkg="cartographer_ros"type="cartographer_node"args="-configuration_directory$(find cartographer_ros)/configuration_files-configuration_basename pr2.lua"output="screen"><remapfrom="scan"to="/base_scan"/></node><nodename="tf_remove_frames"pkg="cartographer_ros"type="tf_remove_frames.py"><remapfrom="tf_out"to="/tf"/><rosparamparam="remove_frames">- map- odom_combined</rosparam></node><nodename="rviz"pkg="rviz"type="rviz"required="true"args="-d $(find cartographer_ros)/configuration_files/demo_2d.rviz"/></launch>修改完之後就可以执行了,这时应该可以看到 Rviz 的视窗跳出来,也可以看到目前的地图。roslaunch cartographer_ros demo_pr2.launchTeleop PR2 来建地图罗只要启动 teleop_keyborad 就可以用键盤控制机器人移动:roslaunch pr2_teleop teleop_keyboard.launchWASD 四个按键分别代表前左後右四个方向的平移、QE两个按键是原地旋转,这边要注意必须选到启动 teleop_keyboard的视窗,按按键才有用。使用 teleop 来控制 PR2 走一走之後,就可以看得出我们已经建立了一个有模有样的地图。不过因为这个地图太大,我就不走完了。2023-01-04 03:21:312
Cartographer调参
技术标签: Cartographer 根据Cartographer_ros文档翻译 Cartographer是一个复杂的系统,调整它需要很好地理解其内部工作。此页面试图直观地概述Cartographer使用的不同子系统及其配置值。如果您对Cartographer的介绍不仅仅感兴趣,还应参考Cartographer论文。它仅描述了2D SLAM,但它严格定义了此处描述的大多数概念。这些概念通常也适用于3D。 W. Hess, D. Kohler, H. Rapp, and D. Andor, Real-Time Loop Closure in 2D LIDAR SLAM , in Robotics and Automation (ICRA), 2016 IEEE International Conference on . IEEE, 2016. pp. 1271–1278. Cartographer可以看作是两个独立但相关的子系统。第一个是 LocalSLAM (有时也称为 前端 或 局部轨迹构建器 )。它的工作是建立一系列 子图 。每个子图都是本地一致的,但我们接受LocalSLAM随着时间的推移而漂移。大多数地方SLAM选项中可以找到 install_isolated/share/cartographer/configuration_files/trajectory_builder_2d.lua 为2D和 install_isolated/share/cartographer/configuration_files/trajectory_builder_3d.lua 为3D。(对于本页的其余部分,我们将参考TRAJECTORY_BUILDER_nD作为常用选项) 另一个子系统是 全局SLAM (有时称为 后端 )。它在后台线程中运行,其主要工作是找到 回环约束 。它通过对子图的扫描匹配来实现。它还结合了其他传感器数据,以获得更高级别的视图,并确定最一致的全局解决方案。在3D中,它还试图找到重力方向。它的大多数选项都可以在 install_isolated / share / cartographer / configuration_files / pose_graph.lua中找到。 在更高的抽象上,LocalSLAM的工作是生成良好的子图,而全局SLAM的工作是将它们最一致地结合在一起。 测距传感器(例如:LIDAR)提供多个方向的深度信息。但是,有些测量与SLAM无关。如果传感器部分被灰尘覆盖或者如果它被引向机器人的一部分,则一些测量距离可被视为SLAM的噪声。另一方面,一些最远的测量也可能来自不需要的源(反射,传感器噪声),并且也与SLAM无关。为解决这些问题,Cartographer首先应用带通滤波器,并仅将范围值保持在某个最小和最大范围之间。应根据机器人和传感器的规格选择最小值和最大值。 注意 在2D中,Cartographer将比max_range更换范围 TRAJECTORY_BUILDER_2D.missing_data_ray_length 。它还提供了将3D点云过滤为2D切割的值 max_z 和 min_z 值。 注意 在Cartographer配置文件中,每个距离都以米为单位定义 距离是在一段时间内测量的,而机器人实际上正在移动。但是,距离是由大型ROS消息中的“批量”传感器提供的。Cartographer可以独立考虑每个消息的时间戳,以考虑机器人运动引起的畸变。Cartographer进行测量频率越高,测量结果组合成一个可以立即捕获的单个相干扫描就越好。因此,强烈建议通过扫描提供尽可能多的 rangedata (ROS消息)。 Rangedata通常从机器人上的单个点测量,但是以多个角度测量。这意味着靠近的表面(例如道路)经常被击中并提供许多点。相反,远处的物体不常被击中并且提供较少的点数。为了减少点处理的计算权重,我们通常需要对点云进行下采样。然而,简单的 随机抽样 将从我们已经具有低密度测量的区域移除点,并且高密度区域仍将具有比所需更多的点。为了解决这个密度问题,我们可以使用一个 体素滤波 ,将原始点下采样为一个恒定大小的立方体,并只保留每个立方体的质心。 较小的立方体大小将导致更密集的数据表示,从而导致更多计算。较大的立方体大小会导致数据丢失,但会更快。 在应用了固定尺寸的体素滤镜后,Cartographer还应用了 自适应体素滤镜 。此过滤器尝试确定最佳体素大小(在最大长度下)以实现目标点数。在3D中,两个自适应体素滤波器用于生成高分辨率和低分辨率点云,它们的使用将在 LocalSLAM中 阐明。 惯性测量单元可以是SLAM的有用信息源,因为它提供精确的重力方向(因此,地面)和机器人旋转的嘈杂但良好的整体指示。为了过滤IMU噪声,在一定时间内观察到重力。如果您使用2D SLAM,则可以实时处理范围数据而无需额外的信息来源,因此您可以选择是否要让Cartographer使用IMU。使用3D SLAM,您需要提供IMU,因为它用作扫描方向的初始猜测,大大降低了扫描匹配的复杂性。 注意 在Cartographer配置文件中,每次定义值都以秒为单位 一旦扫描组装并从多个范围数据中过滤,就可以为LocalSLAM算法做好准备。LocalSLAM 使用来自 位姿估计器 的初始估计通过 扫描匹配 将新扫描插入其当前子图构造中。位姿估计器背后的想法是使用除测距仪之外的其他传感器的传感器数据来预测下一次扫描应该插入子图的位置。 有两种扫描匹配策略: 无论哪种方式, CeresScanMatcher 都可以配置为给每个输入一定的权重。权重是衡量对数据的信任度,可以将其视为静态协方差。重量参数的单位是无量纲的数量,不能在彼此之间进行比较。数据源的权重越大,Cartographer在进行扫描匹配时就会越强调这个数据源。数据来源包括占用空间(扫描点),位姿外推器(或 RealTimeCorrelativeScanMatcher )的平移和旋转 注意 在3D中, occupied_space_weight_0 和 occupied_space_weight_1 参数分别与高分辨率和低分辨率滤波点云相关。 在 CeresScanMatcher 从得名 Ceres Solver ,以谷歌为解决非线性最小二乘问题的库。扫描匹配问题被建模为这样的问题的最小化,其中两个扫描之间的 运动 (变换矩阵)是要确定的参数。Ceres使用下降算法针对给定的迭代次数优化运动。Ceres可以配置为根据您自己的需要调整收敛速度。 该 RealTimeCorrelativeScanMatcher 可以根据您在传感器的信任进行切换。它的工作原理是在 搜索窗口中 搜索类似的扫描, 搜索窗口 由最大距离半径和最大角度半径定义。当使用此窗口中的扫描执行扫描匹配时,可以为平移和旋转组件选择不同的权重。例如,如果您知道机器人不会旋转很多,您可以使用这些权重。 为避免每个子图插入太多扫描,一旦扫描匹配器找到两次扫描之间的运动,它就会通过 运动滤波器 。如果导致它的运动不够重要,则扫描将被删除。仅当扫描的运动高于特定距离,角度或时间阈值时,才会将扫描插入到当前子图中。 当LocalSLAM已经接收到给定量的范围数据时,认为子图构建完成。LocalSLAM会随着时间漂移,GlobalSLAM用于解决这种漂移问题。子图必须足够小,以使其内部的漂移低于分辨率,以便它们在局部是正确。另一方面,子图应该足够大以使环路闭合能够正常工作。 子图可以将它们的范围数据存储在几个不同的数据结构中:最广泛使用的表示称为概率网格。但是,在2D中,还可以选择使用截断的有符号距离场(TSDF)。 概率网格将空间划分为2D或3D表格,其中每个单元格具有固定大小并包含被障碍物占有的概率。根据“ 命中 ”(测量范围数据)和“ 未命中 ”(传感器和测量点之间的自由空间)更新Odds。 命中 和 未命中 可以在占用概率计算不同的权重,赋予更多或更少的信任。 在2D中,每个子图仅存储一个概率网格。在3D中,出于扫描匹配性能的原因,使用两个 混合 概率网格。(术语“混合”仅指内部树状数据表示并被抽象给用户) 扫描匹配首先将低分辨率点云的远点与低分辨率混合网格对齐,然后通过将高分辨率点与高分辨率混合网格对齐来细化位姿。 注意 CartographerROS提供了一个可视化子图的RViz插件。您可以从其编号中选择要查看的子图。在3D中,RViz仅显示3D混合概率网格的2D投影(灰度)。RViz左侧窗格中提供了选项,可在低分辨率和高分辨率混合网格可视化之间切换。 TODO : 记录TSDF配置 当LocalSLAM生成其连续的子图时,全局优化(通常称为“ 优化问题 ”或“ 稀疏位姿调整 ”)任务在后台运行。它的作用是重新安排彼此之间的子图,以便它们形成一个连贯的全局地图。例如,该优化负责改变当前构建的轨迹以正确地对准关于环闭合的子图。 一旦插入了一定数量的轨迹节点,就会批量运行优化。根据您运行它的频率,您可以调整这些批次的大小。 注意 将 POSE_GRAPH.optimize_every_n_nodes 设置为 0 是禁用全局SLAM并专注于LocalSLAM行为的便捷方法。这通常是调整Cartographer的第一件事。 全局SLAM是一种“ GraphSLAM ”,它本质上是一种位姿图优化,它通过在 节点 和子图之间构建 约束 然后优化得到的约束图来工作。可以直观地将约束视为将所有节点捆绑在一起的小绳索。稀疏位姿调整完全固定这些绳索。生成的网称为“ 位姿图 ”。 注意 约束可以在RViz中可视化,调整全局SLAM非常方便。还可以切换 POSE_GRAPH.constraint_builder.log_matches 以获得格式化为直方图的约束构建器的常规报告。 注意 实际上,全局约束不仅可以在单个轨迹上查找循环闭包。它们还可以对齐由多个机器人记录的不同轨迹,但我们将保留此用法以及与“全局本地化”相关的参数超出本文档的范围。 为了限制约束(和计算)的数量,Cartographer仅考虑构建约束的所有关闭节点的子采样集。这由采样率常数控制。采样太少的节点可能导致错过约束和无效的循环闭包。对太多节点进行采样会降低全局SLAM的速度并阻止实时循环关闭。 当考虑节点和子图建立约束时,它们会通过名为的第一个扫描匹配器 FastCorrelativeScanMatcher 。该扫描匹配器专为Cartographer设计,可实现实时循环闭合扫描匹配。在 FastCorrelativeScanMatcher 依靠“ 分支定界 ”机制在不同的格点分辨率的工作,有效地消除不正确匹配数。这种机制在本文件前面介绍的制图文章中有广泛的介绍。它适用于可以控制深度的探索树。 一旦 FastCorrelativeScanMatcher 有足够好的建议(高于最低匹配分数),然后将其输入Ceres扫描匹配器以改进位姿。 当Cartographer运行 优化问题时 ,Ceres用于根据多个 残差 重新排列子图。残差是使用 加权损失函数 计算的。全局优化具有成本函数以考虑大量数据源:全局(循环闭包)约束,非全局(匹配器)约束,IMU加速和旋转测量,局部SLAM粗略姿态估计,测距源或固定框架(如GPS系统)。可以按照 LocalSLAM 部分中的说明配置权重和Ceres选项。 注意 通过切换,可以找到有关优化问题中使用的残差的有用信息 POSE_GRAPH.max_num_final_iterations 作为其IMU残差的一部分,优化问题为IMU姿态提供了一些灵活性,默认情况下,Ceres可以自由地优化IMU和跟踪帧之间的外部校准。如果您不信任您的IMU位姿,可以记录Ceres全局优化的结果并用于改进您的外部校准。如果Ceres没有正确优化您的IMU位姿并且您完全相信您的外在校准,则可以使此位姿保持不变。 在残差中,异常值的影响由配置有某个Huber量表的 Huber损失 函数处理。Huber量表 越大 ,(潜在)异常值 的影响越大 。 一旦轨迹完成,Cartographer就会运行一个新的全局优化,通常比以前的全局优化要多得多。这样做是为了完善Cartographer的最终结果,通常不需要是实时的,所以大量的迭代通常是正确的选择。2023-01-04 03:22:241
如何看待谷歌在10月6日开源的SLAM算法cartographer
1. LIDAR SLAM,并且用了IMU辅助;2. 有submap,有scan matching,解决了一些基本的问题;3. 有Loop closure optimization,这个很好,非常好,这是在indoor环境里必须要有的,在visual slam中大幅降低accumulated error的方法,作者给加进来了;4. 给了一套node selection, branching, and computationof upper bounds的方法.结论:一套state-of-art的indoor LIDAR SLAM系统实现,该有的都有了,很robust,看得出作者为了降低accumulated error提高真正工程上的可用性做了很多努力。作者:立党链接:https://www.zhihu.com/question/51348391/answer/125439374来源:知乎著作权归作者所有,转载请联系作者获得授权。2023-01-04 03:22:291
Cartographer questinfo 怎么呼出,呼出命令是什么?
帮你顶起!2023-01-04 03:22:351
cartographer怎么支持倒装雷达建图
使用思岚rplidar雷达进行cartographer建图。2023-01-04 03:22:401
Cartographer查看其他地图时总是自动跳回当前地图?
额····我也是的 但是貌似不移动的时候它不会跳2023-01-04 03:22:461
詹姆斯·库克(James Cook)英国的探险家、航海家和制图学家的英文简介,
Captain James Cook FRS RN (27 October 1728 (O.S.) – 14 February 1779) was a British explorer,navigator and cartographer.Ultimately rising to the rank of Captain in the Royal Navy,Cook made three voya...2023-01-04 03:22:511
有没能把WOW没走过的地方全显示出来的插件
精灵插件 这个插件是不用跑地图的 你可以再官方网站上可以下载到 或者直接搜索页行2023-01-04 03:22:564
怎么把cartographer一个账号中的点能用到另一个账号上
必须从头连的!2023-01-04 03:23:092
魔兽世界 求一在大地图上标有可接任务的插件
我没见过2023-01-04 03:23:184
魔兽世界 求在大地图上可以显示所有可接任务地点的插件
用Cartographer这个地图+任务插件就可以完全满足你的要求 解压后放到wow目录interfaceAddOns下即可 一般插件里都自带库文件 无需你再额外下载别的 记的Cartographer目录下必须有Cartographer_QuestInfo这个任务查询插件目录即可 各模块和功能说明(可能有出入,供参考) Battlegrounds - 查看战场地图 POI - 城市导游标记~在跟卫兵问过相关NPC位置后自动在城市地图上标记 ZoneInfo – 查看各区域地图~以及各区域怪物等级信息~副本等级和人数信息~钓鱼需要的技能数 Foglight – 未探索区域地图显示~并可以自定义遮罩迷雾的颜色和透明度 GroupColors - 在地图上用按职业着色的小圆圈表示队伍或团队队友位置~并显示其所在小队编号 GuildPositions - 在地图上显示公会成员位置和角色信息 InstanceMaps – 副本地图 InstanceLoot – 副本物品掉落信息 InstancNotes - 很全面的副本标记~包括Boss位置~特殊NPC位置~副本任务指南 LookNFeel – 自定义外观~放大显示角色箭头~缩放地图大小~透明度和外框透明度~可做出”暗黑地图”的效果~ Waypoints – 路点~显示一个很~~可爱的小箭头指引你到特定标记或地点 Cartographer_Herbalism Cartographer_Mining - 草药和矿点自动标记位置,可以完全替代Gatherer Cartographer_Quests Cartographer_QuestObjectives - 可在地图上自动标记任务委托人位置和任务物品掉落/怪物位置 Cartographer_Fishing - 鱼群位置自动标记2023-01-04 03:23:326
windows qtl cartographer如何安装啊
这个,只能复制别人的东西了。可以跟你明说,整个中国对QTL定位真正明白能用自己话说清楚的人不超过100个,而且这些人都不上百度。 一般而言,步骤就是,创建群体--分子标记筛选---做连锁图谱---性状测量(多重复)2023-01-04 03:23:551
超强采集路线:Cartographer_Routes模块
发错地方了~~~应该去专门的论坛和网站来求助。2023-01-04 03:24:002
求“游戏地图制作软件(Campaign Cartographer 3 )”的正常下载无毒地址!
http://115.com/lb/5lbq9kwm2023-01-04 03:24:081
求一个适合3.05版本的魔兽世界任务插件
大脚撒,直接官网就有下载的2023-01-04 03:24:134
cartographer 可以用哪些传感器
Cartographer_QuestInfo比较好.首先Cartographer在地图插件方面很强大. 另外QuestHelpe虽然有很简单就能设置的路线规划但是任务数据方面是在太低了......2023-01-04 03:24:281
photographter是什么意思
photographtern.摄影师2023-01-04 03:24:342
SLAM算法解析
【嵌牛导读】: SLAM(Simultaneous Localization and Mapping) 是业界公认视觉领域空间定位技术的前沿方向,中文译名为「同步定位与地图构建」,它主要用于解决机器人在未知环境运动时的定位和地图构建问题。 【 嵌牛鼻子】: 有人就曾打比方,若是手机离开了 WIFI 和数据网络,就像无人车和机器人,离开了 SLAM 一样。 【嵌牛正文】: 目前科技发展速度飞快,想让用户在 AR/VR、机器人、无人机、无人驾驶领域体验加强,还是需要更多前沿技术做支持,SLAM 就是其中之一。实际上,有人就曾打比方,若是手机离开了 WIFI 和数据网络,就像无人车和机器人,离开了 SLAM 一样。 在 VR/AR 方面,根据 SLAM 得到地图和当前视角对叠加虚拟物体做相应渲染,这样做可以使得叠加的虚拟物体看起来比较真实,没有违和感。在无人机领域,可以使用 SLAM 构建局部地图,辅助无人机进行自主避障、规划路径。在无人驾驶方面,可以使用 SLAM 技术提供视觉里程计功能,然后跟其他的定位方式融合。机器人定位导航方面,SLAM 可以用于生成环境的地图。基于这个地图,机器人执行路径规划、自主探索、导航等任务。 SLAM 技术的发展距今已有 30 余年的历史,涉及的技术领域众多。由于本身包含许多步骤,每一个步骤均可以使用不同算法实现,SLAM 技术也是机器人和计算机视觉领域的热门研究方向。 SLAM 的英文全程是 Simultaneous Localization and Mapping,中文称作「同时定位与地图创建」。SLAM 试图解决这样的问题:一个机器人在未知的环境中运动,如何通过对环境的观测确定自身的运动轨迹,同时构建出环境的地图。SLAM 技术正是为了实现这个目标涉及到的诸多技术的总和。 SLAM 技术涵盖的范围非常广,按照不同的传感器、应用场景、核心算法,SLAM 有很多种分类方法。按照传感器的不同,可以分为基于激光雷达的 2D/3D SLAM、基于深度相机的 RGBD SLAM、基于视觉传感器的 visual SLAM(以下简称 vSLAM)、基于视觉传感器和惯性单元的 visual inertial odometry(以下简称 VIO)。 基于激光雷达的 2D SLAM 相对成熟,早在 2005 年,Sebastian Thrun 等人的经典著作《概率机器人学》将 2D SLAM 研究和总结得非常透彻,基本确定了激光雷达 SLAM 的框架。目前常用的 Grid Mapping 方法也已经有 10 余年的历史。2016 年,Google 开源了激光雷达 SLAM 程序 Cartographer,可以融合 IMU 信息,统一处理 2D 与 3D SLAM 。目前 2D SLAM 已经成功地应用于扫地机器人中。 基于深度相机的 RGBD SLAM 过去几年也发展迅速。自微软的 Kinect 推出以来,掀起了一波 RGBD SLAM 的研究热潮,短短几年时间内相继出现了几种重要算法,例如 KinectFusion、Kintinuous、Voxel Hashing、DynamicFusion 等。微软的 Hololens 应该集成了 RGBD SLAM,在深度传感器可以工作的场合,它可以达到非常好的效果。 视觉传感器包括单目相机、双目相机、鱼眼相机等。由于视觉传感器价格便宜,在室内室外均可以使用,因此 vSLAM 是研究的一大热点。早期的 vSLAM 如 monoSLAM 更多的是延续机器人领域的滤波方法。现在使用更多的是计算机视觉领域的优化方法,具体来说,是运动恢复结构(structure-from-motion)中的光束法平差(bundle adjustment)。在 vSLAM 中,按照视觉特征的提取方式,又可以分为特征法、直接法。当前 vSLAM 的代表算法有 ORB-SLAM、SVO、DSO 等。 视觉传感器对于无纹理的区域是没有办法工作的。惯性测量单元(IMU)通过内置的陀螺仪和加速度计可以测量角速度和加速度,进而推算相机的姿态,不过推算的姿态存在累计误差。视觉传感器和 IMU 存在很大的互补性,因此将二者测量信息进行融合的 VIO 也是一个研究热点。按照信息融合方式的不同,VIO 又可以分为基于滤波的方法、基于优化的方法。VIO 的代表算法有 EKF、MSCKF、preintegration、OKVIS 等。Google 的 Tango 平板就实现了效果不错 VIO。 总的来说,相比于基于激光雷达和基于深度相机的 SLAM,基于视觉传感器的 vSLAM 和 VIO 还不够成熟,操作比较难,通常需要融合其他传感器或者在一些受控的环境中使用。 【转51cto】2023-01-04 03:24:421
英文questhelper如何使用
http://wow.curse.com/downloads/wow-addons/details/quest-helper.aspx这是该插件原始发布的Url希望对你有帮助2023-01-04 03:24:472
大家给我推荐一套魔兽世界的插件~我要散的
强力推荐魔兽小强,特别好用2023-01-04 03:24:553
rgbd传感器是什么
RGBD SLAM属于视觉SLAM中的一种,使用的RGBD传感器包括zed(双目立体,适用于室外)、Kinect(结构光,仅限室内)、Kinect v2(TOF,主要用于室内)等。功能包现在有比较多的现成的功能包可以进行学习和二次开发:gmapping:实时构建室内地图,在构建小场景地图所需的计算量较小且精度较高。相比Hector SLAM对激光雷达频率要求低、鲁棒性高(Hector 在机器人快速转向时很容易发生错误匹配,建出的地图发生错位,原因主要是优化算法容易陷入局部最小值)。而相比Cartographer在构建小场景地图时,Gmapping不需要太多的粒子并且没有回环检测因此计算量小于Cartographer而精度并没有差太多。但是,不适合构建大场景地图,并且没有回环检测,因此在回环闭合时可能会造成地图错位,虽然增加粒子数目可以使地图闭合但是以增加计算量和内存为代价,不能像Cartographer那样构建大的地图。hector_slam:设计初衷Hector主要用于救灾等地面不平坦的情况,因此无法使用里程计,特点是用IMU解决了激光的运动畸变问题。虽然系统不提供明确的循环关闭能力,但对于许多真实世界场景来说它足够准确。cartographer:累计误差较前两种算法低,能天然的输出协方差矩阵,后端优化的输入项。成本较低的雷达也能跑出不错的效果。是Google开源的一个ROS系统支持的2D和3D SLAM(simultaneous localization and mapping)库。2023-01-04 03:25:091
头晕的翻译
2023-01-04 03:25:193
寻找一款魔兽世界采集插件
玩这么久了还没有听说有这样的插件啊!!2023-01-04 03:25:314