ROS 2 Humble 기반으로 AgileX의 Scout Mini에 Ouster LiDAR를 장착하여 SLAM 및 내비게이션 시스템을 구성하였다.
👉 Docker Hub – ingon1026/scout_navigation
Scout Mini에 Ouster 라이다가 장착된 모습
| 용도 | 레포지토리 |
|---|---|
| 스카웃 ROS 드라이버 | https://github.com/agilexrobotics/scout_ros2/tree/humble |
| 저수준 제어 SDK (CAN 통신) | https://github.com/westonrobot/ugv_sdk |
| 내비게이션 패키지 | https://github.com/mattiadutto/scout_navigation/tree/main |
| Ouster ROS 드라이버 | https://github.com/ouster-lidar/ouster-ros/tree/ros2-humble-sparse-neighbor-culling |
AgileX 하드웨어와 통신하기 위한 저수준 C++ SDK.
CAN 통신으로 모터, 배터리, 센서 제어와 상태 수신을 담당한다.
scout_ros2는 이 SDK를 기반으로 동작한다.
Scout Mini를 ROS 2에서 제어할 수 있게 해주는 드라이버 패키지.
CAN 통신 기반으로 동작하며, ROS 2 토픽(/odom, /cmd_vel 등)을 퍼블리시한다.
scout_mini_base.launch.py 실행으로 노드 시작.
SLAM을 실행하기 전에 라이다에서 퍼블리시되는 실제 토픽을 확인해야 한다.
기본 설정은 /scan인데, 장비에 따라 다를 수 있으므로 반드시 확인 필요.
ros2 topic list
Ouster 라이다는 /ouster/scan 토픽을 퍼블리시함
기본값은 다음과 같다
scan_topic: scan
Ouster를 사용할 경우 다음과 같이 수정해야 한다:
scan_topic: ouster/scan
scan_topic 파라미터를 실제 라이다 토픽에 맞게 변경해야 한다
./ouster_net.sh
ros2 launch ouster_ros sensor.launch.xml sensor_hostname:=os-122405000193.local; exec bash
sudo ip link set can0 up type can bitrate 500000
ros2 launch scout_base scout_mini_base.launch.py
ros2 run tf2_ros static_transform_publisher 0.5 0 0 0 0 0 base_link os_sensor
ros2 run tf2_tools view_frames
완성된 TF 트리
ros2 launch scout_navigation slam_online_async.launch.py
config/mapper_params_online_async.yaml
네비게이션은 어딨어요