Cartographers Lua配置参考文档

请注意,Cartographer 的 ROS 集成使用 tf2,因此所有帧 ID 都应仅包含帧名称(小写加下划线),不应包含前缀或斜杠。有关常用坐标帧的信息,请参见 REP 105。

请注意,在 Cartographer 的 ROS 集成中,主题名称作为基本名称给出(参见 ROS 名称)。这意味着 Cartographer 节点的用户需要重映射或将其放入命名空间。

以下是 Cartographer 的 ROS 集成的顶级选项,所有这些选项都必须在 Lua 配置文件中指定:

  • map_frame

    用于发布子地图的 ROS 帧 ID,通常是"map"。

  • tracking_frame

    SLAM 算法跟踪的帧的 ROS 帧 ID。如果使用 IMU,则应位于其位置,尽管可能会旋转。常见选择是"imu_link"。

  • published_frame

    用于发布位姿的子帧的 ROS 帧 ID。例如,如果系统的其他部分提供了"odom"帧,则应将其设置为"odom"。在这种情况下,将在 map_frame 中发布"odom"的位姿。否则,设置为"base_link"可能是适当的。

  • odom_frame

    仅在 provide_odom_frame 为 true 时使用。用于在 published_frame 和 map_frame 之间发布(未闭环)的本地 SLAM 结果的帧。通常是"odom"。

  • provide_odom_frame

    如果启用,本地、未闭环的连续位姿将作为 odom_frame 在 map_frame 中发布。

  • publish_frame_projected_to_2d

    如果启用,发布的位姿将限制为纯 2D 位姿(无滚转、俯仰或 z 偏移)。这可以防止 2D 模式下由于位姿外推步骤(例如,如果应将位姿发布为类似于"base-footprint"的帧)而可能出现的意外平面外位姿。

  • use_odometry

    如果启用,将订阅 nav_msgs/Odometry 主题"odom"。在这种情况下必须提供里程计信息,并且该信息将包含在 SLAM 中。

  • use_nav_sat

    如果启用,将订阅 sensor_msgs/NavSatFix 主题"fix"。在这种情况下必须提供导航数据,并且该信息将包含在全局 SLAM 中。

  • use_landmarks

    如果启用,将订阅 cartographer_ros_msgs/LandmarkList 主题"landmarks"。必须提供地标,作为 cartographer_ros_msgs/LandmarkEntry 在 cartographer_ros_msgs/LandmarkList 中。如果提供 cartographer_ros_msgs/LandmarkEntry 数据,该信息将根据 cartographer_ros_msgs/LandmarkEntry 的 ID 包含在 SLAM 中。cartographer_ros_msgs/LandmarkList 的提供频率应与其他传感器相当。列表可以为空,但必须提供,因为 Cartographer 严格按时间顺序处理传感器数据,以使地标确定性。然而,可以设置轨迹构建器选项"collate_landmarks"为 false,以允许非确定性但也非阻塞的方法。

  • num_laser_scans

    要订阅的激光扫描主题数。对于一个激光扫描仪,订阅 sensor_msgs/LaserScan 主题"scan",对于多个激光扫描仪,订阅"scan_1"、"scan_2"等主题。

  • num_multi_echo_laser_scans

    要订阅的多回波激光扫描主题数。对于一个激光扫描仪,订阅 sensor_msgs/MultiEchoLaserScan 主题"echoes",对于多个激光扫描仪,订阅"echoes_1"、"echoes_2"等主题。

  • num_subdivisions_per_laser_scan

    将每个接收的(多回波)激光扫描划分成的点云数量。划分扫描可以在扫描仪移动时解扭曲扫描。对应的轨迹构建器选项会将划分的扫描累积成用于扫描匹配的点云。

  • num_point_clouds

    要订阅的点云主题数。对于一个测距仪,订阅 sensor_msgs/PointCloud2 主题"points2",对于多个测距仪,订阅"points2_1"、"points2_2"等主题。

  • lookup_transform_timeout_sec

    用于使用 tf2 查找变换的超时时间(秒)。

  • submap_publish_period_sec

    发布子地图位姿的时间间隔(秒),例如 0.3 秒。

  • pose_publish_period_sec

    发布位姿的时间间隔(秒),例如 5e-3 秒(200 Hz 的频率)。

  • publish_to_tf

    启用或禁用提供 TF 变换。

  • publish_tracked_pose

    启用将跟踪的位姿发布为 geometry_msgs/PoseStamped 到主题"tracked_pose"。

  • trajectory_publish_period_sec

    发布轨迹标记的时间间隔(秒),例如 30e-3 秒(30 毫秒)。

  • rangefinder_sampling_ratio

    测距仪消息的固定比例采样。

  • odometry_sampling_ratio

    里程计消息的固定比例采样。

  • fixed_frame_sampling_ratio

    固定帧消息的固定比例采样。

  • imu_sampling_ratio

    IMU 消息的固定比例采样。

  • landmarks_sampling_ratio

    地标消息的固定比例采样。
    参考链接:https://google-cartographer-ros.readthedocs.io/en/latest/configuration.html

相关推荐
程序喵大人1 小时前
【C++进阶】STL算法与函数对象 - 09 函数对象保存状态并复用规则
开发语言·c++·算法·stl·函数对象
致Great6 小时前
DeepSeek Harness插件开发实战教程:我让它自己写了一个 arXiv 搜索插件
算法
ShineWinsu7 小时前
对于C++:auto_ptr、unique_ptr、shared_ptr的模拟实现
c++·面试·笔试·智能指针·unique_ptr·shared_ptr·auto_ptr
XLYcmy9 小时前
京东 算法实习一面 下+手撕
c++·python·llm·概率论·数据处理·训练·codebert
反转180度10 小时前
Qt 6 + C++17 实现 SFTP 批量部署:工业设备运维工具实战解析
运维·c++·qt
罗西的思考10 小时前
【Agent OS / AIOS】AOHP 深度解读:当 OS 开始为 Agent 而设计
人工智能·算法·机器学习
雨辰AI11 小时前
RAG 知识库搭建:基于人大金仓构建信创运维问答机器人|全栈国产化落地完整版
运维·ai·机器人·ai编程
民乐团扒谱机11 小时前
【微实验】组合优化matlab实战(马科维茨投资模型):在收益与风险之间,寻找最优的人生配比
大数据·人工智能·算法·机器学习·数学建模·matlab·组合优化
码匠许师傅11 小时前
【C++ 面试真题】聊聊 C++ 的多继承与虚继承
开发语言·c++·面试
Nil20812 小时前
leetcode 160相交链表
算法·leetcode·链表