pyrplidar icon indicating copy to clipboard operation
pyrplidar copied to clipboard

IndexError: string index out of range

Open Caumaker opened this issue 5 years ago • 11 comments

Hi there, thanks for the pyrplidar. I was searching how begin with RPLIDAR A1M8. And I found your project. It's is very clear and well documented. Congratulations. I have experiencing some issue when I try to connect to my lidar. I got the follow crash in every example:

λ python check_connection.py PyRPlidar Info : device is connected Traceback (most recent call last): File "check_connection.py", line 33, check_connection() File "check_connection.py", line 13, info = lidar.get_info() File "C:\Python27\lib\site-packages\p discriptor = self.receive_discripto File "C:\Python27\lib\site-packages\p discriptor = PyRPlidarResponse(self File "C:\Python27\lib\site-packages\p self.sync_byte1 = raw_bytes[0] IndexError: string index out of range

Could you help me? I tried on Windows and Linux already. No successs. Thanks in advance.

Caumaker avatar Oct 05 '19 19:10 Caumaker

Hi there, thanks for the pyrplidar. I was searching how begin with RPLIDAR A1M8. And I found your project. It's is very clear and well documented. Congratulations. I have experiencing some issue when I try to connect to my lidar. I got the follow crash in every example:

λ python check_connection.py PyRPlidar Info : device is connected Traceback (most recent call last): File "check_connection.py", line 33, check_connection() File "check_connection.py", line 13, info = lidar.get_info() File "C:\Python27\lib\site-packages\p discriptor = self.receive_discripto File "C:\Python27\lib\site-packages\p discriptor = PyRPlidarResponse(self File "C:\Python27\lib\site-packages\p self.sync_byte1 = raw_bytes[0] IndexError: string index out of range

Could you help me? I tried on Windows and Linux already. No successs. Thanks in advance.

Hi. I realized that the Baud Rate of 115200 is used in this library. So, instead of using 256000 as stated in the example codes, please change it to 115200. This will solve your problem.

kuehjialee avatar Nov 12 '19 13:11 kuehjialee

Hello, I have been getting this same error and have already changed the Baud Rate to 115200, but that did not seem to help. Any other changes I could make?

adolfoherrera1417 avatar Nov 13 '19 05:11 adolfoherrera1417

How about your serial port? Sometimes, your serial port name will change after shutting down. Double check your "Port" and "Baud Rate".

kuehjialee avatar Dec 01 '19 12:12 kuehjialee

Hi, I am having the same issue. I double checked the baud rate and port multiple times. I also reinstalled the driver - no change. Any thoughts? Same model A1M8

irbigturtle avatar Apr 28 '20 23:04 irbigturtle

The same problem with the code. With right Baud Rate and com port.

Ajasra avatar Aug 12 '20 07:08 Ajasra

请问一下,大家这个问题解决了吗

Yang-Changhui avatar Mar 19 '21 06:03 Yang-Changhui

hi,I met the same problem,I want to know if you solve the problem.If you could help me ,I will appreciate it

Yang-Changhui avatar Mar 19 '21 07:03 Yang-Changhui

i find https://github.com/SkoltechRobotics/rplidar

ZGX010 avatar Mar 19 '21 15:03 ZGX010

Changing the baud to 115200 worked for my RPLIDAR A1M8 on Ubuntu in python3

yurikleb avatar May 11 '21 07:05 yurikleb

This works for the A1M8 (all firmware versions) and the A2M8 (latest firmware version) that run a 115,000 baud:

Setup the RPLidar

PORT_NAME = '/dev/ttyUSB0' lidar = RPLidar(None, PORT_NAME, timeout=3)

TCIII avatar Aug 06 '21 13:08 TCIII

On Windows 10, modifying a file the pyrplidar_serial.py from library helps. In line 13 replace: "self._serial = serial.Serial(port, baudrate, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, timeout=timeout, dsrdtr=True)" to " self._serial = serial.Serial(port, baudrate, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, timeout=timeout, dsrdtr=False)"

kamil52512 avatar May 18 '22 08:05 kamil52512