使用RPLIDAR中的A1激光雷达,以及实现SDK的python3库之一(在我的例子中是RPLIDAR库),我无法让激光雷达像文档建议的那样快速采样点,即它应该达到8000点/秒,而我的最大采样点是1000点/秒(5.5Hz*170),对于我的使用来说,这还不够(从点云创建3D网格)
我用来检查速度的代码如下: https://github.com/SkoltechRobotics/rplidar/blob/master/examples/measure_speed.py 获取每次扫描的测量次数的代码是readme中的样本
我得到了这样的结果:
有人知道如何从Python API实现激光雷达的全采样率吗? 我要么在树莓上工作,要么在窗户上工作。如果解决方案可以是100%python,那将是最好的。 谢谢
对于该设备,python库似乎正在老化
尝试最大化您的电机速度,并使用快速(即压缩)模式。快速模式允许通过相同的115200波特率连接进行更多测量,扫描速率与电机速度直接相关(自动)
import rplidar
,在lidar.iter_scans()
之前添加lidar.motor_speed = rplidar.MAX_MOTOR_PWM
iter_scans(scan_type='express')
一样调用iter_scans
李>min_len=100
以减少iter_扫描产生更多数据的频率,并max_buf_meas=False
以避免删除数据和接收屏幕截图中显示的“输入缓冲区中的字节太多”消息李>(我还建议尝试在循环中不使用print语句,除非您确实希望实时监视它。)
完整代码:
完整代码:
我最近在我的项目中遇到了与您相同的问题:我尝试了您使用的库的Roboticia's fork和PyRPlidar
PyPrIDAR在Python中只提供了更多的读数,但仍然不足以与SLAMTEC/ROS包装器提供的C++实例相竞争。p>
然而,我发现了这个library最快的Rplidar实现了这一目的。它基本上是用SWIG构建的C++ SDK的包装器。作者在一篇文章中谈到了这一点
对我来说唯一的问题是它只为ARM(Raspberry Pi)编译,但我能够按照说明轻松地为Linux编译它。您可以使用它,就像您的树莓PI需求一样,并且为Windows编译它具有跨平台和C++类似的性能解决方案。p>
相关问题 更多 >
编程相关推荐