본문 바로가기
Autonomous Vehicle/LiDAR : Point Cloud

Ouster Lidar : OS1-64 우분투 ROS 환경에서 설정하기

by kim.jeff 2020. 7. 30.

안녕하세요. 본 아우스터사에서 만들어진 라이다 OS-1 64는 64채널의 레이어를 갖고 있는 라이다 센서입니다. 

 

자율주행자동차에서 SLAM을 수행하기위해 필수적인 센서인 LiDAR를 UBUNTU PC와 연결하여 데이터를 시각화 하는 과정을 소개하겠습니다.

 

컴퓨터 환경은 Ubuntu 18.04 / ROS melodic / legion 530y 입니다.

 

본 글은 다음의 내용을 중심으로 전개합니다.

https://github.com/ouster-lidar/ouster_example

 

ouster-lidar/ouster_example

Ouster sample code. Contribute to ouster-lidar/ouster_example development by creating an account on GitHub.

github.com

1. ouster-lidar ROS 환경설정

1.1 아우스터 예제를 다운로드 한 후 안에 있는 client, ros, viz 등의 example  전체폴더를 자신의 work space에 옮겨준다.

 

 

 

1.2 cmake 관련 파일을 설치해주자.

$ sudo apt install build-essential cmake libglfw3-dev libglew-dev libeigen3-dev \
     libjsoncpp-dev libtclap-dev

 

 

1.2 catkin_make를 해준다.

$ cm
$ source ~/.bashrc

 

2. ouster_ros package를 통한 PC와 OS-1 연결

본 패키지는 OS1 data를 ROS 토픽의 표준에 따라 publish하는 샘플코드를 포함한다.

ubuntu 18.04 / ubuntu 16.04 모두에서 지원한다고 한다.

 

2.1 Path 설정

아우스터 예제를 포함하고 있는 폴더에 path를 설정한다.

터미널에서 다음과 같이 코드를 입력한다.

$ export CMAKE_PREFIX_PATH=/home/jeff/catkin_ws/ouster_example

 

 

 

2.2 Source 등록

$ source /opt/ros/melodic/setup.bash

 

2.3 OS1에 전원을 인가하고 랜선으로 컴퓨터와 연결시킨다.

 

2.4 네트웤크 설정에서 IPv4 탭으로 들어가고 임의의 address와 Netmask 를 입력하고 Apply를 눌러준다. 

 

2.5 ifconfig 을 통해서 네트워크가 잘 잡혔는지 확인한다. 

$ ifconfig

 

2.6 터미널에서 ~/catkin_ws/src/ouster_example/ouster_ros 로 이동한다.

$ roscd ouster_ros/

 

2.7 os1.launch파일을 실행한다.  

$ roslaunch os1.launch os1_hostname:=os1-992007000***.local os1_udp_dest:=192.168.100.1

# os1_hostname은 os1.시리얼넘버.local (시리얼 넘버는 제품의 상단에 위치한다.)

# os1_udp_dest는 컴퓨터에서 잡은 네트워크 ip주소를 입력한다.

 

 

 

3. rosbag 기능을 통한 vizualization

3.1 Rviz 실행

$ rviz -d c/ouster_example/ouster_ros/viz.rviz

 

3.2 Rviz 설정

add 버튼을 누르고 by topic 탭에서 pointcloud2를 설정해준다.

좌측 상단에 fixed frame 에 os1_lidar를 입력해준다.

3.3 센서의 raw data 확인

3.4 아우스터 ROS 기반 샘플 데이터 (데이터 rosbag 파일)

 

샘플 데이터 링크

 

v1.13 Sample Data

 

data.ouster.io

3.5 샘플 데이터 중 아무 rosbag  파일이나 다운로드한다.

 

3.6 다음코드를 입력하여 리플레이를 하여 토픽을 생성시킨다.

$ roslaunch os1.launch replay:=true os1_hostname:=<os1_hostname>
$ cd
$ cd Downloads
$ rosbag play --clock <bagfile>

 

 

기타 유용한 코드들 

To record raw sensor output

  • In another terminal instance, run rosbag record /os1_node/imu_packets /os1_node/lidar_packets
  • This will save a .bag file of recorded data in that directory

Rviz에서 단축키

o Increase point size
p Decrease point size
m Cycle point cloud coloring by z-height / intensity / z-height plus intensity / range
c Cycle color scheme for range image
shift c Cycle color scheme for point cloud
v Toggle color cycling in range image
n Display ambient image from the sensor
r Reset camera position
0 (zero) Toggle parallel projection and reset camera
d Cycle through fraction of the window height used for displaying range and intensity image