Thursday, November 25, 2010

Usable data from XV-11 LIDAR

Here is a data dump from my XV-11 LIDAR unit. This looks significantly different from the dumps seen on Sparkfun. I will describe the data as I understand it at this time below.


A0 FA 49 F7 01 27 04 2E 01 27 04 02 01 26 03 C5 01 26 03 E4 10 90

A1 FA 4A 1E 01 25 03 F1 01 25 04 17 01 25 03 C5 01 25 03 E5 28 5B

A2 FA 4A 1E 01 25 04 2D 01 25 03 DE 01 26 03 8B 01 26 03 F1 32 FD

A3 FA 4A 1E 01 26 04 16 01 27 03 B3 01 27 03 CD 01 28 03 92 2C 06

A4 FA 4A 1E 01 29 03 B5 01 2A 03 62 01 2A 03 52 01 2A 03 40 0E 78

A5 FA 4A 1E 01 2C 03 5F 01 2D 03 6B 01 2E 03 5B 01 30 03 58 7B D3

A6 FA 4A 1E 01 31 03 3C 01 34 03 3A 01 36 03 42 01 38 03 13 73 0E

A7 FA 49 EE 01 3A 03 04 01 3C 03 0A 01 3E 02 E5 01 41 02 DD 36 3A

A8 FA 49 EE 01 43 02 CB 01 46 02 C2 01 49 02 AA 01 4D 02 93 28 78

A9 FA 49 EE 01 51 02 9B 01 55 02 68 01 58 02 77 01 5C 02 58 1F 4B

AA FA 49 EE 01 61 02 5C 01 65 02 42 01 6A 02 23 01 6F 02 04 16 41

AB FA 49 EE 01 74 01 F5 01 7A 01 E0 01 80 01 DB 01 85 01 D2 02 0E

AC FA 49 EE 01 8C 01 B6 01 93 01 AD 80 03 00 00 01 A1 01 4B 6A A7

AD FA 4A 0A 01 AA 01 6E 01 B3 01 60 01 B8 01 D4 01 C0 01 77 18 36

AE FA 4A 0A 80 02 00 00 80 02 00 00 01 C5 01 63 01 BF 01 65 1B C7

AF FA 4A 0A 01 BA 01 8C 01 B4 01 8F 01 B0 01 98 01 AB 01 9B 29 98

B0 FA 4A 0A 01 A6 01 9E 01 A1 01 97 01 9D 01 B2 01 98 01 CF 22 1A

B1 FA 4A 0A 01 95 01 BC 01 91 01 CD 01 8E 01 CA 01 8A 01 FA 22 75

B2 FA 4A 0A 01 88 01 DB 01 84 01 FF 01 81 02 1A 01 7E 02 19 26 18

B3 FA 49 D7 01 7C 02 21 01 7A 02 39 01 77 02 4E 01 75 02 44 01 94

B4 FA 49 D7 01 73 02 3C 01 70 02 2D 01 70 02 81 01 6D 02 81 02 99

B5 FA 49 D7 01 6C 02 9B 01 6B 02 A3 01 6A 02 87 01 6A 02 97 1D 96

B6 FA 49 D7 01 69 02 AA 01 68 02 A1 01 68 02 F5 01 67 02 AC 21 11

B7 FA 49 D7 01 66 02 B6 01 66 02 CA 01 66 02 CC 01 66 02 F8 24 7B

B8 FA 49 D7 01 66 02 C1 01 67 02 E2 01 67 02 CF 01 67 02 CB 28 C8

B9 FA 49 EE 01 68 02 B3 01 69 02 C4 01 6A 02 BC 01 6B 02 AA 3B 5F

BA FA 49 EE 01 6C 02 7A 01 6D 02 79 01 6E 02 87 01 70 02 67 2A 06

BB FA 49 EE 01 72 02 75 01 74 02 69 01 75 02 41 01 78 02 31 2A A4

BC FA 49 EE 01 7A 02 4E 01 7C 02 65 01 7E 02 2F 01 81 02 1D 25 A6

BD FA 49 EE 01 84 02 0C 01 86 02 39 01 8A 02 00 01 8D 01 EC 18 35

BE FA 49 EE 01 90 01 F6 01 94 01 F1 01 98 01 EB 01 9D 01 C7 16 10

BF FA 49 CD 01 A1 01 A4 01 A6 01 BA 01 AB 01 B2 01 B0 01 B1 67 A7

C0 FA 49 CD 01 B5 01 B0 01 BA 01 9D 01 C0 01 71 01 C7 01 6E 74 EA

C1 FA 49 CD 01 CD 01 7E 01 D4 01 65 01 DC 01 59 01 E2 01 5D 74 D3

C2 FA 49 CD 01 EB 01 4B 01 F4 01 31 01 FB 01 48 02 05 01 3F 78 B3

