SkoltechRobotics / rplidar

Python module for RPLidar A1 and A2 rangefinder scanners
MIT License
185 stars 126 forks source link

Wrong body size #36

Open higho51420 opened 3 years ago

higho51420 commented 3 years ago

i run the command: for meas in lidar.iter_measurments():
it's occur the

Traceback (most recent call last): File "/home/nx/Desktop/rplidar/simple.py", line 15, in for meas in lidar.iter_measurments(): File "/home/nx/.local/lib/python3.6/site-packages/rplidar.py", line 323, in iter_measurments raw = self._read_response(dsize) File "/home/nx/.local/lib/python3.6/site-packages/rplidar.py", line 199, in _read_response raise RPLidarException('Wrong body size') rplidar.RPLidarException: Wrong body size

i have read some solutions ,but it also occur sometimes . my pyserial version is 3.4.Thank you for your read

zlite commented 3 years ago

I have the same problem. My RPLidar A1M8 with firmware 1.29, hardware version 7, does not work with the Python library and gives the wrong body size error. It does work with the Slamtec Frame Grabber app, however, so I know the hardware is working. My other A1M8s with firmware 1.27, hardware version 5, all work fine with the Python library. I think Slamtec changed something (perhaps adding the new scan modes) in the latest firmware that broke the Python library Screenshot 2021-02-27 170903 Screenshot 2021-02-27 171234

zlite commented 3 years ago

Update: Slamtec says that this may be due to the default scan mode being changed to boost mode in firmware 1.29. They say that they do not support Python(!) and are not intending to fix these libraries. They say it's up to us to fix them ourselves :-(

tkwk031 commented 3 years ago

solve this problem https://github.com/Roboticia/RPLidar << use roboticia.git provides selecting scan mode. default: normal if you want the express mode read rplidar.py