Vision_

Camera_Lidar Fusion_2_(Lidar bag파일 녹화, Camera calibration, os_cloud_node/points)

대장장ㅇi 2024. 2. 25. 22:25

 

 

1. Lidar bag 파일

 

github 에서는 Lidar 에서 뽑을려는 토픽이 /sensors/velodyne_points 이다.

우리는 OUSTER 32 채널을 쓰므로 os_cloud_node/points 로 뽑았다.

 

ouster lidar 의 자세한 사용법은 Lidar 마스터님 이곳으로 들어가면 초기 세팅부터 정리돼있으니 참고하길 바란다!

 

 

라이다 bag 파일 녹화

 

터미널 1

source /home/baqu/ouster/myworkspace/devel/setup.bash
roslaunch ouster_ros ouster.launch sensor_hostname:=192.168.100.1 udp_dest:=192.168.100.99 meradata:=/home/baqu/ouster/json/OS1-32U.json viz:=true

 

터미널 2

rosbag recore /os_cloud_node/points

 

 

라이다 bag 파일 재생

roscore
rviz
rosbag play 촬영된파일.bag -l

*rviz 세팅

Fixed Frame : //os_sensor

Add -> pointcloud2

 

 

 

 

2. Camera calibration 진행

 

github 에 나와있는 방식으로는

 

roslaunch lidar_camera_calibration camera_calibration.launch

 

위 명령어를 치면 되는데 이때 launch 파일에서 수정할 부분이 있다.

 

다음 단계를 따라와보자.

 

먼저 launch 파일을 열어주면 수정해야할 부분이 몇가지 있다.

 

 

1.

먼저 우리는 bag 파일을 찍을 때 2가지 토픽을 받아왔다.

/usb_cam/image_raw  와  /usb_cam/camera_info   이다.

따라서 우리는 /usb_cam 을 쓰므로 "camera" 에 "/usb_cam" 을 작성하였다.

 

2.

다음으로 "size" 와 "square" 부분인에 이전 포스팅에서 체커보드의 가로는 8칸 세로는 6칸으로 나뉘었으므로 "size" 를 8x6 으로 수정해 주었다. "square" 는 한칸의 길이가 2.8cm 이므로 "0.028" 로 수정해 주었다.

 

3.

다음으로 "bagfile" 부분인데 우리가 이전에 카메라 bag 파일을 찍었을때 저장한 "camera_data.bag" 을 집어넣었다. 하지만 기록한 영상으로 진행하려니 calibration 이 잘안돼서 실시간으로 변경하였다. 이 부분은 마지막에 설명하겠다.

 

4.

다음으로 topic 을 수정해 주었다. "image" 에는 "$(arg camera)/image_raw"     "camera" 에는 "$(arg camera)/camera_info" 로 수정해주었다.

 

 

 

마지막으로 3번 단계에서 실시간으로 수정하는것으로 변경한 부분을 보여주면

 

이렇게 기존 bag 파일을 가져오는건 주석처리하고 실시간으로 변경하였다.

 

 

아무튼 이제 맨 위에 코드를 다시 실행해주면

roslaunch lidar_camera_calibration camera_calibration.launch

 

 

이렇게 display 화면이 뜨면 된다. 이제 우리는 실시간으로 변경했기에 가로 세로 막 움직여가며 X,Y 를 초록색이 될때까지 흔들어주면 된다.

 

 

 

그럼 이렇게 CALUBRATE 화면이 뜬다. 이제 CALUBRATE 를 누르고 기다리면

 

 

 

이렇게 SAVE 버튼이 활성화 된다. 이제 이걸 누르면 터미널 창에 ('Wrote calibration data to', '/tmp/calibrationdata.tar.gz')

 

 

이렇게 뜬다. 이제 /tmp/calibrationdata.tar.gz 파일을 찾아 우리의 ros_workspace/src/lidar_camera_calibration/calibration_data/camera_calibration 안에 압축을 풀어주면

 

 

이렇게 풀면 성공이다!!!!!