laser_scan处理
laser_scan的const指针转换为普通指针
void laserScanCallback(const sensor_msgs::LaserScanConstPtr& scan)
{
// 将const指针转换为非const指针
sensor_msgs::LaserScanPtr scanPtr = boost::const_pointer_cast<sensor_msgs::LaserScan>(scan);
// 在这里可以对scanPtr进行修改或使用
// ...
}
点云顺序转换
sensor_msgs::LaserScanPtr scan_ptr(new sensor_msgs::LaserScan);
// 复制 scan_const_ptr 的数据到 scan_ptr
*scan_ptr = *scan_const_ptr;
// 反转点云距离顺序
std::reverse(scan_ptr->ranges.begin(), scan_ptr->ranges.end());
//反转点云强度顺序
std::reverse(scan_ptr->intensities.begin(), scan_ptr->intensities.end());