amcl
Jaky_wang
帅气
展开
-
amcl 代码研究(6)——pf_kdtree(2)
上篇博客里的函数中都是对KD_Tree内部函数的调用,这篇具体分析KD_Tree。//判断key值是否相等 Compare keys to see if they are equal// Compare keys to see if they are equalint pf_kdtree_equal(pf_kdtree_t *self, int key_a[], int key原创 2020-08-06 09:11:01 · 1467 阅读 · 1 评论 -
amcl 代码研究(6)——pf(1)
前面分析了KD_Tree, 现在研究粒子滤波pf://一个粒子, 表示位姿和权重// Information for a single sampletypedef struct{ // Pose represented by this sample pf_vector_t pose; // Weight for this pose double weight;原创 2018-01-31 10:33:25 · 2025 阅读 · 0 评论 -
amcl 代码研究(6)——pf(2)
//新建一个滤波器// Create a new filterpf_t *pf_alloc(int min_samples, int max_samples, double alpha_slow, double alpha_fast, pf_init_model_fn_t random_pose_fn, void *random原创 2018-01-31 15:05:10 · 1542 阅读 · 2 评论 -
amcl 代码研究(1)—— amcl_sensor
class AMCLSensorData;class AMCLSensor{ // Default constructor public: AMCLSensor(); // Default destructor public: virtual ~AMCLSensor(); // Update the filter based on原创 2018-01-30 11:00:46 · 1122 阅读 · 0 评论 -
amcl 代码研究(2)—— amcl_odom
typedef enum{ ODOM_MODEL_DIFF, ODOM_MODEL_OMNI, ODOM_MODEL_DIFF_CORRECTED, ODOM_MODEL_OMNI_CORRECTED} odom_model_t;// Odometric sensor dataclass AMCLOdomData : public AMCLSensorData原创 2018-01-30 11:01:01 · 1373 阅读 · 1 评论 -
amcl 代码研究(3)—— amcl_laser
typedef enum{ LASER_MODEL_BEAM, LASER_MODEL_LIKELIHOOD_FIELD, LASER_MODEL_LIKELIHOOD_FIELD_PROB} laser_model_t;// Laser sensor dataclass AMCLLaserData : public AMCLSensorData{ public:原创 2018-01-30 11:01:09 · 962 阅读 · 0 评论 -
amcl 代码研究(4)—— map
// Description for a single map cell.typedef struct{ // Occupancy state (-1 = free, 0 = unknown, +1 = occ) int occ_state; // Distance to the nearest occupied cell double occ_dist; // Wif原创 2018-01-30 11:01:18 · 1006 阅读 · 0 评论 -
amcl 代码研究(5)—— AmclNode::laserReceived
当接收到激光数据时调用该函数void AmclNode::laserReceived(const sensor_msgs::LaserScanConstPtr& laser_scan)判断是否frame_to_laser_中是否有laser_scan->header.frame_idif(frame_to_laser_.find(laser_scan->header.fra原创 2018-01-30 11:01:26 · 2149 阅读 · 0 评论 -
amcl 代码研究(6)——pf_kdtree(1)
amcl中采用了粒子滤波方法,其中的数据结构为kd-tree,现分析如下:typedef struct{ double v[3];} pf_vector_t; //向量// The basic matrixtypedef struct{ double m[3][3];} pf_matrix_t; //矩阵KD-Tree:// Info原创 2018-01-30 15:45:12 · 1405 阅读 · 0 评论