Tekkotsu Homepage | Demos | Overview | Downloads | Dev. Resources | Reference | Credits |
ArmMC Class Reference
Inheritance diagram for ArmMC:
Detailed DescriptionDefinition at line 12 of file ArmMC.h.
Constructor & Destructor Documentation
Constructor, defaults to all joints to current value in state (i.e. calls takeSnapshot() automatically). Member Function Documentation
if x is outside of the range of joint i, it is set to either the min or the max, whichever is closer Definition at line 177 of file ArmMC.h. Referenced by setJointValue().
marks this as dirty each time it is added Reimplemented from MotionCommand.
Makes sure i is in the range (0,NumArmJoints). If it is instead in the range (ArmOffset,ArmOffset+NumArmJoints), output a warning and reset i to the obviously intended value.
Definition at line 429 of file ArmMC.cc. Referenced by getJointValue(), and setJointValue().
sets the target to last sent commands, and dirty to false; essentially freezes motion in place This is very similar to takeSnapshot(), but will do the "right thing" (retain current position) when motion blending is involved. A status event will be generated if/when the joints reach the currently commanded position. Probably should use freezeMotion() if you want to stop a motion underway, but takeSnapshot() if you want to reset/intialize to the current joint positions.
Returns the current active load on the gripper's servos. Definition at line 147 of file ArmMC.cc. Referenced by incrementGrasp().
Returns the target value of joint i. Use this if you want to know the current commanded joint value; To get the current joint position, look in WorldState::outputs.
Helper function to execute a grasp. Definition at line 172 of file ArmMC.cc. Referenced by updateOutputs().
Alive while target is not reached. Implements MotionCommand.
true if a change has been made since the last updateJointCmds() and we're active Implements MotionCommand. Definition at line 146 of file ArmMC.h. Referenced by updateOutputs().
Sets the weight values for all the arm joints. Definition at line 232 of file ArmMC.cc. Referenced by moveToPoint().
puts x in the range (-pi,pi) Definition at line 174 of file ArmMC.h. Referenced by clipAngularRange().
Sets the desired load value for subsequent grip operations. Definition at line 138 of file ArmMC.cc. Referenced by openGripper().
if completionReported, copies armCmds from MotionManager::getOutputCmd(), then sets dirty to true and completionReported to false should be called each time a joint value gets modified in case the arm isn't where it's supposed to be, it won't jerk around MotionManager::getOutputCmd() is called instead of WorldState::outputs[] because if this is being called rapidly (i.e. after every sensor reading) using the sensor values will cause problems with very slow acceleration due to sensor lag continually resetting the current position. Using the last value sent by the MotionManager fixes this. Definition at line 420 of file ArmMC.cc. Referenced by doStart(), requestGripperLoad(), setGripperPulse(), setJointValue(), and setWeight().
Sets the member angleIncrement to the specified value (default = 0.05). This is only applicable for CALLIOPE2 and will do nothing for any other robot. Definition at line 156 of file ArmMC.cc. Referenced by setGripperSpeed().
Sets the member idleCycles to the specified value (default = 8). This is only applicable for CALLIOPE2 and will do nothing for any other robot. The purpose of this parameter is to control how fast often angleIncrement is used. If it is used too often, the gripper will move too fast, generate an invalid load, and then not close correctly.
Sets the weight values for all the arm joints. Definition at line 76 of file ArmMC.h. Referenced by incrementGrasp(), openGripper(), setFingerGap(), setJoints(), and setWrist().
Sets maxSpeed for all joints in rad/sec. Definition at line 51 of file ArmMC.h. Referenced by setGripperSpeed(), setJoints(), setMaxSpeed(), and setWrist().
Sets the weight values for all the arm joints. Definition at line 132 of file ArmMC.h. Referenced by moveOffsetToPoint(), and moveOffsetToPointWithOrientation().
Sets the weight values for all the arm joints. Definition at line 63 of file ArmMC.cc. Referenced by ArmMC(), and setJointValue().
sets the target joint positions to current sensor values Similar to freezeMotion() when a motion is underway, but only if no other MotionCommands are using neck joints. A status event will not be generated unless a motion was already underway. Probably should use freezeMotion() if you want to stop a motion underway, but takeSnapshot() if you want to reset/intialize to the current joint positions. Definition at line 39 of file ArmMC.cc. Referenced by ArmMC().
Updates where the arm is looking. Implements MotionCommand. Member Data Documentation
How fast to close the gripper (0.05 by default). Definition at line 213 of file ArmMC.h. Referenced by incrementGrasp(), and setGraspSpeed().
stores the last values we sent from updateOutputs Definition at line 207 of file ArmMC.h. Referenced by freezeMotion(), setDirty(), setOutputCmd(), setWeight(), takeSnapshot(), and updateOutputs().
stores the target value of each joint Definition at line 206 of file ArmMC.h. Referenced by armJointValue(), freezeMotion(), getJointValue(), isAlive(), setJointValue(), setOutputCmd(), takeSnapshot(), and updateOutputs().
true if the most recent movement request has completed Definition at line 203 of file ArmMC.h. Referenced by isAlive(), isDirty(), setDirty(), setOutputCmd(), and updateOutputs().
how tightly to grasp an object (negative is for tighter loads; -280 is a good value) Definition at line 212 of file ArmMC.h. Referenced by getDesiredLoad(), incrementGrasp(), requestGripperLoad(), and updateOutputs().
true if a change has been made since last call to updateJointCmds() Definition at line 200 of file ArmMC.h. Referenced by freezeMotion(), isAlive(), isDirty(), setDirty(), setOutputCmd(), takeSnapshot(), and updateOutputs().
How long to wait before updating the gripper angle by angleIncrement (8 by default). Definition at line 214 of file ArmMC.h. Referenced by incrementGrasp(), and setGraspWait().
initialized from Config::motion_config, but can be overridden by setMaxSpeed(); rad per frame Definition at line 208 of file ArmMC.h. Referenced by defaultMaxSpeed(), getMaxSpeed(), noMaxSpeed(), setMaxSpeed(), and updateOutputs().
number of milliseconds to keep servo power off, when pulsing Definition at line 210 of file ArmMC.h. Referenced by clearGripperPulse(), setGripperPulse(), and updateOutputs().
number of milliseconds to keep servo power on, when pulsing Definition at line 209 of file ArmMC.h. Referenced by clearGripperPulse(), setGripperPulse(), and updateOutputs().
when the current pulse cycle started Definition at line 211 of file ArmMC.h. Referenced by setGripperPulse(), and updateOutputs().
time at which the completionReported flag was set Definition at line 204 of file ArmMC.h. Referenced by isAlive(), and updateOutputs().
number of milliseconds to wait before giving up on a target that should have already been reached, a value of -1U will try forever Definition at line 205 of file ArmMC.h. Referenced by getTimeout(), isAlive(), and setTimeout().
when autopruning, if the maxdiff() of this posture and the robot's current position is below this value, isAlive() will be false, defaults to 0.01 (5.7 degree error) Definition at line 202 of file ArmMC.h. Referenced by getTolerance(), isAlive(), and setTolerance(). The documentation for this class was generated from the following files: |
Tekkotsu v5.1CVS |
Generated Mon May 9 04:59:05 2016 by Doxygen 1.6.3 |