在VREP中的物体上添加一个力矩看看它会怎么运动。新建一个场景,向其中添加一个立方体,将立方体抬高离开地面,并在Dynamics选项卡中将重力设置为0. 然后在立方体上施加一个力矩T={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