• 12.2-kinectv2ROS环境搭建


    视觉搭建

    前言

    参考

    iai-kinectv2
    libfreenect2
    USB 权限
    详细博客

    记录

    安装libfreenect2

    cd libfreenect2
    cd depends; ./download_debs_trusty.sh
    sudo apt-get install libusb-1.0-0-dev
    sudo apt-get install libturbojpeg libjpeg-turbo8-dev
    sudo apt-get install libglfw3-dev
    sudo apt-get install beignet-dev
    sudo apt-get install libva-dev libjpeg-dev
    sudo apt-get install libopenni2-dev
    
    cd ..
    mkdir build
    cd ./build
    cmake ..  -DENABLE_CXX11=ON
    make -j4
    sudo make install
    
    # /usr/local/

    测试

    • 最后可以运行程序,在build下面有个bin文件夹,放置生成的输出文件,插上kinect,然后运行。此时黄灯变成白色的,表示有驱动。注意:只能用于USB3的接口,好在台式机和笔记本都有3.0的口。改成如下的超级命令即可。
      sudo ./bin/Protonect
    • ./Protonect cl 查看依赖错误信息

    复制iai-kinect2ROS包

    catkin_make

    测试

    roslaunch kinect2_bridge kinect2_bridge.launch

    Intel笔记本问题

    Intel GPU问题

    sudo apt install ocl-icd-dev
    • 在自己的新笔记本电脑上没有实现,可能是最新的kabylake GPU问题

    AMD显卡台式机测试

    • 由于也是16.04+AMD显卡,所以依赖项安装与前一致

    cmake禁用OPENCL

    • 由于两台电脑都有OPENCL问题,故重新安装驱动包
    cmake .. -DENABLE_CXX11=ON -DENABLE_OPENCL=OFF -DENABLE_CUDA=OFF -DENABLE_TEGRAJPEG=OFF

    usb权限问题

    • 创建一个udev rule file解决
    cd /etc/udev/rules.d
    sudo gedit 90-kinect2.rules
    
    # ATTR{product}=="Kinect2"
    SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02c4", MODE="0666"
    SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02d8", MODE="0666"
    SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02d9", MODE="0666"
    • 通过此命令来确认USB设备的信息
    dmesg | grep "045e"
    • 重新插拔设备即可

    运行ROS

    roscore
    rosrun kinect2_bridge kinect2_bridge _reg_method:=cpu _depth_method:=opengl
    # 颜色和深度数据混合
    rosrun kinect2_viewer kinect2_viewer
    # 只有深度数据
    rosrun kinect2_viewer kinect2_viewer ir
    • launch文件已经更新
    roslaunch kinect2_bridge kinect2_bridge

    Nvidia显卡设置

    • 之前装好官方驱动
    sudo apt-get install libusb-1.0-0-dev
    sudo apt-get install libturbojpeg libjpeg-turbo8-dev
    sudo apt-get install libglfw3-dev
    sudo apt-get install libopenni2-dev
    sudo apt-get install libva-dev libjpeg-dev
    sudo apt-get install beignet-dev
    sudo apt-get install nvidia-modprobe opencl-headers
    • 由于cuda安装失败,所以就先不搞了。
  • 相关阅读:
    Linux DNS配置
    SqlCommandBuilder 为SqlDataAdapter 提供 update、insert、delete 命令(自己利用select命令自动从数据库元数据推断)
    Dev中GridView——事件
    select 动态赋值 layui重新渲染
    url-loader和file-loader的区别和使用
    Fetch API
    Fetch API
    FormData上传文件
    Buffer、ArrayBuffer互转
    if exists用法(判断对象的用法)
  • 原文地址:https://www.cnblogs.com/lizhensheng/p/11183675.html
Copyright © 2020-2023  润新知