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]。导致形成螺旋线,噩梦啊啊啊啊啊,搞了一下午加一晚上
写代码要认真!!!