Hardware/LiDAR

A1 RPLIDAR (A1M8)

초인로크 2022. 5. 21. 13:30
반응형

다루기 쉽고 저렴한 라이더를 찾다가 [A1 RPLIDAR]를 구입하게 되었다.
 

 

 

 
전원을 넣자마자 시리얼로 데이터를 계속 내보내는 방식이라 아두이노에 물려서 사용할 수도 있다고 한다.
 

<아두이노에서 실행하기>

 
아두이노에서 사용 가능하도록 라이브러리가 제공된다.
 
https://github.com/robopeak/rplidar_arduino

 

GitHub - robopeak/rplidar_arduino: RoboPeak RPLIDAR driver for Arduino and Arduino-compatible devices

RoboPeak RPLIDAR driver for Arduino and Arduino-compatible devices - GitHub - robopeak/rplidar_arduino: RoboPeak RPLIDAR driver for Arduino and Arduino-compatible devices

github.com

라이브러리를 받아서 아두이노에 추가를 하니까 아래와 같이 에러가 나온다.
 
[Specified folder/zip file does not contain a valid library]
 
rplidar_arduino-master.zip의 압축을 풀고,
 
그 폴더 안에 있는 RPLidarDriver 폴더를 압축해서 추가를 하니까 에러가 없이 추가된다.
 

 
아래 링크의 매뉴얼을 보고 배선관계를 조사했다.
 
https://files.seeedstudio.com/products/114992561/LD108_SLAMTEC_rplidar_datasheet_A1M8_v3.0_en.pdf
 

 
기본적인 색깔 관계를 무시한 구조로서 위화감이 들지만 위와 같은 핀 배치이다.
 
처음에는 Arduino Due를 써보려 했으나 내부 전압의 문제로 Arduino Mega를 이용했다.
 

 
여기에서는 라이다를 RX1, TX1에 연결했기 때문에 소스코드를 수정해 주어야 된다.
 

 
lidar.begin(Serial1);  ← 배선 상황에 맞춰 여기를 Serial1로 수정해야 된다.
 
그리고 RX0, TX0은 시리얼 모니터 용으로 사용하면 출력 데이터를 관찰할 수 있다.
 
센서에서 측정되는 각도 기준은 아래와 같을 것으로 판단된다.
 

 
실제로 연결하면 아래와 같이 라이더가 잘 돌아간다.
 

 

 
위와 같이 각도와 거리 데이터를 출력해 볼 수 있는데,
 
전체적으로 데이터가 어떻게 나오는지 좀 알아봐야 될 듯하다.
 
 
 
 
 

<맥북에서 실행하기>

 

여기서 부터는 아두이노가 아닌 USB 시리얼을 이용한 실행이다.

아두이노 말고 맥북에서도 쓸 수 있는 라이브러리를 제공하고 있는 듯하다.
 
https://github.com/Slamtec/rplidar_sdk

 

GitHub - Slamtec/rplidar_sdk: Open source SDK for Slamtec RPLIDAR series products

Open source SDK for Slamtec RPLIDAR series products - GitHub - Slamtec/rplidar_sdk: Open source SDK for Slamtec RPLIDAR series products

github.com

맥북에서 make 로 컴파일해 주고 나면 [output/$PLATFORM/$SCHEME]에 컴파일된 파일들이 나타난다.
 
참고로 나의 맥북에서는 output/Darwin/Release 에 나타났다.
 
터미널에서 [ultra_simple]을 실행시키려면 아래와 같은 명령어를 사용하면 데모 프로그램이 시작된다.
 
./ultra_simple --channel --serial <com port> [baudrate]
 
 
내 환경에서는 다음과 같이 실행시켰으니 참고를 하길 바란다.
 
./ultra_simple --channel --serial /dev/tty.usbserial-0001 115200
 

터미널에서 실행한 결과 각도와 거리가 잘 표시된다.

 
출력 결과가 아두이노와는 다르게 연구에 써먹을 수 있을 정도로 제대로 잘 나온다.
 
 
 

<윈도우 PC에서 실행하기>

여기도 아두이노가 아닌 USB 시리얼을 이용한 실행이다.

 

윈도 PC에서는 아래의 링크에서 받을 수 있는 [frame_grabber.exe]로 간단히 출력 상황을 확인할 수 있다.
 
https://github.com/Slamtec/rplidar_sdk/releases/tag/release%2Fv1.12.0

 

Release release/v1.12.0 · Slamtec/rplidar_sdk

[new feature] support to set spin speed for S1 in rplidar_driver and framegrabber [improvement] use grabScanDataHq instead of grabScanData in ultra_simple

github.com

 
 

frame_grabber.exe를 이용할 경우

 
내가 과거에 SLAM 연구했을 때랑은 차원이 다르게 장비와 라이브러리들이 발전했구나.
 
본격적으로 연구에 써 보자!!
 
 
 
 
 
위의 자료들은 직접 작성한 것으로 불펌은 금합니다.

본 내용은 해외 자료들을 찾아가면서 실행시킨 것이고 실행 방법을 남겨놓고 참고하기 위해 글을 쓴 것입니다.

왜 에러가 났는지는 정확하게 라이브러리가 인스톨되었는지, 와이어가 단선된 것은 아닌지 등..

각자의 시스템과 상황에 따라 다르니 컴퓨터를 직접 보지 않는 이상 상세하게 알 수 없기에 질문에 대한 대응이 어렵습니다.

반응형