Library for Coordinating Vision Application and MUJIN Controller
Everything is in JSON.
{
"command":"RunMyCommand",
"param1":1
}
param1 - command specific parameters
When everything is ok, return parameters depending on command:
{
"retvalue":"something",
"retvalue2":[],
}
When error happens, response will be filled with an error field:
{
"error":
{
"type":"InvalidArguments",
"desc":"more thorough description of what happened"
}
}
- type - comes from the MujinVisionErrorCode enum. Use GetErrorCodeString(MVC_X).
- desc - context specific
For command implementation in the vision server:
- whenever any inputs is bad, throw an exception with MVE_InvalidArgument
- if vision server is busy doing something else and cannot process command, throw MVE_Busy
Regular commands controls the detection process:
- Initialize
- StartDetectionLoop
- StopDetectionLoop
- DetectObjects
- SendPointCloudObstacleToController
- VisualizePointCloudOnController
- ClearVisualizationOnController
- UpdateDetectedObjects
- SyncRegion
- SyncCameras
- GetCameraId
Configuration commands controls the vision manager itself:
- Cancel
- Quit
{
"timestamp":1000,
"status":"Active",
"message":"detail status message"
}
- status - the string part of MujinVisionManager::ManagerStatus
- timestamp - linux time in ms