原链接:https://community.bwbot.org/topic/675
开发测试平台:小强机器人

教程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。

这样就可以了。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