C3 FA 49 CD 02 0E 01 0F 02 18 01 13 02 23 01 B6 02 16 01 77 01 29

C4 FA 49 CD 02 0F 01 B4 02 08 01 9B 02 01 01 AA 01 FC 01 9F 30 22

C5 FA 49 D9 01 F6 01 A2 01 F0 01 A8 01 EB 01 B7 01 E5 01 D6 28 83

C6 FA 49 D9 01 DF 01 BD 01 DB 01 C6 01 D6 01 DB 01 D2 02 00 22 F3

C7 FA 49 D9 01 CE 01 EF 01 C9 01 E9 01 C6 01 FC 01 C2 01 F3 26 BE

C8 FA 49 D9 01 BF 02 17 01 BB 02 28 01 B9 02 2F 01 B6 02 50 2C 1B

C9 FA 49 D9 01 B3 02 51 01 B0 02 40 01 AE 02 59 01 AC 02 62 35 0D

CA FA 49 D9 01 AA 02 61 01 A8 02 7E 80 21 02 7E 01 A4 02 7D 2B B0

CB FA 4A 06 01 A3 02 B8 01 A1 02 C5 01 A0 02 B8 01 9E 02 F2 7B C5

CC FA 4A 06 01 9E 02 F0 01 9D 02 D6 01 9D 02 EB 01 9B 03 16 08 AC

CD FA 4A 06 01 9A 03 1C 01 9A 03 0F 01 9A 03 2A 01 9A 02 DF 15 8B

CE FA 4A 06 01 9A 03 47 01 99 03 08 01 9A 03 2E 01 9A 03 76 20 66

CF FA 4A 06 01 9A 03 29 01 9B 03 4B 01 9C 03 0A 01 9C 03 02 1C 6A

D0 FA 4A 06 01 9E 03 26 01 9F 02 D0 01 A0 02 E2 01 A1 02 DD 15 E3

D1 FA 4A 1A 01 A3 02 9C 01 A4 02 CA 01 A6 02 C9 01 A8 02 A7 09 CB

D2 FA 4A 1A 01 AA 02 6A 01 AD 03 1D 01 AE 02 9A 01 B0 02 31 06 3D

D3 FA 4A 1A 01 B4 02 46 01 B7 02 63 01 B9 02 0C 01 BD 02 31 76 1A

D4 FA 4A 1A 01 C1 02 07 01 C5 02 33 01 C8 02 07 01 CD 01 E3 6B D4

D5 FA 4A 1A 01 D1 01 E8 01 D6 01 FB 01 DA 01 E5 01 E0 01 BF 6A C2

D6 FA 4A 1A 01 E6 01 DA 01 EB 01 BC 01 F2 01 B2 01 F8 01 C4 70 9F

D7 FA 49 F6 01 FF 01 9A 02 06 01 A3 02 0C 01 77 02 15 01 75 4A C2

D8 FA 49 F6 02 1D 01 6B 02 25 01 44 02 2F 01 5D 02 39 01 3C 4C B5

D9 FA 49 F6 02 43 01 44 02 54 01 34 02 4C 00 F3 02 42 01 30 5A 1F

DA FA 49 F6 02 3B 01 19 02 33 01 05 02 2C 01 1A 02 23 01 31 43 B2

DB FA 49 F6 02 1C 01 34 02 14 01 39 02 0D 01 4B 02 06 01 6F 3A 26

DC FA 49 F6 02 00 01 4C 01 FA 01 6A 01 F5 01 74 01 EF 01 9B 31 DC

DD FA 49 DE 01 EB 01 66 01 E5 01 84 01 E1 01 96 01 DC 01 85 14 8C

DE FA 49 DE 01 D9 01 BF 01 D5 01 C2 01 D1 01 B8 01 CE 01 B9 23 D0

DF FA 49 DE 01 CA 01 A2 01 C6 01 E9 01 C4 01 CD 01 C0 02 06 15 C1

E0 FA 49 DE 01 BE 01 F9 01 BC 01 E6 01 BA 02 2D 01 B7 02 3D 25 6A

E1 FA 49 DE 01 B6 02 41 01 B2 02 35 01 B0 02 65 01 AE 02 50 37 AF

E2 FA 49 DE 01 AD 02 5D 01 AC 02 59 01 AA 02 2B 01 A9 02 56 3A 97

E3 FA 49 D3 01 A9 02 7A 01 A8 02 58 01 A8 02 67 01 A7 02 6A 35 3B

E4 FA 49 D3 01 A7 02 70 01 A6 02 4D 01 A6 02 5A 01 A6 02 66 30 85

E5 FA 49 D3 01 A7 02 57 01 A7 02 7B 01 A8 02 73 01 A8 02 69 2D C4

E6 FA 49 D3 01 A8 02 57 01 A9 02 73 01 AA 02 3E 01 AA 02 35 2D 14

