본문으로 바로가기
728x90
반응형

1. 먼저 작업 폴더의 src로 이동합니다. 제가 사용하고 있는 ROS2 작업폴더는 ros2_ws입니다.

 

cd robot_ws/src
mkdir ld06_ros2
ls

 

 

2. LD06 라이다 ROS2 패키지를 제공하는 사이트는 아래를 참고하시기 바랍니다.

https://github.com/linorobot/ldlidar

 

GitHub - linorobot/ldlidar: ROS2 package for LDRobotic LD06 Lidar

ROS2 package for LDRobotic LD06 Lidar. Contribute to linorobot/ldlidar development by creating an account on GitHub.

github.com

 

3. 아래의 명령어를 실행하여 LD06 라이다 ROS2 패키지의 소스를 다운로드합니다.

git clone -b ros2 https://github.com/linorobot/ldlidar ld06_ros2

 

위와 같은 명령어를 입력하였는데 정상적으로 소스를 다운로드하지 못하고 아래와 같은 에러 메시지가 출력될 경우가 있습니다. 

위와 같은 에러가 발생하는 이유는 github에서 2021년 08월 13일부로 더 이상 password 입력방식의 인증은 지원하지 않기 때문입니다. 따라서 personal access token을 생성해야 합니다. 자세한 내용은 아래의 사이트를 참조해 주시기 바랍니다.

https://velog.io/@rxdryd/git-clone-%EC%98%A4%EB%A5%98

 

git clone password 인증 오류

git clone을 할때 github username, password 를 입력해주면 됐었는데, 2021년 08월 13일부로 변경됨. 콘솔메세지로 친절하게 참고할 링크 첨부해줌 https://github.blog/2020-12-15-token-authenticatio

velog.io

 

https://seung.tistory.com/entry/Git-pull-%EB%98%90%EB%8A%94-clone%EC%8B%9C-Username-for-Password-for-%EB%AC%BB%EB%8A%94-%EA%B2%BD%EC%9A%B0

 

Git pull 또는 clone시 Username for, Password for 묻는 경우

초기 세팅 시 위와 같이 git pull이나 clone 할 시 에러가 발생하는 경우가 있을 것입니다. 입력 시 아래와 같은 문구가 나올 것입니다. remote: Support for password authentication was removed on August 13, 2021. 즉

seung.tistory.com

 

위의 2 사이트를 참조하여  github에서 발급하는 토큰을 생성하고 텍스트 파일에 저장하시기 바랍니다. 다시 소스 복사 명령어를 실행하신 후에 패스워드 입력란에 비밀번호 대신에 발급하신 토큰을 사용하시면 됩니다.

 

4. 아래의 그림은 정상적으로 패키지 소스를 다운로드한 경우입니다.

 

5. 소스 다운로드를 완료하신 후에 빌드를 하기 위해서는 ros2_ws의 작업 폴더롤 이동합니다. 그리고 아래의 명령어를 실행하여 빌드를 수행합니다.

cd ..
cd ..
colcon build
source install/setup.bash

 

 

6. 빌드가 완료가 완료되면 라이다와 통신할 수 있는 시리얼 디바이스의 심볼릭 링크를 설정해야 합니다. 만약 이 과정을 생략할 경우 실행할 때마다 해당 디바이스에 대해 쓰기 모드를 설정해야 하는 번거로음이 있고 재부팅시 디바이스 이름이 변경될 수 있습니다. 심볼릭 링크를 만드는 방법은 아래의 블로그를 참조하시기 바랍니다.

https://winterbloooom.github.io/computer%20science/linux/2022/01/10/symbolic_link.html

 

[Linux] USB 장치 이름 고정하기: udev 설정, Symbolic Link 만들기 | winterblooom (EunGi Han)

😕 1. 장치 이름 설정의 필요성 여러 대의 USB 장치를 연결한다면 ttyUSB0, ttyUSB1, ttyUSB2, …, ttyACM0, ttyACM1, …처럼 번호가 부여된다. 그러나 이 번호는 컴퓨터를 재부팅하거나, USB 포트에 재연결하는

winterbloooom.github.io

 

아래의 그림은 7개의 USB serial 등록을 완료한 상태를 확인한 것입니다.

7. 새로운 터미널을 실행하여 아래의 명령어 실행하여 ld06 ros2 패키지를 실행합니다.

ros2 launch ldlidar ldlidar.launch.py serial_port:=/dev/ttyUSB-LD06

 

8. 패키지 실행 후 정상적인 실행을 확인하실 경우 아래의 명령어를 실행하시면 됩니다.

ros2 topic list

또는

ros2 topic list -t

 

9. 패키지가 정상적으로 서비스되는 것을 확인하시면 다음은 rviz를 이용하여  그래픽으로 패키지 동작 상태를 확인할 수 있습니다. 

새로운 터미널을 실행하여 아래의 명령어를 입력하여 rviz를 실행합니다.

rviz2

 

10. 좌측 하단에 "Add" 버튼을 클릭하시고, "By Topic" 탭을 선택하신 후에 "LaseScan" 토픽을 선택하시기 바랍니다. "OK" 버튼을 클릭하시어 선택을 완료합니다. 이때 아직 화면에 라이다 데이터가 출력되지 않습니다.

 

11. 고정 프레임이 기본값으로 지정되어 있기 때문입니다. 이 값을 "laser" 수정하신 후 엔터를 입력하시면 그리도 표시 부분에 희미하게 라이다 데이터가 입체적으로 출력됩니다. 좀 더 명확하게 보기 위해서는 "LaserScan" 토픽의 화살표를 클릭하여 확장시킨 후 "Size" 값을 0.05로 설정하시면 됩니다.

 

728x90
반응형

'로봇개발 > 센서 데이터 처리' 카테고리의 다른 글

공기품질 가스센서 : TGS2600  (0) 2022.03.18
먼지 센서 : PSM9003M  (1) 2022.03.18
PIR센서 : SIS612P-L  (0) 2022.03.18
화재감시 센서 : OSTSen-30105  (0) 2022.03.18
화재인식 센서 : Flame Sensor  (0) 2022.03.17