![]() |
ike_localization package from ike_nav repoike_controller ike_costmap_2d ike_launch ike_localization ike_map_server ike_nav ike_nav_msgs ike_nav_parameters ike_nav_rviz_plugins ike_nav_server ike_planner ike_waypoint_follower |
Package Summary
Tags | No category tags. |
Version | 0.0.0 |
License | LGPL |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/uhobeike/ike_nav.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2023-12-19 |
Dev Status | UNMAINTAINED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tatsuhiro Ikebe
Authors
ike_localization
Package overview
Monte Carlo localization1のROS 2 C++実装です。
2次元地図nav_msgs/OccupancyGrid
、2次元センサ情報sensor_msgs/LaserScan
、移動ロボットのオドメトリ情報tf2_msgs/TFMessage
から、2次元地図上での自己位置geometry_msgs/PoseStamped
を推定します。
Input / Output
Input
Name(Topic) | Type | Description |
---|---|---|
/map |
nav_msgs::msg::OccupancyGrid |
map_serverから受け取る2次元地図 |
/scan |
sensor_msgs::msg::LaserScan |
ロボットから得られる2次元スキャンデータ |
/initialpose |
geometry_msgs::msg::PoseWithCovarianceStamped |
自己位置推定のための初期値 |
Output
Name(Topic) | Type | Description |
---|---|---|
/likelihood_map |
nav_msgs::msg::OccupancyGrid |
尤度場 |
/particle_cloud |
nav2_msgs::msg::ParticleCloud |
パーティクル群群 |
/mcl_pose |
geometry_msgs::msg::PoseStamped |
パーティクル全体の平均姿勢 |
/marginal_likelihood |
std_msgs::msg::Float32 |
周辺尤度 |
/scan_match_point |
visualization_msgs::msg::MarkerArray |
各パーティクルのスキャンと尤度場のマッチポイント |
Parameters
Name(Parameter) | Type | Description |
---|---|---|
map_frame |
std::string |
マップ座標系 |
odom_frame |
std::string |
オドメトリ座標系 |
robot_frame |
std::string |
ロボット座標系 |
particle_size |
int |
パーティクルの最大数 |
alpha_trans_trans |
double |
直進で生じる直進の誤差 |
alpha_trans_rotate |
double |
直進で生じる回転の誤差 |
alpha_rotate_trans |
double |
回転で生じる直線の誤差 |
alpha_rotate_rotate |
double |
回転で生じる回転の誤差 |
likelihood_dist |
double |
尤度場距離 |
loop_mcl_hz |
double |
MClの周期 |
publish_particles_scan_match_point |
bool |
各パーティクルのスキャンと尤度場のマッチポイントの可視化(可視化すると、見応えがあるが非常に重い処理) |
Reference
- 動作モデル
-
https://github.com/ros-planning/navigation2/blob/ef4de1527997c3bd813afe0c6296ff65e05700e0/nav2_amcl/src/motion_model/differential_motion_model.cpp#L57-L61
-
https://github.com/ros-planning/navigation2/blob/ef4de1527997c3bd813afe0c6296ff65e05700e0/nav2_amcl/src/motion_model/differential_motion_model.cpp#L75-L80
-
- マップ座標系からオドメトリ座標系への変換
- https://github.com/ros-planning/navigation2/blob/ef4de1527997c3bd813afe0c6296ff65e05700e0/nav2_amcl/src/amcl_node.cpp#L975-L1016
- ros-planning/navigation2/nav2_amcl
- 『詳解 確率ロボティクス ― Pythonによる基礎アルゴリズムの実装 ―』講談社〈KS理工学専門書〉、2019年、ISBN 978-406-51-7006-9
- 『確率ロボティクス』 上田隆一 訳、毎日コミュニケーションズ〈MYCOM ROBOT books〉、2007年、ISBN 9784839924010。(プレミアムブック版 ISBN 978-483-99-5298-3)
LICENSE
動作モデルとtf周りでnavigation2/nav2_amcl を参考にした箇所があるためGPL v3.0ライセンスとなっています。
Citation
-
Jens-Steffen Gutmann and Dieter Fox: ‘‘An Experimental Comparison of Localization Methods Continued,’’ Proc. IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp.~454-459, 2002. ↩
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
ike_controller | |
ike_launch | |
ike_nav | |
ike_nav_server |