E7 FA 49 D3 01 AC 02 57 01 AD 02 4E 01 AE 02 2A 01 B0 02 30 2D 1F

E8 FA 49 D3 01 B2 02 24 01 B3 02 0F 01 B5 02 26 01 B7 02 03 20 3C

E9 FA 49 CC 01 BA 01 F4 01 BD 02 0F 01 C0 01 E9 01 C2 01 D1 11 C8

EA FA 49 CC 01 C6 01 CC 01 C9 01 CC 01 CD 01 ED 01 D1 01 D1 0B B2

EB FA 49 CC 01 D4 01 A9 01 D9 01 85 01 DC 01 8D 01 E2 01 9A 06 69

EC FA 49 CC 01 E6 01 8A 01 EC 01 79 01 F1 01 85 01 F6 01 99 09 FC

ED FA 49 CC 01 FC 01 63 02 05 01 A7 01 F9 00 F5 01 EF 01 05 0E 9E

EE FA 49 CC 01 E4 01 15 01 D9 01 14 80 03 00 00 01 C8 01 15 4C B7

EF FA 49 E7 01 C0 01 4D 01 B9 01 52 01 B0 01 61 01 A9 01 6A 76 96

F0 FA 49 E7 01 A3 01 78 01 9C 01 86 01 95 01 8A 01 8F 01 9A 72 42

F1 FA 49 E7 01 8A 01 7C 01 84 01 9C 01 7E 01 A4 01 79 01 E0 64 F0

F2 FA 49 E7 01 73 01 BF 01 6F 02 1E 01 6B 01 F9 01 66 01 E7 70 51

F3 FA 49 E7 01 62 02 1E 01 5E 02 3E 01 5A 02 33 01 56 02 4E 00 1C

F4 FA 49 E7 01 52 02 5E 01 4F 02 74 01 4C 02 93 01 49 02 93 0A DC

F5 FA 49 DD 01 47 02 B3 01 43 02 A6 01 41 02 B6 01 3F 02 CC 12 99

F6 FA 49 DD 01 3D 02 EF 01 3B 02 F9 01 38 03 05 01 36 03 1E 22 01

F7 FA 49 DD 01 35 03 32 01 33 03 42 01 31 03 32 01 30 03 44 32 EB

F8 FA 49 DD 01 2E 03 6E 01 2D 03 3E 01 2C 03 67 01 2B 03 75 3E 42

F9 FA 49 DD 01 2A 03 C3 01 29 03 75 01 28 03 89 01 28 03 DB 55 3E




This is a dump of what I believe is one full revolution of the LIDAR scanner under normal operation. Let me break down what this data means using the first line as an example. In bold above the data is the location of the byte.


01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22

A0 FA 49 F7 01 27 04 2E 01 27 04 02 01 26 03 C5 01 26 03 E4 10 90


Byte 01 is rotational position information. It increments from A0 to F9 and back to A0. A0 is 0 - 3 degrees of data. A1 is 4 - 7 degrees and on to F9 which is 356 - 359 degrees.


Byte 02 is a Sync byte, it is always FA.


Bytes 03 and 04 are rotational speed information. The LIDAR unit does not actually output what looks like useful data until the unit is within a certain range of values for bytes 03:04. The unit seems to hunt for a value around 4A:00 and is happy between around 49:D0 to 4A:2F. Most likely this is used as feedback to the motor controller which is not just outputting a fixed square wave PWM but is constantly adjusting to keep the unit within this range.


Bytes 05:06 combine to form hex 0x127 which is 295 in decimal. This is the measurement in millimeters of 0 degrees rotation of the LIDAR unit to point #1 in my test setup. I measured this location by hand to the center of the LIDAR unit at 300mm so not too shabby!


Bytes 09:10 13:14 17:18 correspond to the millimeter measurement values for rotation to 1, 2, and 3 degrees. The LIDAR unit rotates counterclockwise FYI.


Bytes 07:08 11:12 15:16 19:20 are unknown at this point. I have been performing tests on ambient lighting to see how that affects the values. This may also be a reflectivity measurement of the surface, unsure at this time.


Bytes 21:22 seem to be checksum information. Other than that I have not paid much attention to them.




You should see plotting the data as described you will end up inside the box with dimensions in my previous post.  For reference since my LIDAR output seems different from Sparkfun I have posted the version info below.


Piccolo Laser Distance Scanner
Copyright (c) 2009-2010 Neato Robotics, Inc.
All Rights Reserved


Loader V2.4.13386
CPU F2802x/c600
Serial AAA42410AA-0004165
LastCal [2010140429]
Runtime V2.4.13386

2 comments:

  1. Great! New protocol... And seem that you are right. Check the post at trossenrobotics, I'll post some info there.

    ¡Thank you for your dump!

    ReplyDelete