在VREP中的物体上添加一个力矩看看它会怎么运动。新建一个场景,向其中添加一个立方体,将立方体抬高离开地面,并在Dynamics选项卡中将重力设置为0. 然后在立方体上施加一个力矩T={1,1,1},立方体将在力矩作用下旋转起来:

物理引擎中的刚体转动1

function sysCall_init()
    -- do some initialization here:

    handle=sim.getObjectHandle('Cuboid')

    graphHandle = sim.getObjectHandle('Graph')

    pos = sim.getObjectPosition(handle, -1)
    torque = {1, 1, 1}
    lineContainer = sim.addDrawingObject(sim.drawing_lines, 3, 0, -1, 99999, {0.2,0.2,0.2})
    lineDat = {pos[1],pos[2], pos[3], pos[1]+0.1*torque[1], pos[2]+0.1*torque[2], pos[3]+0.1*torque[3]}
    sim.addDrawingObjectItem(lineContainer, lineDat)
end


function sysCall_actuation()
    -- put your actuation code here
    sim.addForceAndTorque(handle,nil,torque)
end


function sysCall_sensing()
    -- put your sensing code here
    _, angularVel = sim.getVelocity(handle)
    --print(angularVel[1],angularVel[2],angularVel[3])

    sim.setGraphUserData(graphHandle,'vx',angularVel[1])
    sim.setGraphUserData(graphHandle,'vy',angularVel[2])
    sim.setGraphUserData(graphHandle,'vz',angularVel[3])
end
View Code

相关文章:

猜你喜欢
相关资源
相似解决方案