本文主要是介绍SICK激光传感器:LMS400生成表面点云,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简介
SICK LMS400是德国SICK公司生产的单线型激光传感器,主要应用于室内场景的测量,打出的激光是650nm可见红光,其主要参数如下:
- 性能:扫描频率300Hz-500Hz、角度分辨率0.1°-1.0°可选、工作区域0.7m-3.0m、水平测量角度70°、测量精度±4mm;
- 接口:Ethernet(TCP/IP协议)、RS232串口;
- 电子参数:供电电压24VDC、功耗25W、外壳防护等级IP65;
- 机械参数:外壳材质压铸铝、尺寸(长 x 宽 x 高)179 mm x 107 mm x 130 mm;
- 温度:工作环境温度0°C…+40°C,储存温度–20°C…+70°C;
- 最小可检测物体:30 mm x 30 mm;
LMS400扫描的结果是二维平面点云,其工作区域如下图所示,需要注意的是,当激光如下Fig.3图放置时,其坐标系是Y轴朝前为正、X朝右为正,而且扫描的点云结果是按照X坐标由大到小(如图从右往左)进行存储的,即下述代码中的lines.ranges.front()代表最右边的有效点,lines.ranges.back()代表最左边的有效点,千万不要搞反。

工作区域图表:
代码
环境:Win10+VS2015+PCL1.8
// LMS400连续扫描
#include<iostream>
#include<stdio.h>
#include<fstream>//pcl
#include <pcl/point_types.h>
#include <pcl/visualization/cloud_viewer.h>
#include <pcl/io/io.h>
#include <pcl/io/pcd_io.h>
#include <conio.h>#include "LMS400.h"
#define KEYDOWN( vk ) ( 0x8000 & ::GetAsyncKeyState( vk ) )using namespace std;int main(int argc, char** argv)
{WSADATA wsaData;
这篇关于SICK激光传感器:LMS400生成表面点云的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!