Grasp Database
The RPI Robotics Lab has created a Grasp Database for storing and analyzing grasps. Currently the database is still in the development stages. It has been designed for our specific arm and hand in the lab, but we are working to make it generic enough to support arbitrary robotic arms, hands, object geometries, and test bed setups.
The database can be accessed at
http://grasp.robotics.cs.rpi.edu/.
Matlab Struct Definitions
There are several structs defined in runExperiment.m, many of which can be accessed in the user-defined callback function. For clarity, we explain these structs here including descriptions of their various elements
Calibration Struct
The calibration struct contains low-level data about what is happening currently in the calibration procedure, as well as the final results of the calibration.
- stage - either stage 1 or stage 2. In stage 1, joint 1 is rotating about the base. In stage 2, joint 2 is rotating up and over the arm.
- step - the step is an integer from 1-9, representing which step the joint is at in the current stage.
- waitStart - the time we started waiting at the current step.
- markerFailures - the number of consecutive failures in receiving markers (the exact right number of markers must be visible to perform calibration).
- marker3 - the index of the marker attached to the 3rd link.
- q - the set of joint positions the arm has been sent to.
- pcam - the set of markers captured by the camera system.
- trackedMarkers - the set of markers captured by the camera system, ordered such that they are actually tracked from frame to frame.
- tformData - the final resulting transformation found by the calibration.
- Tcamwam - the transformation from the camera frame to the WAM frame.
- errmean - the mean error in the estimation.
- errmax - the maximum error in the estimation.
- residual - the final residual vector output by the non-linear least squares solver.
Experiment Struct
The experiment struct contains all of the information and recorded data for the current running experiment.
- state - the current state of the experiment. Should be set to 0 when the experiment exits. Can be used to control state machine in your callback function.
- handedness - either 'R' or 'L'. In this code it is always set to 'R'.
- frameCount - current number of recorded frames.
- frameTimes - set of frame times for all recorded frames.
- wamData - struct containing all recorded WAM data.
- q - recorded joint positions.
- qd - recorded joint velocities.
- qdes - recorded desired joint positions.
- qddes - recorded joint velocities.
- wdes - recorded desired tool configs.
- wddes - recorded desired tool velocities.
- tau - recorded applied joint torques.
- trackData - struct containing all recorded tracking data.
- frameUpdated - whether or not the tracking system had an update on each frame.
- rawMarkers - recorded raw markers.
- trackables - struct of recorded trackable data.
- name - trackable name.
- lastTrack - last tracked frame.
- mbase - marker base positions in the object frame.
- mapos - marker actual positions in the world frame.
- mepos - marker expected positions in the world frame.
- merr - Euclidean distance between mapos, mepos.
- tpos - trackable position.
- tqtr - trackable quaternion.
Frame Data Struct
The frame data struct contains data about the current frame, and is passed as input to your callback function. The data contained in this struct will be recorded to the experiment struct if you set experiment.record=1 in your callback function.
- recvTime
- wamDataRcvd - struct containing WAM data for the current frame.
- q - current joint positions.
- qd - current joint velocities.
- qdes - current desired joint positions.
- qddes - current joint velocities.
- wdes - current desired tool configs.
- wddes - current desired tool velocities.
- tau - current applied joint torques.
- trackDataRcvd - struct containing all tracking data for the current frame.
- rawMarkers - current raw markers.
- trackables - struct of current trackable data.
- tracked - whether trackable was tracked on this frame.
- mapos - marker actual positions in the world frame.
- mepos - marker expected positions in the world frame.
- merr - Euclidean distance between mapos, mepos.
- tpos - trackable position.
- tqtr - trackable quaternion.
Database Tables
- experiments - contains experiment IDs as well as basic information about the experiment (type, description, timestamp, handedness).
- calibrations - contains calibration result for each experiment (Tcamwam, errMean, errMax).
- frames - contains information for each frame of each experiment (current time, whether tracking frame updated).
- rawMarkers - contains raw marker positions on each frame.
- trackables - contains the set of trackables stored for each experiment.
- trackableMarkers - contains the marker base positions for each trackable.
- trackableFrames - contains trackable position and orientation on each frame.
- trackableMarkerFrames - contains marker expected/actual positions for each trackable on each frame.
- wamData - contains all WAM data for each experiment.
Topic revision: r2 - 2011-05-10 - 04:23:23 -
JohnBehmer