PDA

View Full Version : Intersense reset


Jerry
08-23-2007, 01:18 PM
According to the help documentation, if I do

ori = viz.add('intersense.dls')
ori.command(2)

ori.get() should come back 0,0,0 for yaw, pitch, and roll, but this
does not happen.

Is there something I'm missing or is this a bug?

farshizzo
08-23-2007, 01:42 PM
The command you are issuing will perform all subsequent resets in a local reference frame. You will have to issue a reset() command afterwards and wait a frame for the intersense data to be updated.

Jerry
08-28-2007, 10:31 AM
That still doesn't work. If I do this:

ori = viz.add('intersense.dls')
ori.command(2)
ori.reset()
print ori.get()

the values of yaw, pitch, and roll are not equal to zero.

What I want to do is zero all three axes.

farshizzo
08-28-2007, 01:00 PM
Are you waiting a frame so the intersense data is updated before issuing the reset command?

Jerry
08-28-2007, 01:10 PM
Yes. I have reset() and command() assigned to different
keys. I press the command() key and then, after waiting for
what must be longer than one frame, I press the reset() key.

farshizzo
08-28-2007, 02:32 PM
Sorry, I forgot to mention that these reset modes only work when the intersense is in quaternion mode. After adding the intersense you will need to issue the following command:isense.quat()
Also, the built-in link objects already support these reset modes. I would recommend using them since it is independent of the actual hardware. Here is an example script that shows how to use the different link reset modes with an intersense:import viz
viz.go()

#Add ground
ground = viz.add('tut_ground.wrl')

#Add intersense
PORT_INTERSENSE = 1
isense = viz.add('intersense.dls')

#Add node
node = viz.add('marker.wrl')
node.translate(0,1.5,4)
viz.startlayer(viz.LINES)
viz.vertexcolor(viz.RED)
viz.vertex(0,0,0)
viz.vertex(0,0.5,0)
viz.endlayer(parent=node)

#Link sensor to node
link = viz.link(isense,node)

#Create keyboard events
vizact.onkeydown('r',isense.reset)
vizact.onkeydown('1',link.reset,viz.RESET_ORI_LOCA L)
vizact.onkeydown('2',link.reset,viz.RESET_ORI_WORL D)
vizact.onkeydown('3',link.reset,viz.RESET_ORI_RAW)