1. 程式人生 > >【鐳射SLAM, ROS】鐳射畸變的校正

【鐳射SLAM, ROS】鐳射畸變的校正

frame.getRotation()或getOrigin() --> tf::Quaternion或者tf::Vector3 --> 進一步經tf::getYaw獲得弧度

對上述位姿插值獲得每個鐳射對應的mid_pose和mid_angle,其中lerp對位置,slerp對四元數角度

將極座標鐳射點雲依次轉換到雷達座標系,里程計座標系(世界座標),再由base和里程計(世界)的關係,轉換到base座標系,最後轉換成極座標

即將該直線段內採集到的所有鐳射點校正作為是在base點採集到的

 

這一課看了三天

1、理論上,插值的背後是多次座標變換

2、no such launch file多半是沒source對,特別注意source拼寫,錯了也不會報

3、catkin_make, source一般在ws下進行,roslaunch一般格式roslaunch (src下的資料夾名稱) xxx.launch

4、程式設計變數寫錯,找了一天的bug

①把beam_step錯寫成了beam_number

②把angle[startIndex+i]錯寫成range[startIndex+i]。導致形成螺旋線,噩夢啊啊啊啊啊,搞了一下午加一晚上

 

寫程式碼要認真!!!