# nokov_tool **Repository Path**: tlkid/nokov_tool ## Basic Information - **Project Name**: nokov_tool - **Description**: 动捕数据与IMU fusion 的迭代误差卡尔曼滤波器 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2023-06-25 - **Last Updated**: 2024-04-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 动捕功能包使用说明 ## 动捕新驱动 请不要使用vrpn-client-ros这个老驱动了。这个驱动有数据不稳定的问题,每帧的时间间隔很不稳定。如果要直接用nokov给出的速度和加速度的话,得用这个包。在这种情况下,到是还勉强可以接受数据间隔的不稳定。 Nokov新推出了官方ROS驱动:http://wiki.ros.org/mocap_nokov,该驱动在数据传输上稳定的多,每帧的时间间隔基本一致!偶尔会出现一点延迟(测试10min,时间间隔不一致的次数在100以下,且误差是1ms左右,可以忽略!) 安装使用该新驱动时,请注意以下问题: ## QA Q:run error: /opt/ros/noetic/lib/mocap_nokov/mocap_node: error while loading shared libraries: libSeekerSDKClient.so: cannot open shared object file: No such file or directory A:please copy the libSeekerSDKClient.so of target arch(like x86_64) to /usr/lib https://github.com/NOKOV-MOCAP/mocap_nokov/tree/master/deps/nokov_sdk/lib, type the command(this problem will be solved after next version Synchronized) ``` $ wget https://github.com/NOKOV-MOCAP/mocap_nokov/blob/master/deps/nokov_sdk/lib/x64/libSeekerSDKClient.so $ sudo cp ./libSeekerSDKClient.so /usr/lib ``` 通过上述操作安装动态链接库,建议再`sudo ldconfig`一下,以更新动态链接库缓存。如果出现`/sbin/ldconfig.real: /usr/lib/libSeekerSDKClient.so is not an ELF file - it has the wrong magic bytes at the start.`的错误,请直接通过浏览器下载`libSeekerSDKClient.so`,然后重新安装动态链接库。 * **note1:** 当nokov失去对物体的捕捉时,新驱动在位置以及四元数的x、y、z输出都会是9999.999,四元数w输出为1.0。 * **note2:** mocap.yaml中,请注释odom: Robot_1/Odom 在源码中有bug, 每次数据更新,输出了两次,且并没有速度输出! ## 更新说明(2023-6-10) * 最新版本的nokov_tool开发了迭代误差卡尔曼滤波融合估计器。 * 该估计器,状态变量为24维,具体状态和推导请参考另外一份文档。 * 启动估计器前,请将无人机尽量朝着东南西北方向摆放,以东北天为初始参考系,在`nokov_ieskf.launch`中` `填入无人机的偏航角,然后`roslaunch nokov nokov_ieskf.launch`, 启动后待窗口打印出`init SUCCESS`拿起无人机进行俯仰、滚转的激励动作,大约10s,使得外参收敛,然后方可起飞! * 查看无人机可视化结果`roslaunch nokov nokov_visualization.launch` * 可视化结果中,请在`odometry`话题选项中选择`unreliable`,否则其位姿会闪动。 ## 更新说明(2023-6-23) * 之前的IESKF,没有做数据同步的处理,导致结果会有异常!ieskf_new修复了这个bug。 * 为了让感兴趣的同学,对比分析数据同步的作用有多大,故同时保留了旧的版本。 * 这里感谢Fast-Lio2和 LI-init的文章以及高翔博士的激光slam书及其开源代码,公式推导和代码实现都有参考这些优秀的作品!