AMotorJointD
Wrapper node for the ODE joint type angular motor (amotor). See www.ode.org for detailed description of the underlying engine.
Inheritance
Code
XML encoding
<AMotorJointD mode='0' axisNum='3' axis1='1 0 0' axis2='0 1 0' axis3='0 0 1' axis1RelOrientation='0' axis2RelOrientation='0' axis3RelOrientation='0' torque1='0' torque2='0' torque3='0' loStop1='-1e20' loStop2='-1e20' loStop3='-1e20' hiStop1='1e20' hiStop2='1e20' hiStop3='1e20' vel1='0' vel2='0' vel3='0' fmax1='0' fmax2='0' fmax3='0' fudge1='1' fudge2='1' fudge3='1' bounce1='0' bounce2='0' bounce3='0' cfm1='1e-5' cfm2='1e-5' cfm3='1e-5' stopErp1='0.2' stopErp2='0.2' stopErp3='0.2' stopCfm1='0' stopCfm2='0' stopCfm3='0' logFeature='' />
Classic encoding
AMotorJointD { mode 0 axisNum 3 axis1 1 0 0 axis2 0 1 0 axis3 0 0 1 axis1RelOrientation 0 axis2RelOrientation 0 axis3RelOrientation 0 torque1 0 torque2 0 torque3 0 loStop1 -1e20 loStop2 -1e20 loStop3 -1e20 hiStop1 1e20 hiStop2 1e20 hiStop3 1e20 vel1 0 vel2 0 vel3 0 fmax1 0 fmax2 0 fmax3 0 fudge1 1 fudge2 1 fudge3 1 bounce1 0 bounce2 0 bounce3 0 cfm1 1e-5 cfm2 1e-5 cfm3 1e-5 stopErp1 0.2 stopErp2 0.2 stopErp3 0.2 stopCfm1 0 stopCfm2 0 stopCfm3 0 logFeature [""] }
Interface
Filter: X3D only | Avalon only | All
id | Name | DataType | PartType | Default | ValueType | Description |
---|---|---|---|---|---|---|
mode | SFInt32 | inputOutput | 0 | [0, 1] | See documentation of ODE for details. 0: is user mode (axes and joint angle settings are entirely controlled by the user); 1: is euler mode (Euler angles are automatically computed. The axis a1 is also automatically computed. The AMotor axes must be set correctly when in this mode. When this mode is initially set the current relative orientations of the bodies will correspond to all euler angles at zero.). | |
axisNum | SFInt32 | inputOutput | 3 | [0, 3] | Number of axes used. | |
axis1 | SFVec3f | inputOutput | 1 0 0 | axis1 | ||
axis2 | SFVec3f | inputOutput | 0 1 0 | axis2 | ||
axis3 | SFVec3f | inputOutput | 0 0 1 | axis3 | ||
axis1RelOrientation | SFInt32 | inputOutput | 0 | [0, 2] | Reference frame of axis1 orientation. 0: The axis is anchored to the global frame. 1: The axis is anchored to the first body. 2: The axis is anchored to the second body. | |
axis2RelOrientation | SFInt32 | inputOutput | 0 | [0, 2] | Reference frame of axis2 orientation. 0: The axis is anchored to the global frame. 1: The axis is anchored to the first body. 2: The axis is anchored to the second body. | |
axis3RelOrientation | SFInt32 | inputOutput | 0 | [0, 2] | Reference frame of axis3 orientation. 0: The axis is anchored to the global frame. 1: The axis is anchored to the first body. 2: The axis is anchored to the second body. | |
torque1 | SFFloat | inputOutput | 0 | (-inf, inf) | torque on axis1 | |
torque2 | SFFloat | inputOutput | 0 | (-inf, inf) | torque on axis2 | |
torque3 | SFFloat | inputOutput | 0 | (-inf, inf) | torque on axis3 | |
loStop1 | SFFloat | inputOutput | -1e20 | (-inf, inf) | lower stop angle for axis1 | |
loStop2 | SFFloat | inputOutput | -1e20 | (-inf, inf) | lower stop angle for axis2 | |
loStop3 | SFFloat | inputOutput | -1e20 | (-inf, inf) | lower stop angle for axis3 | |
hiStop1 | SFFloat | inputOutput | 1e20 | (-inf, inf) | high stop angle for axis1 | |
hiStop2 | SFFloat | inputOutput | 1e20 | (-inf, inf) | high stop angle for axis1 | |
hiStop3 | SFFloat | inputOutput | 1e20 | (-inf, inf) | high stop angle for axis1 | |
vel1 | SFFloat | inputOutput | 0 | (-inf, inf) | angular velocity on axis1 | |
vel2 | SFFloat | inputOutput | 0 | (-inf, inf) | angular velocity on axis2 | |
vel3 | SFFloat | inputOutput | 0 | (-inf, inf) | angular velocity on axis3 | |
fmax1 | SFFloat | inputOutput | 0 | [0, inf) | maximum force applied to axis1 | |
fmax2 | SFFloat | inputOutput | 0 | [0, inf) | maximum force applied to axis2 | |
fmax3 | SFFloat | inputOutput | 0 | [0, inf) | maximum force applied to axis3 | |
fudge1 | SFFloat | inputOutput | 1 | [0, 1] | correction factor. If joint is "jumpy" at stops try to reduce this. | |
fudge2 | SFFloat | inputOutput | 1 | [0, 1] | correction factor. If joint is "jumpy" at stops try to reduce this [0,1]. | |
fudge3 | SFFloat | inputOutput | 1 | [0, 1] | correction factor. If joint is "jumpy" at stops try to reduce this. | |
bounce1 | SFFloat | inputOutput | 0 | [0, 1] | bounciness for stops on axis1 | |
bounce2 | SFFloat | inputOutput | 0 | [0, 1] | bounciness for stops on axis1 | |
bounce3 | SFFloat | inputOutput | 0 | [0, 1] | bounciness for stops on axis1 | |
cfm1 | SFFloat | inputOutput | 1e-5 | (0, 1] | CFM (constraint force mixing) when not at a stop on axis1. See ODE docs for explanation of the CFM concept. | |
cfm2 | SFFloat | inputOutput | 1e-5 | (0, 1] | CFM (constraint force mixing) when not at a stop on axis2. See ODE docs for explanation of the CFM concept. | |
cfm3 | SFFloat | inputOutput | 1e-5 | (0, 1] | CFM (constraint force mixing) when not at a stop on axis3. See ODE docs for explanation of the CFM concept. | |
stopErp1 | SFFloat | inputOutput | 0.2 | (0, 1] | ERP (error reduction parameter) for stops on axis1. See ODE docs for explanation of the ERP concept. | |
stopErp2 | SFFloat | inputOutput | 0.2 | (0, 1] | ERP (error reduction parameter) for stops on axis2. See ODE docs for explanation of the ERP concept. | |
stopErp3 | SFFloat | inputOutput | 0.2 | (0, 1] | ERP (error reduction parameter) for stops on axis3. See ODE docs for explanation of the ERP concept. | |
stopCfm1 | SFFloat | inputOutput | 0 | (0, 1] | CFM (constraint force mixing) when at a stop on axis1. See ODE docs for explanation of the CFM concept. | |
stopCfm2 | SFFloat | inputOutput | 0 | (0, 1] | CFM (constraint force mixing) when at a stop on axis2. See ODE docs for explanation of the CFM concept. | |
stopCfm3 | SFFloat | inputOutput | 0 | (0, 1] | CFM (constraint force mixing) when at a stop on axis3. See ODE docs for explanation of the CFM concept. | |
bodies | MFNode | initializeOnly | Node | the two bodies connected by this joint | ||
force1Feedback | SFVec3f | outputOnly | returns the computed force applied to body1 on each simulation step | |||
force2Feedback | SFVec3f | inputOnly | returns the computed force applied to body2 on each simulation step | |||
torque1Feedback | SFVec3f | outputOnly | returns the computed torque applied to body1 on each simulation step | |||
torque2Feedback | SFVec3f | outputOnly | returns the computed torque applied to body2 on each simulation step | |||
logFeature | MFString | inputOutput | state, child, parent, route, eventIn, eventOut | controls the logging of changes, state: log state changes (e.g. live), child: log child add/remove, parent: log parent add/remove, route: log route add/remove; eventIn: log receiving of events, eventOut: log sending of events: guiView, runtime system should create node-view, guiEdit: runtime system should create node-editeverything: log everything | ||
metadata | SFNode | inputOutput | MetadataObject | container for payload metadata inside MetadataSet element |