initial implementation of state logging.

see examples/pybullet/logMinitaur.py for example. Other state logging will include general robot states and VR controllers state.
This commit is contained in:
Erwin Coumans
2017-02-17 14:25:53 -08:00
parent 2b27ab2463
commit cfd35840f0
9 changed files with 402 additions and 116 deletions

View File

@@ -613,12 +613,11 @@ enum eVRCameraEnums
VR_CAMERA_ROOT_TRACKING_OBJECT=4
};
enum eRobotLoggingEnums
enum eStateLoggingEnums
{
ROBOT_LOGGING_START_MINITAUR_LOG=1,
ROBOT_LOGGING_STOP_MINITAUR_LOG=1,
ROBOT_LOGGING_START_GENERIC_LOG=1,
ROBOT_LOGGING_STOP_GENERIC_LOG=1,
STATE_LOGGING_START_LOG=1,
STATE_LOGGING_STOP_LOG=2,
STATE_LOGGING_FILTER_OBJECT_UNIQUE_ID=4,
};
struct VRCameraState
@@ -629,6 +628,21 @@ struct VRCameraState
};
struct StateLoggingRequest
{
char m_fileName[MAX_FILENAME_LENGTH];
int m_logType;//Minitaur, generic robot, VR states
int m_numBodyUniqueIds;////only if ROBOT_LOGGING_FILTER_OBJECT_UNIQUE_ID flag is set
int m_bodyUniqueIds[MAX_SDF_BODIES];
int m_loggingUniqueId;
};
struct StateLoggingResultArgs
{
int m_loggingUniqueId;
};
struct SharedMemoryCommand
{
int m_type;
@@ -670,6 +684,7 @@ struct SharedMemoryCommand
struct RequestRaycastIntersections m_requestRaycastIntersections;
struct LoadBunnyArgs m_loadBunnyArguments;
struct VRCameraState m_vrCameraStateArguments;
struct StateLoggingRequest m_stateLoggingArguments;
};
};
@@ -730,6 +745,8 @@ struct SharedMemoryStatus
struct b3UserConstraint m_userConstraintResultArgs;
struct SendVREvents m_sendVREvents;
struct SendRaycastHits m_raycastHits;
struct StateLoggingResultArgs m_stateLoggingResultArgs;
};
};