获取距离v-rep接近传感器Java

时间:2018-04-25 20:15:41

标签: java proximitysensor

我需要在java编码的v-rep接近传感器上以米为单位。

我只能知道它是否检测到障碍物,而不是距离

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我发现这样做的方法是在接近传感器上创建子脚本。在V-Rep中,选择接近传感器后,转到Add --> associated child script --> Non-Threaded 然后让sysCall_actuation()看起来像:

function sysCall_actuation()
    local name = sim.getObjectName(sim.getObjectAssociatedWithScript(sim.handle_self))
    result,distance,detectedPoint,detectedObjectHandle = sim.handleProximitySensor(sim.handle_self)
    if distance then
        sim.setFloatSignal("mydistance", distance);
    end
end

这将读取距离接近传感器的距离并将其推送到信号(如跨平台变量类型的东西)。然后在java方面有类似的东西:

    FloatW val = new FloatW(-1);
    vrep.simxGetFloatSignal(clientID, "mydistance", val, remoteApi.simx_opmode_buffer);//call this with simx_opmode_streaming once before this to start vrep streaming the distances

这将获取从vrep发送的值,并以FloatW的形式为您提供距离。