Ouster 라이다 설치와 ROS를 이용해서 라이다를 실행한 후 라이다 scan 값을 받아오는 것을 포스트하고자 합니다!
다음 ouster 깃허브를 참고하였습니다.
sudo apt install -y \
ros-$ROS_DISTRO-pcl-ros \
ros-$ROS_DISTRO-tf2-eigen \
ros-$ROS_DISTRO-rviz2
📢 error 발생 시 아래 명령어 입력
sudo apt update
sudo apt install -y \
build-essential \
libeigen3-dev \
libjsoncpp-dev \
libspdlog-dev \
libcurl4-openssl-dev \
cmake \
python3-colcon-common-extensions
워크스페이스 생성 후 깃허브 클론
mkdir -p ros2_ws/src && cd ros2_ws/src
git clone -b ros2 --recurse-submodules https://github.com/ouster-lidar/ouster-ros.git
gedit ~/.bashrc 열고 아래 입력
source /opt/ros/<ros-distro>/setup.bash
빌드
cd ros2_ws
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
gedit ~/.bashrc 열고 아래 입력
source ros2_ws/install/setup.bash
실행 전, 설치해야 할 tool
apt install net-tools
apt install iproute2
apt install dnsmasq
이더넷 이름은 ifconfig 명령어를 통해 이름을 확인하고 변경❗️
이더넷 케이블 뽑은 상태에서 아래 명령어 실행 후 상태 'DOWN' 인지 확인.
ip addr flush dev eno1
ip addr show dev eno1
이더넷 케이블 다시 꽂은 상태에서 아래 명령어 실행 후 상태 'UP'인지 확인. UP이 아닐 경우에는 reboot.
ip addr add 192.168.100.1/24 dev eno1
ip link set eno1 up
ip addr show dev eno1
UP인 경우 아래 명령어 실행. IP를 50~100 사이로 할당해주는 명령어.
sudo dnsmasq -C /dev/null -kd -F 192.168.100.50,192.168.100.100 -i eno1 --bind-dynamic
위 명령어를 실행하면 몇 초뒤 다음과 같은 사진 처럼 IP를 할당받을 수 있음. 
위에서 할당받은 sensor ip주소를 다음 sensor_hostname에 입력
ros2 launch ouster_ros sensor.launch.xml \
sensor_hostname:=192.168.2.54
📢아래와 같은 에러가 나올 경우, 'source ~/.bashrc' 실행
Package 'ouster_ros' not found: "package 'ouster_ros' not found, searching: ['/opt/ros/humble']"
📢Rviz에서 Pointcloud 값이 안나올 경우 다음과 같이 설정.
ifconfig eno1 192.168.100.1 netmask 255.255.255.0 up
위 사진과 같이 inet 192.168.100.1이로 되어있어야 하며, launch파일의 udp도 같은 주소이어야 함.
rivz에 다음과 사진과 같이 뜬다.
--Topic : /ouster/points
--Reliability Policy : Best Effort (포인트 클라우드가 바로 뜨지 않을 때는 설정 변경)
우와! 너무 도움이 됐어요!!