lianshangni0922 / mcl

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

mcl

mcl is an alternative Monte Carlo localization (MCL) package to amcl (http://wiki.ros.org/amcl). Differently from amcl, KLD-samping and adaptive MCL are not implemented.

This package is suitable for learning MCL due to its simplicity.

Nodes

mcl_node

This node transforms laser scans and odometry transform messages to pose estimations by using an occupancy grid map.

Subscrbed Topics

Published Topics

Services Called

Parameters

  • ~odom_freq (int, default: 20 [Hz])
    • frequency of odometry update
  • ~num_particles (int, default: 1000)
    • number of particles
  • ~odom_frame_id (string, default: "odom")
    • the frame for odometry
  • ~base_frame_id (string, default: "base_footprint")
    • the frame of the localized robot's base
  • ~global_frame_id (string, default: "map")
    • the frame for localization
  • ~initial_pose_x (double, default: 0.0 [m])
    • initial x coordinate of particles
  • ~initial_pose_y (double, default: 0.0 [m])
    • initial y coordinate of particles
  • ~initial_pose_a (double, default: 0.0 [rad])
    • initial yaw coordinate of particles
  • ~odom_fw_dev_per_fw (double, default: 0.19 [m/m])
    • standard deviation of forward motion noise by forward motion
  • ~odom_fw_dev_per_rot (double, default: 0.0001 [m/rad])
    • standard deviation of forward motion noise by rotational motion
  • ~odom_rot_dev_per_fw (double, default: 0.13 [m/m])
    • standard deviation of rotational motion noise by forward motion
  • ~laser_likelihood_max_dist (double, default: 0.2 meters)
    • maximum distance to inflate occupied cells on the likelihood field map

Notes

likelihood field

This implemenation uses an ad-hoc likelihood field model. Occupied cells on the map are inflated so that each collision detection between a laser beam and an occupied cell is relaxed. The likelihood for each cell is given with a pyramidal kernel function. The parameter ~laser_likelihood_max_dist gives the length from the center cell to the edge of the pyramid.

About

License:GNU Lesser General Public License v3.0


Languages

Language:C++ 76.7%Language:CMake 23.3%