高水平 专业 建设 网站,wordpress高级主题,做网站好还是做微信小程序好,wordpress卡密网站源码本文旨在介绍使用OptiTrack光学跟踪系统和Turtlebot机器人进行视觉SLAM定位实验的详细流程#xff0c;包括实验平台搭建过程、数据处理过程以及SLAM估计评估方法。由于涉及知识较多#xff0c;部分内容只给出了相关参考博文链接。
1 实验平台搭建
实验平台包括OptiTrack光学…本文旨在介绍使用OptiTrack光学跟踪系统和Turtlebot机器人进行视觉SLAM定位实验的详细流程包括实验平台搭建过程、数据处理过程以及SLAM估计评估方法。由于涉及知识较多部分内容只给出了相关参考博文链接。
1 实验平台搭建
实验平台包括OptiTrack光学跟踪系统和Turtlebot数据采集平台两部分OptiTrack系统用于获取机器人运动轨迹真值Turtlebot数据采集平台用于录制图像数据。
1.1 OptiTrack光学跟踪系统介绍
OptiTrack是美国公司NaturalPoint公司研制的高性能光学跟踪系统可以获取场地中物体的亚像素级位置目前TUM等公开数据集的轨迹真值均通过OptiTrack系统获取。OptiTrack由固定在场地上方的多个Prime相机、荧光标记球、Motive处理软件组成使用过程中将多个荧光标记球粘在物体上Prime相机以每秒数百帧的速率拍摄荧光标记球Motive实时地解算出物体在场景中的位姿。OptiTrack系统的原理如图所示。 1.2 Turtlebot数据采集平台介绍
本实验所使用的Turtlebot数据采集平台如图所示共由五部分组成笔记本、Turtlebot机器人、深度相机、荧光标记球、游戏手柄。其中笔记本是该平台的核心用于向各设备发送指令实现数据采集平台的各项功能Turtlebot机器人是一款轻量级机器人开发套件在实验中作为移动平台深度相机是机器人的传感器在实验中用于录制深度和彩色图像数据荧光标记球用于结合OptiTrack系统获取机器人位姿无线游戏手柄用来控制机器人的运动。各个设备均通过笔记本相连。 1.3 实验平台搭建
只有知道轨迹和图像的时间戳才能知道轨迹与估计轨迹之间的对应关系进而评估SLAM系统的定位性能。OptiTrack系统估计的位姿输出在上位机上而相机图像数据输出在Turtlebot机器人搭载的笔记本上需要将位姿数据传输到笔记本上通过ROS统一录制数据实现图像与位姿之间的匹配。详细配置过程见Optitrack与ROS详细教程以及Motive的使用_如何在另一台电脑使用激活过optitrack的motive软件-CSDN博客。这里只介绍其工作原理 上图中上位机安装有Motive软件通过交换机获取OptiTrack系统的数据。通过Motive软件中的设置将机器人位姿数据经过路由器发布在局域网中。Turtlebot机器人搭载的笔记本通过局域网获取机器人位姿数据并用ROS的rosbag工具录制深度相机话题和位姿话题。可能用到的命令包括 配置笔记本防火墙的命令只需要配置一次
sudo ufw status #查看防火墙
sudo ufw enable #打开防火墙
sudo ufw disable #关闭防火墙开始发布optiTrack位姿的命令其中192.168.1.104 为路由器的ip地址笔记本需要通过wifi连接在路由器的局域网中
roslaunch vrpn_client_ros sample.launch server:192.168.1.104 #获取optiTrack位姿数据开始发布Realsense相机的RGB-D图像的命令其中s_d435_camera_our.launch为编写的launch文件它记录了各种ros命令以及参数配置信息需要认真配置该文件确保发布的数据“深度-彩色匹配”后的图像。filters:colorizer是指发布的深度图像的格式这里是指彩色表示深度值的大小。
roslaunch realsense2_camera rs_d435_camera_our.launch filters:colorizer #发布realsense相机的图像话题使用rosbag命令录制图像数据与位姿数据并保存为test.bag文件。其中/camera/color/image_raw为彩色图像话题名称 /camera/aligned_depth_to_color/image_raw 为深度图像话题名称 /vrpn_client_node/RigidBody1/pose为optiTrack位姿的话题名称各名称需要根据实际情况修改。-O test是指将数据保存为test.bag。
rosbag record subset /camera/color/image_raw /camera/aligned_depth_to_color/image_raw /vrpn_client_node/RigidBody1/pose -O test2 实验设备标定
2.1 Optitrack光学跟踪系统标定
在使用OptiTrack光学定位系统前进行标定标定有几个目的其一相当于对软件的初始化为了让系统确定摄像头的采集范围其二确定软件内部坐标的精度使软件根据数据生成一个3D空间其三对所标记的物体进行空间坐标的计算。详细标定过程见optitrack学习3动补系统校准与标定_optitrack标定-CSDN博客。标定后在Motive中为机器人建立刚体即可获取机器人的位姿。下图为软件运行结果蓝色为四个Prime相机绿线为相机对机器人的观测路径下方为四相机观测到的红外图像。 2.2 相机标定
深度相机在使用前需要进行标定需要标定的参数有彩色摄像头的内参、深度摄像头的内参以及两者的外参。相机在使用前需要进行标定的原因是每个相机在加工制和组装过程中都会存在一定的误差这使得每个相机的成像平面相机坐标系都会略有不同对相机标定后可校正相机的畸变获得更为精确的图像从而能够更为准确的进行定位与建图。在实际使用过程中一般只对彩色摄像头进行标定其他采用厂商提供的默认参数即可。使用Matlab标定相机的过程可参考基于MATLAB的单目摄像机标定_matlab相机标定-CSDN博客。 3 实验数据处理
实验使用rosbag工具采集图像和位姿数据需要将其转换为TUM数据集格式才能进一步运行SLAM算法和评估轨迹精度。该过程包括两部分其一为将图像保存为TUM格式并使用TUM提供的associate.py实现深度图与彩色图之间的配准其二为将位姿数据保存为TUM格式的轨迹真值groundtruth.txt。
3.1 RGB-D相机数据处理
将.bag格式的图像数据转换为TUM格式数据的过程见本人之前的博文ROS学习制作自己的TUM数据集 - 古月居。该博文详细地介绍了转换过程、ROS程序、测试过程。转换结果如下图所示包括深度图像depth、彩色图像rgb、深度图像路径depth.txt、彩色图像路径rgb.txt。 之后下载TUM提供的associate.py实现深度图像与彩色图像之间的时间戳对齐得到associate.txt
python associate.py rgb.txt depth.txt associate.txt
3.2 Optitrack位姿数据处理
将rosbag数据转换为TUM格式的轨迹真值groundtruth.txt的过程与3.1类似也是编写一个ROS节点订阅Optitrack位姿话题并将数据保存在txt文件中。具体过程为 1.编写optitrack2tum 节点修改下文程序中的路径并用catkin_make命令编译工作空间 2.运行optitrack2tum节点
点击基于OptiTrack跟踪系统和Turtlebot机器人的视觉SLAM定位评估 - 古月居可查看全文