当前位置: 首页 > 面试题库 >

检查加载的ADF中的区域是否本地化

左仰岳
2023-03-14
问题内容

更新:

我找到了进行重新本地化的行,但设备 本身并未进行本地化 。加载ADF之后,我总是会得到状态代码 POSE_INITIALIZING
。Java Area_Description_Example中的重新本地化也不起作用。有人遇到同样的问题吗?唯一可以重新定位的应用程序是“
Explorer”和“ ADF Inspector”,但我没有源代码。

这是我的第一个问题的解决方案,该代码是在加载ADF之后检查重新定位的代码:

TangoPoseData lastFramePose = mTango.getPoseAtTime(mRgbTimestampGlThread,
                            FRAME_PAIR);
    if (lastFramePose.statusCode == TangoPoseData.POSE_VALID) {

           // Device is re-located!

           // Update the camera pose from the renderer
           mRenderer.updateRenderCameraPose(lastFramePose);
           mCameraPoseTimestamp = lastFramePose.timestamp;
    } else {
           Log.w(TAG, "Can't get device pose at time: " + mRgbTimestampGlThread);
    }

旧:

在我的应用程序中,用户可以决定是开始新会话还是加载先前记录的ADF(区域描述文件)。我加载了ADF(adfUUID)并将其添加到Tango类对象(mTango)中,如下所示:

TangoConfig config = mTango.getConfig(TangoConfig.CONFIG_TYPE_CURRENT);
config.putString(TangoConfig.KEY_STRING_AREADESCRIPTION, adfUUID);
mTango.setRuntimeConfig(config);

所以我现在的问题是, 如何检查 加载的ADF 是否对该区域进行了本地化
?我想为已加载的ADF而不是新会话的服务开始提供坐标参考系。这是我在connectTango()函数中的设置:

TangoConfig config = mTango.getConfig(TangoConfig.CONFIG_TYPE_DEFAULT);
config.putBoolean(TangoConfig.KEY_BOOLEAN_LOWLATENCYIMUINTEGRATION, true);
config.putBoolean(TangoConfig.KEY_BOOLEAN_DEPTH, true);
config.putBoolean(TangoConfig.KEY_BOOLEAN_LEARNINGMODE, true);
config.putBoolean(TangoConfig.KEY_BOOLEAN_COLORCAMERA, true);
mTango.connect(config);

我使用的fram对是:

private static final TangoCoordinateFramePair FRAME_PAIR = new TangoCoordinateFramePair(
        TangoPoseData.COORDINATE_FRAME_AREA_DESCRIPTION,
        TangoPoseData.COORDINATE_FRAME_DEVICE);

问题答案:

“在学习模式打开时加载ADF处于打开状态”和“在学习模式关闭时加载ADF处于打开状态”均良好。目前,他们正在使用不同的位置管道。因此,第一个定位所需的时间比第二个定位所需的时间长得多。ADF检查器用于在不启用学习功能的情况下加载ADF”。Tango
Explorer应该在“不带学习功能的情况下加载ADF”中重新定位。

有关如何检查本地化ADF的问题,请参见示例Java代码:

  // Check for Device wrt ADF pose, Device wrt Start of Service pose,
                // Start of Service wrt ADF pose (This pose determines if the device
                // is relocalized or not).
                if (pose.baseFrame == TangoPoseData.COORDINATE_FRAME_AREA_DESCRIPTION
                        && pose.targetFrame == TangoPoseData
                        .COORDINATE_FRAME_START_OF_SERVICE) {
                    if (pose.statusCode == TangoPoseData.POSE_VALID) {
                        mIsRelocalized = true;
                    } else {
                        mIsRelocalized = false;
                    }

将数据放在第三个数据上:

ArrayList<TangoCoordinateFramePair> framePairs = new ArrayList<TangoCoordinateFramePair>();
    framePairs.add(new TangoCoordinateFramePair(
            TangoPoseData.COORDINATE_FRAME_START_OF_SERVICE,
            TangoPoseData.COORDINATE_FRAME_DEVICE));
    framePairs.add(new TangoCoordinateFramePair(
            TangoPoseData.COORDINATE_FRAME_AREA_DESCRIPTION,
            TangoPoseData.COORDINATE_FRAME_DEVICE));
    framePairs.add(new TangoCoordinateFramePair(
            TangoPoseData.COORDINATE_FRAME_AREA_DESCRIPTION,
            TangoPoseData.COORDINATE_FRAME_START_OF_SERVICE));


 类似资料:
  • 如何将用户键入的文本拼写检查到TextArea? 这个JavaFX组件可以做到这一点吗? 我可以使用标准拼写检查从JavaJavaFX?

  • 问题内容: 我正在尝试检查Jquery库是否已加载到HTML页面上。我正在检查它是否有效,但是有些不正确。这是我所拥有的: 问题答案: 事情不对 好吧,您正在使用jQuery检查jQuery是否存在。如果未加载jQuery,则根本不会运行,并且回调也不会执行,除非您正在使用另一个库,并且该库碰巧共享相同的语法。 删除您的(使用类似方法):

  • 我有以下型号: 在另一个图书馆服务的方法: 只有在启用延迟加载时,它才能正常工作: 如果未启用延迟加载,则不填充用户属性。我想抛出一个异常,如果有人试图使用我的服务没有启用延迟加载。怎么做呢?我试图检查属性

  • 我需要对dbpedia执行一个查询: null null

  • 问题内容: 有谁知道如何检查jquery是否已加载(使用javascript),然后再加载(如果未加载)。 就像是 问题答案: 也许是这样的:

  • 我很乐意得到任何暗示。 谢谢