kinect V2 카메라 드라이버의 공식 주소 : https://github.com/OpenKinect/libfreenect2
libfreenect2 다운로드
git clone https://github.com/OpenKinect/libfreenect2.git
cd libfreenect2
컴파일 환경 설치
설치 전제 조건 환경
컴파일 도구
sudo apt-get install build-essential cmake pkg-config
libusb
sudo apt-get install libusb-1.0-0-dev
TurboJPEG
sudo apt-get install libturbojpeg libjpeg-turbo8-dev
OpenGL
sudo apt-get install libglfw3-dev
필수 종속성은 통합 된 방식으로 설치됩니다.
sudo apt-get install build-essential cmake pkg-config libusb-1.0-0-dev libturbojpeg libjpeg-turbo8-dev libglfw3-dev
# 선택적 종속성
OpenCL 설치
sudo apt-get install beignet-dev
기적
VAAPI
sudo apt-get install libva-dev libjpeg-dev
OpenNI2
sudo apt-get install libopenni2-dev
구성 컴파일
엮다
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/freenect2
make
make install
# -DCMAKE_INSTALL_PREFIX指定安装的路径
장치 액세스 규칙 설정
sudo cp ../platform/linux/udev/90-kinect2.rules /etc/udev/rules.d/
디버깅
./bin/Protonect
디버깅 중 카메라 USB가 3.0에 연결되어 있는지 확인하십시오.
구경 측정
1. Ros 작업 공간 구축
새로운 작업 공간
2. kinect2 드라이버 노드 다운로드 및 컴파일
cd src
다운로드 소스 코드
git clone https://github.com/code-iai/iai_kinect2.git
kinect2를 설치하는 데 필요한 종속성
cd iai_kinect2
rosdep install -r --from-paths
노드 컴파일
catkin_make
연결 테스트
# 1. kinect2_bridge 열기
roslaunch kinect2_bridge kinect2_bridge.launch
# 2. kinect2_viewer 시작
rosrun kinect2_viewer kinect2_viewer
rosrun kinect2_viewer kinect2_viewer --help를 통해 구성 가능한 매개 변수를 볼 수 있습니다.
# Kinect2 Drive Communication
# kinect2 드라이버가 공개 한 데이터 를보고
rostopic 목록 의
출력 결과는 다음과 같습니다.
/kinect2/bond
/kinect2/hd/camera_info
/kinect2/hd/image_color
/kinect2/hd/image_color/compressed
/kinect2/hd/image_color_rect
/kinect2/hd/image_color_rect/compressed
/kinect2/hd/image_depth_rect
/kinect2/hd/image_depth_rect/compressed
/kinect2/hd/image_mono
/kinect2/hd/image_mono/compressed
/kinect2/hd/image_mono_rect
/kinect2/hd/image_mono_rect/compressed
/kinect2/hd/points
/kinect2/qhd/camera_info
/kinect2/qhd/image_color
/kinect2/qhd/image_color/compressed
/kinect2/qhd/image_color_rect
/kinect2/qhd/image_color_rect/compressed
/kinect2/qhd/image_depth_rect
/kinect2/qhd/image_depth_rect/compressed
/kinect2/qhd/image_mono
/kinect2/qhd/image_mono/compressed
/kinect2/qhd/image_mono_rect
/kinect2/qhd/image_mono_rect/compressed
/kinect2/qhd/points
/kinect2/sd/camera_info
/kinect2/sd/image_color_rect
/kinect2/sd/image_color_rect/compressed
/kinect2/sd/image_depth
/kinect2/sd/image_depth/compressed
/kinect2/sd/image_depth_rect
/kinect2/sd/image_depth_rect/compressed
/kinect2/sd/image_ir
/kinect2/sd/image_ir/compressed
/kinect2/sd/image_ir_rect
/kinect2/sd/image_ir_rect/compressed
/kinect2/sd/points
kinect2 카메라는 주제를 통해 데이터를 전송합니다. 주제에서 많은 주제 정보를 찾을 수 있습니다.
hd, qhd, sd는 각각 해상도를 나타냅니다.
# 디버그 디스플레이 카메라 이미지
rosrun image_view image_view image:=/kinect2/hd/image_color
# 카메라 보정 시작 kinect2_brige
rosrun kinect2_bridge kinect2_bridge _fps_limit:=2
_fps_limit : = 2 초당 2 프레임으로 샘플링하도록 카메라를 설정합니다.
시작시 시작 로그를보고 장치 순서를 확인하십시오.
샘플링 된 폴더 만들기
mkdir ~/kinect_cal_data
cd ~/kinect_cal_data
컬러 이미지 샘플링
rosrun kinect2_calibration kinect2_calibration chess6x9x0.02 record color
chess6x9x0.02: chess为标定板,格式为widthxheightxsize.
width为标定板宽度方向的标定点个数。
height为标定板高度方向的标定点个数。
size为标定方格的宽度,单位为米。
彩图标定
rosrun kinect2_calibration kinect2_calibration chess6x9x0.02 calibrate color
红外图采样
rosrun kinect2_calibration kinect2_calibration chess6x9x0.02 record ir
红外图标定
rosrun kinect2_calibration kinect2_calibration chess6x9x0.02 calibrate ir
同步采样
rosrun kinect2_calibration kinect2_calibration chess6x9x0.02 record sync
同步标定
rosrun kinect2_calibration kinect2_calibration chess6x9x0.02 calibrate sync
深度标定
rosrun kinect2_calibration kinect2_calibration chess6x9x0.02 calibrate depth
지정된 디렉토리에 교정 결과 저장
kinect2_bridge / data 디렉터리로 이동합니다.
roscd kinect2_bridge/data
mkdir 设备串口名称
kinect2_bridge가 시작되면 장치 직렬 포트 이름이 로그에 인쇄됩니다.
보정 결과 구성 파일 복사
cp ~/kinect_cal_data/calib_color.yaml .
cp ~/kinect_cal_data/calib_depth.yaml .
cp ~/kinect_cal_data/calib_ir.yaml .
cp ~/kinect_cal_data/calib_pose.yaml .