Robotics StackExchange | Archived questions

Humanoid localization won't work with Octomap

Hi, I'm creating a map using the octomapserver package, and I'm trying to using humanoid localization as my localization package. The robot I'm using is the iRobot Create, and I'm using the tf frames published by the turtlebot package as my torso frame (baselink) and odom frame. The package documentation says that it will work for a UAV, so I figure that it will also work for the Create. The localization isn't working. When I move the robot around in the environment I build for it, the published pose topic doesn't really show any consistent pattern with respect to where the robot is in the map. For example, I will move it in the positive x-direction, and the y position will start decreasing. I'm not sure if I'm doing something wrong. Here is the launch file I'm using to start the localization package:

<node pkg="mapping_3D" type="localize_transforms" name="transforms" />

<node pkg="hokuyo_node" type="hokuyo_node" name="hokuyo_node">
    <param name="frame_id" value="/hokuyo" />
</node>

<node pkg="octomap_server" type="octomap_server_node" name="octomap_server" args="$(find mapping_3D)/data/sept23_2.bt" />

<node pkg="humanoid_localization" type="localization_node" name="localization" >
    <rosparam file="$(find mapping_3D)/config/localization_params.yaml" command="load" />
</node>

The localizetransform simply broadcasts a transform from the baselink to the laser frame (hokuyo). And here's the yaml param file:

baseframeid: baselink odomframeid: odom globalframeid: vrpn initglobal: true initfromtruepose: false useraycasting: true initialpose/x: 0.0 intialpose/y: 0.0 intialpose/z: 0.0 intialpose/roll: 0.0 initialpose/pitch: 0.0 initialpose/yaw: 0.0 initialstd/x: 0.005 initalstd/y: .001 initialstd/z: .001 initialstd/roll: .005 initialstd/pitch: .005 initial_std/yaw: .005

Any advice on what might be going wrong here? Thanks, Challen

Asked by Challen on 2013-09-25 11:52:07 UTC

Comments

Answers