在apollo的多感測器定位資料夾裡(/modules/localization/msf)的這些檔案()記錄了apollo進行雷射雷達定位的方式(檔案如下)
首先來看看localization_lidar.cc
localizationlidar::localizationlidar()
localizationlidar::~localizationlidar()
建構函式與析構函式(構建函式裡有說明雷達的高度,如果要用自己除錯的車輛注意修改其高度值)
bool localizationlidar::init(const std::string& map_path,
const unsigned int search_range_x,
const unsigned int search_range_y,
const int zone_id,
const unsigned int resolution_id)
確定已知地圖點雲是否讀入且識別成功
void localizationlidar::setvelodyneextrinsic(const eigen::affine3d& pose)
進行雷射雷達的外部校準
void localizationlidar::setvehicleheight(double height)
設定雷射雷達的高度
void localizationlidar::setvalidthreshold(float valid_threashold)
設定雷射雷達的定位閾值
void localizationlidar::setimagealignmode(int mode)
設定雷射雷達標定的方式
void localizationlidar::setlocalizationmode(int mode)
設定定位方式
void localizationlidar::setdeltayawlimit(double limit)
void localizationlidar::setdeltapitchrolllimit(double limit)
int localizationlidar::update(const unsigned int frame_idx,
const eigen::affine3d& pose,
const eigen::vector3d velocity,
const lidarframe& lidar_frame)
檢查是否載入點雲地圖
load all needed map
preload map for next locate
生成合成地圖進行比較
將地圖節點傳送到的定位器
將雷達得到的點雲傳送到的定位器
進行雷射雷達的點雲匹配lidar_locator_->compute
void localizationlidar::getresult(eigen::affine3d *location,
eigen::matrix3d *covariance)
獲得匹配結果
void localizationlidar::getlocalizationdistribution(
eigen::matrixxd *distribution)
從固態驅動盤中分配到空間
void localizationlidar::refinealtitudefrommap(eigen::affine3d *pose)
獲得雷達的海拔
void localizationlidar::composemapnode(const eigen::vector3d& trans)
構建地圖的節點
百度Apollo學習筆記(1) 定位技術
1.無人車的定位是什麼 無人車的定位就是確定無人車相當於乙個座標系的位姿。2.定位系統指標要求 專案指標 理想值精度 誤差均值 10cm 魯棒性最大誤差 30cm 場景覆蓋場景 全天候3.無人車定位方法 4.定位常用座標系 4.1 地心慣性座標系 eci 4.2 地心地固座標系 ecef 地心地固座...
Apollo學習筆記(一)概述 大綱
自動駕駛正處在告訴發展的階段。寫篇部落格便於以後複習。因為做的是自動駕駛中的某個流程,但是和機器學習無關。所以很多都是略過略過,有時間一定會好好研讀機器學習相關的內容。講真大學本科學機器學習真是給我這個菜雞留下了心理陰影。主要是概述,連起來便於我複習,整個自動駕駛系統分為幾個主要模組 共享記憶體 一...
CSS學習之 定位
如果,說浮動,關鍵在乙個 浮 字上面,那麼 我們的定位,關鍵在於乙個 位 上。css離不開定位,特別是js特效,天天和定位打交道。那麼定位,最常運用的場景再那裡呢?小黃色塊可以再上移動 元素的定位屬性主要包括定位模式和邊偏移兩部分。1 邊偏移 邊偏移屬性 描述top 頂端偏移量,定義元素相對於其父元...