다루기 쉽고 저렴한 라이더를 찾다가 [A1 RPLIDAR]를 구입하게 되었다.
전원을 넣자마자 시리얼로 데이터를 계속 내보내는 방식이라 아두이노에 물려서 사용할 수도 있다고 한다.
<아두이노에서 실행하기>
아두이노에서 사용 가능하도록 라이브러리가 제공된다.
https://github.com/robopeak/rplidar_arduino
라이브러리를 받아서 아두이노에 추가를 하니까 아래와 같이 에러가 나온다.
[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
맥북에서 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
내가 과거에 SLAM 연구했을 때랑은 차원이 다르게 장비와 라이브러리들이 발전했구나.
본격적으로 연구에 써 보자!!
위의 자료들은 직접 작성한 것으로 불펌은 금합니다.
본 내용은 해외 자료들을 찾아가면서 실행시킨 것이고 실행 방법을 남겨놓고 참고하기 위해 글을 쓴 것입니다.
왜 에러가 났는지는 정확하게 라이브러리가 인스톨되었는지, 와이어가 단선된 것은 아닌지 등..
각자의 시스템과 상황에 따라 다르니 컴퓨터를 직접 보지 않는 이상 상세하게 알 수 없기에 질문에 대한 대응이 어렵습니다.