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

Get distance v-rep proximity sensor Java

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

只知道有没有障碍物,不知道距离

有什么想法吗?

我找到的方法是在接近传感器上创建一个子脚本。在 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 的形式为您提供距离。