激光雷达潜水员串行警告

1视图(30天)
지유신
지유신 2021年2月4日
嗨,我是使用hokuyu URG-04LX激光雷达和matlab试图获取数据。我使用激光雷达mathworks司机,但我得到了一个错误”发生了超时之前终结者。“串行”无法读取所有请求的数据。有关可能的原因的更多信息,请参见连续阅读警告。”The code I got from mathwork is
%安装激光雷达
% %配置串行通信和更新传感器通信
% SCIP2.0协议。
% %检查版本信息和开关激光器。
%的作者——Shikhar Shrestha, IIT布巴内斯瓦尔
激光雷达=串行(“COM3”,“波特率”,115200年);
集(激光雷达,“超时”,0.1);
集(激光雷达,InputBufferSize, 40000);
集(激光雷达、“终结者”、“CR”);
fopen(激光雷达);
暂停(0.1);
流(激光雷达、“SCIP2.0”);
暂停(0.1);
fscanf(激光雷达);
流(激光雷达,VV);
暂停(0.1);
fscanf(激光雷达)
流(激光雷达、“BM”);
暂停(0.1);
fscanf(激光雷达)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
%得到激光雷达扫描
%返回一个向量后682个元素的激光雷达扫描范围从最小的一步
%马克斯步骤。
%范围值对应-120年至+ 120度。
%的作者——Shikhar Shrestha, IIT布巴内斯瓦尔
函数[rangescan] = LidarScan(激光雷达)
继续= 0;
而(继续= = 0)
流(激光雷达、“GD0044072500”);
暂停(0.1);
data = fscanf(激光雷达);
如果元素个数(数据)= = 2134
继续= 1;
结束
结束
我找=(数据= =数据(13));
rangedata =数据(我(3)+ 1:end-1);
j = 0:31
onlyrangedata (j (64 *) + 1: (64 * j) + 64) = rangedata (1 + (66 * j): 64 + (66 * j));
结束
j = 0;
因为我= 1:地板(元素个数(onlyrangedata) / 3)
encodeddist(我:)= (onlyrangedata ((3 * j) + 1) onlyrangedata ((3 * j) + 2) onlyrangedata ((3 * j) + 3)];
j = + 1;
结束
k = 1:尺寸(encodeddist, 1)
rangescan (k) = decodeSCIP (encodeddist (k,:));
结束
结束
我怎样才能摆脱警告?

答案(0)

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!