hector_slam/Tutorials/SettingUpForYourRobot

本文档详细介绍了如何为您的机器人正确配置hector_slam,包括不同坐标系之间的转换及参数设置,适用于学习环境地图的同时估计平台二维姿态的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

hector_slam/Tutorials/SettingUpForYourRobot 

Overview

hector_slam uses the hector_mapping node for learning a map of the environment and simultaneously estimating the platform's 2D pose at laser scanner frame rate. The frame names and options for hector_mapping have to be set correctly. This tutorial explains the different options. The image below shows all potential frames of interest in a simplified 2D view of a robot travelling through rough terrain, leading to roll and pitch motion of the platform:

attachment:coordsystems_img.png

The general relationship between the map, odom and base_link frames is already described in Coordinate Frames for Mobile Platforms. We use two frames in between odom and base_link: The base_footprint frame provides no height information and represents the 2D pose of the robot (position and orientation). The base_stabilized frame adds information about the robot height relative to the map/odom layer. The base_link frame is rigidly attached to the robot and adds the roll and pitch angles compared to the base_stabilized frame. For this transformation, a system for estimation of the vehicle attitude like a AHRS or INS can be used. For a platform not exhibiting roll/pitch motion, the base_stabilized and base_link frames are equal. The transformation from base_link to laser_link is typically provided by a static transform publisher or therobot state publisher.

Setup

We assume that the reader has a basic understanding of ROS parameters and launch files for the following section. Thehector_slam_launch package contains some launch files that might serve as examples.

Use in place of gmapping

gmapping publishes the map->odom transform. You have to set the following parameters of hector_mapping to the reflect the setup on your platform:

    <param name="pub_map_odom_transform" value="true"/>
    <param name="map_frame" value="map" />
    <param name="base_frame" value="base_frame" />
    <param name="odom_frame" value="odom" />

If your platform exhibits roll/pitch motion you have to set the base_frame so it has the properties of the base_stabilized frame described in the Overview section above.

Use without odom frame

If you do not require the use of a odom frame (for example because your platform does not provide any usable odometry) you can directly publish a transformation from map to base_link:

    <param name="pub_map_odom_transform" value="true"/>
    <param name="map_frame" value="map" />
    <param name="base_frame" value="base_frame" />
    <param name="odom_frame" value="base_frame" />

Use without Broadcasting of transformations

The system can also be used without broadcasting any tf transformation. This can be useful if another node is responsible for publishing the map->odom or map->base_frame transform. This can be done by setting:

    <param name="pub_map_odom_transform" value="false"/>

In this case, the estimated pose published on the poseupdate topic of hector_mapping might be used for example by a INS system which then publishes a map->base_frame transform.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值