37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞不掂的问题,希望能够抛砖引玉。
三角测量法
是通过测量目标点与固定基准线的已知端点角度来测量观测目标的距离。三角测量运用到天文测距时,可以根据地球自转一天或一周时与观测目标产生的视觉差距,也称作“周日地平视差”,来计算地月距离,此方法因地球半径长度限制,只适合测量太阳系内天体间的距离。光学三角测量法是一种最常用的一种光学三维测量技术,以传统的三角测量为基础,通过待测点相对于光学光学基准线偏移产生的角度变化计算该点的深度信息。根据具体的照明方式的不同,三角法可以分为被动三角法和主动三角法。
红外传感器基于三角测量原理。红外发射器按照一定的角度发射红外光束,当遇 到物体以后,光束会反射回来,如图所示。反射回来的红外光线被 CCD 检测器检测到以后,会获得一 个偏移值 L,利用三角关系,在知道了发射角度 a,偏移距 L,中心矩 X,以及滤镜的焦距 f 以后,传感器 到物体的距离 D 就可以通过几何关系计算出来了。
非线性输出
该系列的传感器的输出是非线性的。每个型号的输出曲线都不同。所以,在实际使用前,最 好能对所使用的传感器进行一下校正。对每个型号的传感器创建一张曲线图,以便在实际使用中获得真实 有效的测量数据。下图是典型的输出曲线图。
可以看到,当 D 的距离足够近的时候,L 值会相当大,超过 CCD 的探测范围,这时,虽然物体很近,但 是传感器反而看不到了。当物体距离 D 很大时,L 值就会很小。这时 CCD 检测器能否分辨得出这个很小 的 L 值成为关键,也就是说 CCD 的分辨率决定能不能获得足够精确的 L 值。要检测越是远的物体,CCD 的分辨率要求就越高。
从上图中,可以看到,当被探测物体的距离小于 10cm 的时候,输出电压急剧下降,也就是说从电压读数 来看,物体的距离应该是越来越远了。但是实际上并不是这样的,想象一下,你的机器人本来正在慢慢的 靠近障碍物,突然发现障碍物消失了,一般来说,你的控制程序会让你的机器人以全速移动,结果就是," 砰"的一声。当然了,解决这个方法也不是没有,这里有个小技巧。只需要改变一下传感器的安装位置,使 它到机器人的外围的距离大于最小探测距离就可以了。如下图所示。
Arduino实验接线示意图
Arduino实验开源代码
实验串口返回情况
Arduino实验开源代码之二
实验串口返回情况
Arduino实验开源代码之三
实验串口返回情况
到此这篇gmock使用案例(glock gmbh)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/cjjbc/14723.html