ROS交流群
ROS Group
产品服务
Product Service
开源代码库
Github
官网
Official website
技术交流
Technological exchanges
激光雷达
LIDAR
ROS教程
ROS Tourials
深度学习
Deep Learning
机器视觉
Computer Vision

校正kinect tf 关系



  • 教程10使用kinect避障过程中,我们可能会遇到kinect前端显示有障碍物而实际上没有的情况。这可能是由于kinect的tf关系和默认值差别太大的原因。导致kinect没有正确的识别水平面而把地面当作了障碍物。我们可以重新对kinect tf关系进行校准修复这个问题。

    首先启动服务

    sudo service startup start
    

    将Kinect放置于空旷的地方,保证kinect前面2m范围内没有障碍物。然后启动kinect驱动程序

    roslaunch freenect_launch freenect-xyz.launch
    

    设置kinect角度

    rostopic pub /set_tilt_degree std_msgs/Int16 '{data: -19}' -1
    

    运行校正程序

    rosrun nav_test kinect2base.py
    

    等待程序运行完成,会有如下输出

    
    FINAL R: [[ 0.         -0.34659864  0.93801353]
     [-1.          0.          0.        ]
     [ 0.         -0.93801353 -0.34659864]]
    

    这个R是经过校正的kinect的tf旋转矩阵。把这个值设置到 /home/xiaoqiang/Documents/ros/src/image_pipeline/depth_image_proc/occupancy_xyz.yaml文件中的 transform rotation matrix。

    这样就可以了。