ROS实例学习之kinect驱动安装与rtabmap建图
发布时间
阅读量:
阅读量
基于kinect深度相机的rtabmap建图
-
SDK安装配置
-
-
下载libfreenect2源码
-
安装依赖
-
编译构建
-
-
- 问题记录
-
-
设置udev规则
-
测试
-
驱动卸载
-
-
iai-kinect2源码安装与测试
-
- 下载
- 安装
- 测试
-
rtapmap建图
-
- 安装
- 使用
SDK安装配置
下载libfreenect2源码
$ git clone git@github.com:OpenKinect/libfreenect2.git
安装依赖
$ cd libfreenect2
#安装编译工具
$ sudo apt-get install build-essential cmake pkg-config
#安装linusb
$ sudo apt-get install libusb-1.0-0-dev
#安装turboJPEG
$ sudo apt-get install libturbojpeg libjpeg-turbo8-dev
#安装OPENNI2
$ sudo apt-get install libglfw3-dev
#安装OPENCL
$ sudo apt-get install libopenni2-dev
编译构建
$ mkdir build && cd build
# 自动生成makefile
$ cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/ #(编译位置可以选择)\
#(建议:新建~/workspace/libray放驱动,~/workspace/build放编译的东西)
# 批量编译
$ make
# 将 make 生成的文件安装到系统的对应目录中
$ sudo make install
问题记录
ubuntu@ubuntu:~/Desktop/libfree/libfreenect2/build$ cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/freenect2
-- using tinythread as threading library
-- Checking for modules 'libva;libva-drm'
-- No package 'libva' found
-- No package 'libva-drm' found
-- Could NOT find TegraJPEG (missing: TegraJPEG_LIBRARIES TegraJPEG_INCLUDE_DIRS TegraJPEG_L4T_OK TegraJPEG_DRIVER_OK TegraJPEG_WORKS)
CMake Error at /usr/share/cmake-3.9/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find TurboJPEG (missing: TurboJPEG_INCLUDE_DIRS TURBOJPEG_WORKS)
Call Stack (most recent call first):
/usr/share/cmake-3.9/Modules/FindPackageHandleStandardArgs.cmake:377 (_FPHSA_FAILURE_MESSAGE)
cmake_modules/FindTurboJPEG.cmake:66 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMakeLists.txt:237 (FIND_PACKAGE)
-- Configuring incomplete, errors occurred!
See also "/home/ubuntu/Desktop/libfree/libfreenect2/build/CMakeFiles/CMakeOutpu
sudo apt-get install libturbojpeg0-dev
make 命令时 *** No targets specified and no makefile found. stop,应该是执行 cmake 时已经报错了
设置udev规则
# 复制rules文件
$ sudo cp ../platform/linux/udev/90-kinect2.rules /etc/udev/rules.d/
# 重启rules
$ sudo service udev reload
$ sudo service udev restart
$ sudo udevadm trigger
测试
重新拔插进行测试,可能拔插不会生效,断电即可,再不行重启大法
$ ./bin/Protonect #重新接入之后运行测试
$ sudo apt-get install openni2-utils && sudo make install-openni2 && NiViewer2 #可选测试
then…

驱动卸载
sudo rm -r /usr/local/lib/cmake/freenect2
sudo rm -r /usr/local/lib/OpenNI2
sudo rm /usr/local/lib/pkgconfig/freenect2.pc
sudo rm /usr/local/lib/libfreenect2.*
sudo rm -r /usr/local/include/libfreenect2
iai-kinect2源码安装与测试
下载
$ git clone https://github.com/code-iai/iai_kinect2.git
安装
$ cd iai_kinect2
$ rosdep install -r --from-paths .
$ cd ~/catkin_ws
$ catkin_make -DCMAKE_BUILD_TYPE="Release"
$ rospack profile
测试
$ roslaunch kinect2_bridge kinect2_bridge.launch
$ rosrun kinect2_viewer kinect2_viewer
rtapmap建图
安装
$ sudo apt-get install ros-kinetic-rtabmap-ros
使用
- 建立连接:
$ roslaunch kinect2_bridge kinect2_bridge.launch publish_tf:=true
- 静态tf:
$ rosrun tf static_transform_publisher
0 0 0 -1.5707963267948966 0 -1.5707963267948966 camera_link kinect2_link 100
参数为 坐标关系,link,发布频率(发布静态tf关系联系节点)
- 启动文件:
$ roslaunch rtabmap_ros rtabmap.launch rtabmap_args:="--delete_db_on_start" rgb_topic:=/kinect2/qhd/image_color_rect depth_topic:=/kinect2/qhd/image_depth_rect camera_info_topic:=/kinect2/qhd/camera_info rviz:=true
- 创建活动tf树的图,可以观察各节点关系
$ rosrun rqt_tf_tree rqt_tf_tree
kinect只能有一个输入,其余无法建立关系
全部评论 (0)
还没有任何评论哟~
