Base types description
- Primitive types (double / float / int / long / unsigned_long_long / bool / string): just pass value with the same syntax as in C++, see examples for more info. Note : string has wrapping quotes
- Entity reflexion (entityReflexion): pass the serial number string of the entity you want to pass (see placeholders below).
- Model types (objectModel / placeModel / entityModel): pass the id string of the model you want to pass (see placeholders below).
- Optional (type suffixed with "?"): value can be omitted
- Enum types: type description can be found in the documentation. Pass enum value
- Object/Class types: type description can be found in the documentation. Pass json object string with necessary properties
- List: an array of elements of those
- Map: a key/value pair with string or int key and value of one of those types
Special placeholders
{{SerialNumber}}: replaced with the serial number of the first entity in the environment
{{EntityModelId}}: replaced with the model ID of the first entity in the environment
{{CurrentPosition}}: replaced with the current position of the first entity in the environment (format: X:.../Y:.../Z:...)
{{CurrentState}}: replaced with the current inputs / outputs state of the first entity in the environment (format: same as ConscienceEncoder::encodeStateToString)
ACTIVATE_LIFI_SIGNAL
Format de la commande
Exemple
Résultat
Exemple :
RESULT_ACTIVATE_LIFI_SIGNAL;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ACTIVATE_RS
Format de la commande
Exemple
Résultat
Exemple :
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ALERTS_UNWATCH
CscAlertType
- 11: CardiacFrequencyTooHigh :
- 12: DiastolicPressureTooHigh :
- 5: Fire :
- 1: FireArm :
- 4: ImmobileGroup :
- 3: ImmobilePersonNearProperty :
- 0: Knife :
- 7: MultiplePersons :
- 6: NobodyPresent :
- 17: PersonOutsideBed :
- 16: PulseCommunicationError :
- 10: RedonCommunicationError :
- 8: RedonContentTooHigh :
- 9: RedonFlowTooFast :
- 13: SPO2TooLow :
- 14: SystolicPressureTooHigh :
- 15: TemperatureTooHigh :
- 2: UnconsciousPerson :
Format de la commande
ALERTS_UNWATCH; \
entityReflexion: entityReflexion ; \
additionalParams: map[ string => string ] ; \
alertsToBeUnwatched: list[ enum<CscAlertType> ]
Exemple
ALERTS_UNWATCH;"{{SerialNumber}}";{};[]
Résultat
Exemple :
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ALIGN_IMAGES
Compute the transformation matrix to align two images and returns it
CommandAlignImagesParams
- *
{
entityReflexion: entityReflexion,
alignedImage: string,
imageToAlign: string,
}
Format de la commande
ALIGN_IMAGES; \
params: CommandAlignImagesParams
Exemple
ALIGN_IMAGES;{"entityReflexion": "{{SerialNumber}}","alignedImage": "example4027722","imageToAlign": "example2327722"}
Résultat
CommandAlignImageResult
{
homographyMatrix: list[ double ],
}
ALIGN_IMAGES;CommandAlignImageResult
Exemple :
RESULT_ALIGN_IMAGES;{"homographyMatrix": []}
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
AREA_ANALYSIS
Work In Progress : implementing algorithm for concave areas and areas with obstacles
CscPoint3d
* {
x: double,
y: double,
z: double,
}
Format de la commande
AREA_ANALYSIS; \
entityReflexion: entityReflexion ; \
areaVertices: list[ CscPoint3d ] ; \
holes: list[ list[ CscPoint3d ] ] ; \
areaOfPerceptionWidth: double ; \
entityPosition: CscPoint3d ; \
doNotPlay: bool?
Exemple
AREA_ANALYSIS;"{{SerialNumber}}";[];[];858.4899;{"x": 557.4503,"y": 265.8633,"z": 279.4184};
Résultat
Exemple :
RESULT_AREA_ANALYSIS;ENCODER_VERSION(float),nbVals,sequenceType,statesCount,state0PivotsCount,state0Pivot0Id,state0Pivot0Value,state0Pivot1Id,state0Pivot1Value,state0PropellersCount,....propellersValues,state0WheelsCount,....wheelsValues,state0TranslationsCount,....translationsValues,....moreStates
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
AREA_ANALYSIS_SIMPLE
CscPoint3d
* {
x: double,
y: double,
z: double,
}
Format de la commande
AREA_ANALYSIS_SIMPLE; \
entityReflexion: entityReflexion ; \
areaVertices: list[ CscPoint3d ] ; \
holes: list[ list[ CscPoint3d ] ] ; \
areaOfPerceptionWidth: double ; \
entityPosition: CscPoint3d ; \
doNotPlay: bool?
Exemple
AREA_ANALYSIS_SIMPLE;"{{SerialNumber}}";[];[];206.4618;{"x": 535.0658,"y": 357.1754,"z": 214.6907};
Résultat
AREA_ANALYSIS_SIMPLE;sequence
Exemple :
RESULT_AREA_ANALYSIS_SIMPLE;ENCODER_VERSION(float),nbVals,sequenceType,statesCount,state0PivotsCount,state0Pivot0Id,state0Pivot0Value,state0Pivot1Id,state0Pivot1Value,state0PropellersCount,....propellersValues,state0WheelsCount,....wheelsValues,state0TranslationsCount,....translationsValues,....moreStates
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
AREA_PATH_GENERATE_FOR_PICTURES
Compute a path for an entity to take pictures in the specified zone and cover most of it. entitySerial is the serial number of the entity; areaVertices represent the zone to cover; holes represent the potential zone were the entity should not go; fovWidth is the FOV width of the camera; fovHeight is the FOV height of the camera; flightHeight is the altitude at which the entity will fly; entity is the current position of the entity. Returns points where the photo needs to be taken to cover most of the zone
CommandAreaPathGenerateForPicturesParams
{
entityReflexion: entityReflexion,
areaVertices: list[ CscPoint3d ],
holes: list[ list[ CscPoint3d ] ],
fovWidth: double,
fovHeight: double,
flightHeight: int,
overlapPercentage: float,
entityPosition: CscPoint3d,
doNotPlay: bool?,
}
CscPoint3d
* {
x: double,
y: double,
z: double,
}
Format de la commande
AREA_PATH_GENERATE_FOR_PICTURES; \
params: CommandAreaPathGenerateForPicturesParams
Exemple
AREA_PATH_GENERATE_FOR_PICTURES;{"entityReflexion": "{{SerialNumber}}","areaVertices": [],"holes": [],"fovWidth": 282.1194,"fovHeight": 483.8246,"flightHeight": 90075,"overlapPercentage": 409.3108,"entityPosition": {"x": 806.5127,"y": 530.2161,"z": 421.3378}}
Résultat
AREA_PATH_GENERATE_FOR_PICTURES;sequence
Exemple :
RESULT_AREA_PATH_GENERATE_FOR_PICTURES;ENCODER_VERSION(float),nbVals,sequenceType,statesCount,state0PivotsCount,state0Pivot0Id,state0Pivot0Value,state0Pivot1Id,state0Pivot1Value,state0PropellersCount,....propellersValues,state0WheelsCount,....wheelsValues,state0TranslationsCount,....translationsValues,....moreStates
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
CARTOGRAPHY_GET
Get a cloud of points of the current cartography. Return the points of the current cartography. Return points null if no cartography are loaded.
Format de la commande
CARTOGRAPHY_GET; \
entityReflexion: entityReflexion
Exemple
CARTOGRAPHY_GET;"{{SerialNumber}}"
Résultat
CscPoint3d
* {
x: double,
y: double,
z: double,
}
CARTOGRAPHY_GET;list[CscPoint3d]
Exemple :
RESULT_CARTOGRAPHY_GET;[]
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
CARTOGRAPHY_LOAD
Load a cartography.
Format de la commande
CARTOGRAPHY_LOAD; \
entityReflexion: entityReflexion ; \
cartoFolderPath: string?
Exemple
CARTOGRAPHY_LOAD;"{{SerialNumber}}";
Résultat
Exemple :
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
CARTOGRAPHY_MANAGEMENT
Cartography management.
CartographyManagementCommandDataType
Parameters for cartography management.
{
entityReflexion: entityReflexion,
actionType: enum<CscCartographyManagementActionType>,
}
CscCartographyManagementActionType
- 1: Clear : Clears Lidar cartography without stopping
- 2: Pause : Pauses Lidar cartography
- 3: Resume : Resumes Lidar cartography
- 0: Start : Starts Lidar cartography
- 4: StopAndSave : Stops Lidar cartography and save to storage
Format de la commande
CARTOGRAPHY_MANAGEMENT; \
cartographyManagementData: CartographyManagementCommandDataType
Exemple
CARTOGRAPHY_MANAGEMENT;{"entityReflexion": "{{SerialNumber}}","actionType": 1}
Résultat
Exemple :
RESULT_CARTOGRAPHY_MANAGEMENT;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
CARTOGRAPHY_SAVE
Save a cloud of points as a cartography.
CscLine3d
{
positionA: CscPoint3d,
positionB: CscPoint3d,
}
CscPoint3d
* {
x: double,
y: double,
z: double,
}
Format de la commande
CARTOGRAPHY_SAVE; \
lines: list[ CscLine3d ]
Exemple
Résultat
Exemple :
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
CARTOGRAPHY_SET
The command sets the cartography used for localization.
CscPoint3d
* {
x: double,
y: double,
z: double,
}
Format de la commande
CARTOGRAPHY_SET; \
entityReflexion: entityReflexion ; \
points: list[ CscPoint3d ]
Exemple
CARTOGRAPHY_SET;"{{SerialNumber}}";[]
Résultat
Exemple :
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
CLEAR_PUBLIC_AI_DATA_FOR_SUBJECT
*
*
Format de la commande
CLEAR_PUBLIC_AI_DATA_FOR_SUBJECT; \
entityReflexion: entityReflexion ; \
subject: string
Exemple
CLEAR_PUBLIC_AI_DATA_FOR_SUBJECT;"{{SerialNumber}}";"example7227722"
Résultat
CLEAR_PUBLIC_AI_DATA_FOR_SUBJECT;
Exemple :
RESULT_CLEAR_PUBLIC_AI_DATA_FOR_SUBJECT;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
CONSUME_VIDEO_SOURCE
Starts consuming video source on entity reflexion
Format de la commande
CONSUME_VIDEO_SOURCE; \
entityReflexion: entityReflexion
Exemple
CONSUME_VIDEO_SOURCE;"{{SerialNumber}}"
Résultat
Exemple :
RESULT_CONSUME_VIDEO_SOURCE;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
CUSTOM_COMMAND_TEMPLATE
Description of your command..
You can use following types for params - primitives: string, int, long, unsigned long long, float double, bool - vector: vector of any type listed here - map: map having int or string keys, and values of any type listed here - optional: optional of any type listed here - object: ptr<YourNameCommandDataType> a pointer to a simple type (struct or class), with parameters defined by constructor having the most args
Format de la commande
CUSTOM_COMMAND_TEMPLATE; \
entityReflexion: entityReflexion ; \
param2: string ; \
param3: bool
Exemple
CUSTOM_COMMAND_TEMPLATE;"{{SerialNumber}}";"example4227722";false
Résultat
CUSTOM_COMMAND_TEMPLATE;string
Exemple :
RESULT_CUSTOM_COMMAND_TEMPLATE;"resultExample5527722"
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
DETECT_STOP
This command will stop all detections on entity .
Format de la commande
DETECT_STOP; \
entityReflexion: entityReflexion
Exemple
DETECT_STOP;"{{SerialNumber}}"
Résultat
Exemple :
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
DIVIDE_TARGET_PLUS
Format de la commande
DIVIDE_TARGET_PLUS; \
stepOnX: float ; \
stepOnZ: float ; \
partToDivide: string
Exemple
DIVIDE_TARGET_PLUS;935.17;664.4365;"example4327722"
Résultat
Exemple :
RESULT_DIVIDE_TARGET_PLUS;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
DRAW_PATH_ON_SIMULATOR
CscPoint3d
* {
x: double,
y: double,
z: double,
}
Format de la commande
DRAW_PATH_ON_SIMULATOR; \
pointsToDraw: list[ list[ CscPoint3d ] ]
Exemple
DRAW_PATH_ON_SIMULATOR;[]
Résultat
Exemple :
RESULT_DRAW_PATH_ON_SIMULATOR;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
DRILLING
Format de la commande
DRILLING; \
entitySerialNumber: string
Exemple
DRILLING;"{{SerialNumber}}"
Résultat
Exemple :
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ENTITIES_GET
The command returns the list of WorldEntities loaded into the scene. The result can be refined by filtering with an area, filtering by ids, or filtering by model ids. Returns a list of general data about filtered WorldEntities.
EntitiesGetFiltersCommandDataType
Defines optional filters on an entity within the Conscience 3D environment, featuring several filter parameters:
{
zone: CscArea3d,
ids: list[ string ]?,
modelIds: list[ string ]?,
}
CscArea3d
{
x: double,
y: double,
z: double,
sizeX: double,
sizeY: double,
sizeZ: double,
}
Format de la commande
ENTITIES_GET; \
filters: EntitiesGetFiltersCommandDataType
Exemple
ENTITIES_GET;{"zone": {"x": 926.9218,"y": 217.5941,"z": 941.8266,"sizeX": 951.3135,"sizeY": 820.6416,"sizeZ": 768.5804}}
Résultat
WorldEntityCommandDataType
{
currentSequenceIndex: long?,
entityStatusFlags: string,
id: string,
modelId: string,
name: string,
position: CscPoint3d,
rotationEuler: CscRotation3dEuler,
rotationQuaternion: CscQuaternion,
}
CscPoint3d
* {
x: double,
y: double,
z: double,
}
CscRotation3dEuler
{
pitch: double,
roll: double,
yaw: double,
}
CscQuaternion
{
w: double,
x: double,
y: double,
z: double,
}
ENTITIES_GET;list[WorldEntityCommandDataType]
Exemple :
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ENTITIES_INSERT
The command inserts given entities in environment & starts "reflection" on them. Returns inserted entities ids.
EntityPendingInsertionCommandDataType
Defines data required to inject an entity into Conscience environment.
{
serialNumber: string,
modelId: string,
videoSources: EntityVideoSourcesCommandDataType,
position: CscPoint3d,
rotation: CscPoint3d,
isSimulatedEntity: bool,
useGnssPositioning: bool,
realEntityNetworkParams: RealEntityNetworkParamsCommandDataType,
simulatedInputsType: enum<PositionFormat>?,
}
EntityVideoSourcesCommandDataType
Defines entity's video source - note: for now only one source supported.
{
localFileSources: list[ EntityVideoSourceLocalFileCommandDataType ]?,
localDeviceSources: list[ EntityVideoSourceLocalDeviceCommandDataType ]?,
networkStreamSources: list[ EntityVideoSourceNetworkStreamCommandDataType ]?,
}
EntityVideoSourceLocalFileCommandDataType
Local file video source for entity - file at path must be accessible by Conscience Core.
{
videoFilePath: string,
}
EntityVideoSourceLocalDeviceCommandDataType
Local camera video source for entity.
{
deviceId: int,
frameWidth: int?,
frameHeight: int?,
fps: int?,
}
EntityVideoSourceNetworkStreamCommandDataType
RTSP stream URL video source for entity.
{
streamUrl: string,
is360: bool?,
}
CscPoint3d
* {
x: double,
y: double,
z: double,
}
RealEntityNetworkParamsCommandDataType
Parameters to connect to entity. If ports are not specified, default values (udp 1705, tcp 1805) will be used.
{
entityIp: string,
entityPassword: string,
portUdp: long,
portTcp: long,
openRtspStream: bool,
additionalNetworkStreams: list[ EntityVideoSourceNetworkStreamCommandDataType ]?,
additionalLocalFileSources: list[ EntityVideoSourceLocalFileCommandDataType ]?,
additionalLocalDeviceSources: list[ EntityVideoSourceLocalDeviceCommandDataType ]?,
}
PositionFormat
- *
- 0: LNG_ALTITUDE_LAT : Altitude in centimeters, Latitude and Longitude in degrees
- 1: XYZ : Coordinates in centimeters
Format de la commande
ENTITIES_INSERT; \
data: list[ EntityPendingInsertionCommandDataType ]?
Exemple
Résultat
ENTITIES_INSERT;list[string]
Exemple :
RESULT_ENTITIES_INSERT;[]
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ENTITIES_REAL_LIST_AVAILABLE
Format de la commande
ENTITIES_REAL_LIST_AVAILABLE; \
Exemple
ENTITIES_REAL_LIST_AVAILABLE;
Résultat
CscNetworkEntityData
{
birthday: string,
engineIp: string,
enginePort: string,
ip: string,
localProjection: string?,
modelId: string,
name: string,
osVersion: string,
owner: string,
provider: string,
rtspLink: string,
serialNumber: string,
simulatedInputsType: enum<PositionFormat>?,
useGnssPositioning: bool,
}
ENTITIES_REAL_LIST_AVAILABLE;list[CscNetworkEntityData]
Exemple :
RESULT_ENTITIES_REAL_LIST_AVAILABLE;[]
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ENTITIES_REMOVE
The command removes entities returned by given filters and stops "reflection" on them. Returns removed entities ids.
EntitiesGetFiltersCommandDataType
Defines optional filters on an entity within the Conscience 3D environment, featuring several filter parameters:
{
zone: CscArea3d,
ids: list[ string ]?,
modelIds: list[ string ]?,
}
CscArea3d
{
x: double,
y: double,
z: double,
sizeX: double,
sizeY: double,
sizeZ: double,
}
Format de la commande
ENTITIES_REMOVE; \
filters: EntitiesGetFiltersCommandDataType
Exemple
ENTITIES_REMOVE;{"zone": {"x": 330.3508,"y": 301.4266,"z": 112.3579,"sizeX": 757.8885,"sizeY": 670.1627,"sizeZ": 903.7231}}
Résultat
ENTITIES_REMOVE;list[string]
Exemple :
RESULT_ENTITIES_REMOVE;[]
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ENTITY_AUTONOMOUS_EXPLORATION
CommandAutonomousExplorationInstruction
- 0: CommandAutonomousExplorationInstruction_Start :
- 1: CommandAutonomousExplorationInstruction_Stop :
Format de la commande
ENTITY_AUTONOMOUS_EXPLORATION; \
entityReflexion: entityReflexion ; \
instruction: enum<CommandAutonomousExplorationInstruction>
Exemple
ENTITY_AUTONOMOUS_EXPLORATION;"{{SerialNumber}}";0
Résultat
ENTITY_AUTONOMOUS_EXPLORATION;string
Exemple :
RESULT_ENTITY_AUTONOMOUS_EXPLORATION;"resultExample5327722"
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ENTITY_CAPTURE_IMAGE_TO_ENV
This command captures a single image from the entity stream (will be opened if not done yet, and wait until opened) and inject it in environment at given position and rotation
CscPoint3d
* {
x: double,
y: double,
z: double,
}
Format de la commande
ENTITY_CAPTURE_IMAGE_TO_ENV; \
entityReflexion: entityReflexion ; \
position: CscPoint3d ; \
rotation: CscPoint3d
Exemple
ENTITY_CAPTURE_IMAGE_TO_ENV;"{{SerialNumber}}";{"x": 953.0313,"y": 627.3766,"z": 176.7856};{"x": 956.3947,"y": 261.4709,"z": 132.8396}
Résultat
ENTITY_CAPTURE_IMAGE_TO_ENV;
Exemple :
RESULT_ENTITY_CAPTURE_IMAGE_TO_ENV;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ENTITY_CLEAR_CURRENT_PATH
Clear Current Path of an Entity.
Format de la commande
ENTITY_CLEAR_CURRENT_PATH; \
serialNumber: string
Exemple
ENTITY_CLEAR_CURRENT_PATH;"{{SerialNumber}}"
Résultat
ENTITY_CLEAR_CURRENT_PATH;
Exemple :
RESULT_ENTITY_CLEAR_CURRENT_PATH;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ENTITY_CONNECT
This command connects Conscience to an entity. Entity connection result.
RealEntityNetworkParamsCommandDataType
Parameters to connect to entity. If ports are not specified, default values (udp 1705, tcp 1805) will be used.
{
entityIp: string,
entityPassword: string,
portUdp: long,
portTcp: long,
openRtspStream: bool,
additionalNetworkStreams: list[ EntityVideoSourceNetworkStreamCommandDataType ]?,
additionalLocalFileSources: list[ EntityVideoSourceLocalFileCommandDataType ]?,
additionalLocalDeviceSources: list[ EntityVideoSourceLocalDeviceCommandDataType ]?,
}
EntityVideoSourceNetworkStreamCommandDataType
RTSP stream URL video source for entity.
{
streamUrl: string,
is360: bool?,
}
EntityVideoSourceLocalFileCommandDataType
Local file video source for entity - file at path must be accessible by Conscience Core.
{
videoFilePath: string,
}
EntityVideoSourceLocalDeviceCommandDataType
Local camera video source for entity.
{
deviceId: int,
frameWidth: int?,
frameHeight: int?,
fps: int?,
}
Format de la commande
ENTITY_CONNECT; \
parameters: RealEntityNetworkParamsCommandDataType
Exemple
ENTITY_CONNECT;{"entityIp": "example5227722","entityPassword": "example1427722","portUdp": 78849,"portTcp": 46397,"openRtspStream": true}
Résultat
CommandEntityConnectResult
{
serialNumber: string,
}
ENTITY_CONNECT;CommandEntityConnectResult
Exemple :
RESULT_ENTITY_CONNECT;{"serialNumber": "{{SerialNumber}}"}
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ENTITY_FOLLOW_PATH
CscPoint3d
* {
x: double,
y: double,
z: double,
}
CscSequenceType
- 4: MOVEMENT : Sequence is a list of CscMovement like line,rotation,arc,...
- 0: OUTPUTS : Sequence is a list of states to be applied (with proper delay and duration)
- 1: POSITIONS : Sequence is a list of position to go through
- 2: POSITIONS_WITH_OUTPUTS : Sequence is a mix of positions and states
- 3: TARGET : Specific to terrassement processor, defines terrassement target
Format de la commande
ENTITY_FOLLOW_PATH; \
entityReflexion: entityReflexion ; \
membreToMove: string ; \
membreRelative: string ; \
shapesList: list[ list[ CscPoint3d ] ]? ; \
currentPositionX: float ; \
currentPositionY: float ; \
currentPositionZ: float ; \
currentEulerX: float ; \
currentEulerY: float ; \
currentEulerZ: float ; \
resultType: enum<CscSequenceType> ; \
speedRatio: double
Exemple
ENTITY_FOLLOW_PATH;"{{SerialNumber}}";"example8127722";"example4027722";;736.4303;689.5984;981.2134;69.37622;352.4922;916.3522;4;508.7561
Résultat
ENTITY_FOLLOW_PATH;sequence
Exemple :
RESULT_ENTITY_FOLLOW_PATH;ENCODER_VERSION(float),nbVals,sequenceType,statesCount,state0PivotsCount,state0Pivot0Id,state0Pivot0Value,state0Pivot1Id,state0Pivot1Value,state0PropellersCount,....propellersValues,state0WheelsCount,....wheelsValues,state0TranslationsCount,....translationsValues,....moreStates
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ENTITY_GET_CURRENT_PATH
Get Current Path of an Entity. Return the path and the current index of the current sequence of position. If sequence not processing, return empty path and index.
Format de la commande
ENTITY_GET_CURRENT_PATH; \
serialNumber: string
Exemple
ENTITY_GET_CURRENT_PATH;"{{SerialNumber}}"
Résultat
CscPoint3d
* {
x: double,
y: double,
z: double,
}
CommandEntityGetCurrentPathResult
Return the path and the current index of the current sequence of position. If sequence not processing, return empty path and index
{
index: int?,
path: list[ CscPoint3d ]?,
}
ENTITY_GET_CURRENT_PATH;CommandEntityGetCurrentPathResult
Exemple :
RESULT_ENTITY_GET_CURRENT_PATH;{}
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ENTITY_HUMAN_DECISIONS_ANSWER
Format de la commande
ENTITY_HUMAN_DECISIONS_ANSWER; \
entityReflexion: entityReflexion ; \
decisionUid: string ; \
accept: bool
Exemple
ENTITY_HUMAN_DECISIONS_ANSWER;"{{SerialNumber}}";"example127722";true
Résultat
ENTITY_HUMAN_DECISIONS_ANSWER;
Exemple :
RESULT_ENTITY_HUMAN_DECISIONS_ANSWER;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ENTITY_HUMAN_DECISIONS_GET
Format de la commande
ENTITY_HUMAN_DECISIONS_GET; \
entityReflexion: entityReflexion
Exemple
ENTITY_HUMAN_DECISIONS_GET;"{{SerialNumber}}"
Résultat
ENTITY_HUMAN_DECISIONS_GET;string
Exemple :
RESULT_ENTITY_HUMAN_DECISIONS_GET;"resultExample8327722"
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ENTITY_INSERT
CscPoint3d
* {
x: double,
y: double,
z: double,
}
Format de la commande
ENTITY_INSERT; \
entityModel: entityModel ; \
position: CscPoint3d ; \
rotation: CscPoint3d ; \
serialNumber: string?
Exemple
ENTITY_INSERT;"{{EntityModelId}}";{"x": 897.6625,"y": 18.88687,"z": 100.6047};{"x": 751.7712,"y": 51.72865,"z": 745.4036};
Résultat
Exemple :
RESULT_ENTITY_INSERT;"resultExample5827722"
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ENTITY_MODELS_GET
Gets available entity models. Returns available entity models.
EntityModelsGetFiltersCommandDataType
Filters for entity model request. entityType case does not matter.
Format de la commande
ENTITY_MODELS_GET; \
filters: EntityModelsGetFiltersCommandDataType
Exemple
Résultat
EntityModelCommandDataType
{
entityType: string,
id: string,
lastModificationTimeMillis: long,
name: string,
owner: string,
}
ENTITY_MODELS_GET;list[EntityModelCommandDataType]
Exemple :
RESULT_ENTITY_MODELS_GET;[]
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ENTITY_MODEL_LOGO_GET
Gets logo for given entity model. Returns logo in binary format.
Format de la commande
ENTITY_MODEL_LOGO_GET; \
entityModel: entityModel ; \
ifModifiedSinceTimestampMillis: long?
Exemple
ENTITY_MODEL_LOGO_GET;"{{EntityModelId}}";
Résultat
ENTITY_MODEL_LOGO_GET;binary
Exemple :
RESULT_ENTITY_MODEL_LOGO_GET;^CSB^LENGHT_OF_BINARY^TIME_IN_MILLIS^BINARY_CONTENT
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ENTITY_MODEL_MEMBERS_GET
This command gets entity model's members data, such as mass, initial rotation
Format de la commande
ENTITY_MODEL_MEMBERS_GET; \
entityModel: entityModel ; \
memberIndices: list[ int ]
Exemple
ENTITY_MODEL_MEMBERS_GET;"{{EntityModelId}}";[]
Résultat
CscMember
{
angularDamping: float,
friction: float,
height: float,
initialAcceleration: CscPoint3d,
initialEuler: CscPoint3d,
initialOrigin: CscPoint3d,
lenght: float,
linearDamping: float,
mass: float,
restitution: float,
width: float,
}
CscPoint3d
* {
x: double,
y: double,
z: double,
}
ENTITY_MODEL_MEMBERS_GET;list[CscMember]
Exemple :
RESULT_ENTITY_MODEL_MEMBERS_GET;[]
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ENTITY_MODEL_SOURCE_FILE_GET
Gets model source file with 3D info for given entity model. Returns 3D model file in binary format (can be pretty huge for some models, with dozens of MB).
CscWorldElementModelFormat
- 0: WorldElementModelFormat_dae :
- 1: WorldElementModelFormat_glTF :
- 2: WorldElementModelFormat_obj :
Format de la commande
ENTITY_MODEL_SOURCE_FILE_GET; \
entityModel: entityModel ; \
format: enum<CscWorldElementModelFormat>
Exemple
ENTITY_MODEL_SOURCE_FILE_GET;"{{EntityModelId}}";0
Résultat
ENTITY_MODEL_SOURCE_FILE_GET;binary
Exemple :
RESULT_ENTITY_MODEL_SOURCE_FILE_GET;^CSB^LENGHT_OF_BINARY^TIME_IN_MILLIS^BINARY_CONTENT
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ENTITY_OBSTACLE_STRATEGY_SET
Set the configuration of obstacle strategy. This configuration will influence the robot’s behavior when facing an obstacle (such as the distance at which it stops before the obstacle).
EntityObstacleStrategyParamsCommandDataType
Parameters for starting an entity stream.
{
robotWidth: double?,
brakingStartDistance: double?,
brakingStopDistance: double?,
distanceDensityDBSCAN: int?,
minimumNumberPointsDBSCAN: int?,
shouldStopRatio: double?,
maximumNumberOfPointsForClustering: int?,
timeBeforeCheckMillis: int?,
minimumStoppingTimeMillis: int?,
enableStrategy: bool?,
}
Format de la commande
ENTITY_OBSTACLE_STRATEGY_SET; \
entityReflexion: entityReflexion ; \
parameters: EntityObstacleStrategyParamsCommandDataType
Exemple
ENTITY_OBSTACLE_STRATEGY_SET;"{{SerialNumber}}";{}
Résultat
ENTITY_OBSTACLE_STRATEGY_SET;
Exemple :
RESULT_ENTITY_OBSTACLE_STRATEGY_SET;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ENTITY_PLAY_MOTION
Command that allows the entity to be set in motion.
EntityMotionParametersCommandDataType
Parameters of motion, can set translation on x,y,z axes and/or rotation on x,y,z. Value can be set between -100 and 100 percent. If value is not define, will be set to 0.
{
translationX: double?,
translationY: double?,
translationZ: double?,
rotationX: double?,
rotationY: double?,
rotationZ: double?,
}
Format de la commande
ENTITY_PLAY_MOTION; \
entitySerial: string ; \
motionParameters: EntityMotionParametersCommandDataType
Exemple
ENTITY_PLAY_MOTION;"{{SerialNumber}}";{}
Résultat
Exemple :
RESULT_ENTITY_PLAY_MOTION;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ENTITY_PROCESS
This command directly sends a command to an entity loaded in the simulator. Note: if your simulator is connected to a real entity, it will be sent directly. UDP defaults to false. Returns command result or error.
Format de la commande
ENTITY_PROCESS; \
entityReflexion: entityReflexion ; \
command: string ; \
useUdp: bool
Exemple
ENTITY_PROCESS;"{{SerialNumber}}";"example6727722";true
Résultat
Exemple :
RESULT_ENTITY_PROCESS;"resultExample3427722"
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ENTITY_SEQUENCE_ACTION
Command its use for control current sequence. action parameters is a int enum represented by 0=break, 1=resume and 2=stop.
CscSequenceAction
- 0: SEQUENCE_BREAK :
- 1: SEQUENCE_RESUME :
- 2: SEQUENCE_STOP :
Format de la commande
ENTITY_SEQUENCE_ACTION; \
entitySerial: string ; \
action: enum<CscSequenceAction>
Exemple
ENTITY_SEQUENCE_ACTION;"{{SerialNumber}}";0
Résultat
Exemple :
RESULT_ENTITY_SEQUENCE_ACTION;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ENTITY_STREAMS_GET
Gets available streams for requested entity. You can then open the stream with given URL, once you retrieved a token using command ENTITY_STREAM_START. Returns available streams for requested entity.
Format de la commande
ENTITY_STREAMS_GET; \
entityReflexion: entityReflexion
Exemple
ENTITY_STREAMS_GET;"{{SerialNumber}}"
Résultat
EntityStreamCommandDataType
{
accessData: string,
directStreamUrl: string?,
id: string,
is360: bool,
type: enum<EntityStreamFormat>,
}
ENTITY_STREAMS_GET;list[EntityStreamCommandDataType]
Exemple :
RESULT_ENTITY_STREAMS_GET;[]
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ENTITY_STREAM_START
Request start playing stream for given entity serialNumber and streamId. This will make sure stream is available at the moment unless noErrorIfStreamUnavailable is true. Returns the access token.
EntityStreamStartParamsCommandDataType
Parameters for starting an entity stream.
{
entitySerialNumber: string,
streamId: string,
withAIOverlay: bool,
noErrorIfStreamUnavailable: bool,
}
Format de la commande
ENTITY_STREAM_START; \
parameters: EntityStreamStartParamsCommandDataType
Exemple
ENTITY_STREAM_START;{"entitySerialNumber": "{{SerialNumber}}","streamId": "example6927722","withAIOverlay": false,"noErrorIfStreamUnavailable": false}
Résultat
ENTITY_STREAM_START;string
Exemple :
RESULT_ENTITY_STREAM_START;"resultExample4527722"
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ENTITY_TO_OBJECT
CscSequenceType
- 4: MOVEMENT : Sequence is a list of CscMovement like line,rotation,arc,...
- 0: OUTPUTS : Sequence is a list of states to be applied (with proper delay and duration)
- 1: POSITIONS : Sequence is a list of position to go through
- 2: POSITIONS_WITH_OUTPUTS : Sequence is a mix of positions and states
- 3: TARGET : Specific to terrassement processor, defines terrassement target
Format de la commande
ENTITY_TO_OBJECT; \
entityReflexion: entityReflexion ; \
membreToMove: string ; \
targetObjectId: string ; \
distanceFromTargetX: float ; \
distanceFromTargetY: float ; \
distanceFromTargetZ: float ; \
resultType: enum<CscSequenceType>
Exemple
ENTITY_TO_OBJECT;"{{SerialNumber}}";"example327722";"example4227722";513.1273;470.0107;971.6128;4
Résultat
ENTITY_TO_OBJECT;sequence
Exemple :
RESULT_ENTITY_TO_OBJECT;ENCODER_VERSION(float),nbVals,sequenceType,statesCount,state0PivotsCount,state0Pivot0Id,state0Pivot0Value,state0Pivot1Id,state0Pivot1Value,state0PropellersCount,....propellersValues,state0WheelsCount,....wheelsValues,state0TranslationsCount,....translationsValues,....moreStates
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ENTITY_TO_ORIENTATION
The Entity to orientation command makes entity reach a given orientation.
CscPoint3d
* {
x: double,
y: double,
z: double,
}
CommandEntityToOrientationOptions
Format de la commande
ENTITY_TO_ORIENTATION; \
entityReflexion: entityReflexion ; \
targetOrientation: CscPoint3d ; \
options: CommandEntityToOrientationOptions
Exemple
ENTITY_TO_ORIENTATION;"{{SerialNumber}}";{"x": 430.0273,"y": 14.77092,"z": 269.5088};{}
Résultat
ENTITY_TO_ORIENTATION;sequence
Exemple :
RESULT_ENTITY_TO_ORIENTATION;ENCODER_VERSION(float),nbVals,sequenceType,statesCount,state0PivotsCount,state0Pivot0Id,state0Pivot0Value,state0Pivot1Id,state0Pivot1Value,state0PropellersCount,....propellersValues,state0WheelsCount,....wheelsValues,state0TranslationsCount,....translationsValues,....moreStates
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ENTITY_TO_POSITION
The Entity to Position command generates a sequence of positions that the entity must follow to reach a target position. The shortest path is generated by taking into account the objects in the scene and the scene itself. Returns detected objects positions.
CscPoint3d
* {
x: double,
y: double,
z: double,
}
CscArea3d
{
x: double,
y: double,
z: double,
sizeX: double,
sizeY: double,
sizeZ: double,
}
CommandEntityToPositionAlgorithm
- 0: CommandEntityToPositionAlgorithm_Default : Use default path finding algorithm, which is currently Hybrid A*
- 1: CommandEntityToPositionAlgorithm_Dijkstra : Use default path finding algorithm, which is currently Hybrid A*
Format de la commande
ENTITY_TO_POSITION; \
targetPosition: CscPoint3d ; \
entityReflexion: entityReflexion ; \
zone: CscArea3d ; \
distanceWithObjectAutorized: double? ; \
matrixSize: int? ; \
startPosition: CscPoint3d ; \
useGnssCoordinates: bool? ; \
placeModelIdsToIgnore: list[ string ]? ; \
algorithm: enum<CommandEntityToPositionAlgorithm>?
Exemple
ENTITY_TO_POSITION;{"x": 460.7152,"y": 115.4892,"z": 452.5056};"{{SerialNumber}}";{"x": 151.2373,"y": 311.3267,"z": 510.7272,"sizeX": 773.2075,"sizeY": 254.9588,"sizeZ": 127.8602};;;{"x": 638.5085,"y": 103.7722,"z": 957.6972};;;
Résultat
ENTITY_TO_POSITION;sequence
Exemple :
RESULT_ENTITY_TO_POSITION;ENCODER_VERSION(float),nbVals,sequenceType,statesCount,state0PivotsCount,state0Pivot0Id,state0Pivot0Value,state0Pivot1Id,state0Pivot1Value,state0PropellersCount,....propellersValues,state0WheelsCount,....wheelsValues,state0TranslationsCount,....translationsValues,....moreStates
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ENTITY_TO_POSITIONS
The EntityToPositions command generates a sequence of positions that the entity must follow to go through all requested positions. The shortest path is generated by taking into account the objects in the scene and the scene itself.
CscPoint3d
* {
x: double,
y: double,
z: double,
}
CscArea3d
{
x: double,
y: double,
z: double,
sizeX: double,
sizeY: double,
sizeZ: double,
}
Format de la commande
ENTITY_TO_POSITIONS; \
targetPositions: list[ CscPoint3d ] ; \
entityReflexion: entityReflexion ; \
zone: CscArea3d ; \
distanceWithObjectAutorized: double? ; \
matrixSize: int? ; \
startPosition: CscPoint3d ; \
useGnssCoordinates: bool? ; \
placeModelIdsToIgnore: list[ string ]? ; \
resumeAtClosestPosition: bool?
Exemple
ENTITY_TO_POSITIONS;[];"{{SerialNumber}}";{"x": 292.6533,"y": 365.0224,"z": 907.6335,"sizeX": 779.5825,"sizeY": 793.8972,"sizeZ": 690.9124};;;{"x": 479.3234,"y": 567.6604,"z": 463.92};;;
Résultat
ENTITY_TO_POSITIONS;sequence
Exemple :
RESULT_ENTITY_TO_POSITIONS;ENCODER_VERSION(float),nbVals,sequenceType,statesCount,state0PivotsCount,state0Pivot0Id,state0Pivot0Value,state0Pivot1Id,state0Pivot1Value,state0PropellersCount,....propellersValues,state0WheelsCount,....wheelsValues,state0TranslationsCount,....translationsValues,....moreStates
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ENTITY_TO_POSITION_GET_CLOSEST_VALID_POSITION
The command takes as input a target position and the serial number of the entity. Returns a position; if the input position is accessible, it will be returned as output. Otherwise, the returned position will be the closest possible position. If no position can be found, an error message will be returned.
CscPoint3d
* {
x: double,
y: double,
z: double,
}
CscArea3d
{
x: double,
y: double,
z: double,
sizeX: double,
sizeY: double,
sizeZ: double,
}
CommandEntityToPositionAlgorithm
- 0: CommandEntityToPositionAlgorithm_Default : Use default path finding algorithm, which is currently Hybrid A*
- 1: CommandEntityToPositionAlgorithm_Dijkstra : Use default path finding algorithm, which is currently Hybrid A*
Format de la commande
ENTITY_TO_POSITION_GET_CLOSEST_VALID_POSITION; \
targetPosition: CscPoint3d ; \
entityReflexion: entityReflexion ; \
zone: CscArea3d ; \
distanceWithObjectAutorized: double? ; \
matrixSize: int? ; \
startPosition: CscPoint3d ; \
useGnssCoordinates: bool? ; \
placeModelIdsToIgnore: list[ string ]? ; \
algorithm: enum<CommandEntityToPositionAlgorithm>?
Exemple
ENTITY_TO_POSITION_GET_CLOSEST_VALID_POSITION;{"x": 332.8744,"y": 484.297,"z": 660.9147};"{{SerialNumber}}";{"x": 121.7983,"y": 161.7229,"z": 655.8992,"sizeX": 945.5381,"sizeY": 270.0244,"sizeZ": 294.0909};;;{"x": 713.7149,"y": 421.4034,"z": 727.7833};;;
Résultat
EntityToPositionGetClosestValidPositionResult
{
position: CscPoint3d,
}
ENTITY_TO_POSITION_GET_CLOSEST_VALID_POSITION;EntityToPositionGetClosestValidPositionResult
Exemple :
RESULT_ENTITY_TO_POSITION_GET_CLOSEST_VALID_POSITION;{"position": {"x": 164.6901,"y": 564.4888,"z": 187.1649}}
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ENTITY_TO_TAG
CscPoint3d
* {
x: double,
y: double,
z: double,
}
Format de la commande
ENTITY_TO_TAG; \
entityReflexion: entityReflexion ; \
tagName: string ; \
ignoreTagOrientation: bool ; \
followOrientationWay: bool ; \
startPosition: CscPoint3d
Exemple
ENTITY_TO_TAG;"{{SerialNumber}}";"example6027722";false;false;{"x": 402.8292,"y": 928.1666,"z": 690.6865}
Résultat
Exemple :
RESULT_ENTITY_TO_TAG;ENCODER_VERSION(float),nbVals,sequenceType,statesCount,state0PivotsCount,state0Pivot0Id,state0Pivot0Value,state0Pivot1Id,state0Pivot1Value,state0PropellersCount,....propellersValues,state0WheelsCount,....wheelsValues,state0TranslationsCount,....translationsValues,....moreStates
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ENVIRONMENT_OBJECT_ANALYSIS
CscPhysicsType
- 0: BOUNDING_BOX : CscPhysicsType -> Define how an object is created in the environement BOUNDING_BOX = all classics objects CONCAVE = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves inwards CONVEX = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves outwards FROM_MODEL = Same as CONCAVE, but for objects that polygons, normals and vertex are already loaded GHOST = Not used STATIC = Load btRigidBody as btCollisionObject, that can be useful to use the rayTracing from bullet ( rayTracing don't work on classic BOUNDING_BOX objects )
- 1: CONCAVE : CscPhysicsType -> Define how an object is created in the environement BOUNDING_BOX = all classics objects CONCAVE = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves inwards CONVEX = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves outwards FROM_MODEL = Same as CONCAVE, but for objects that polygons, normals and vertex are already loaded GHOST = Not used STATIC = Load btRigidBody as btCollisionObject, that can be useful to use the rayTracing from bullet ( rayTracing don't work on classic BOUNDING_BOX objects )
- 2: CONVEXE : CscPhysicsType -> Define how an object is created in the environement BOUNDING_BOX = all classics objects CONCAVE = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves inwards CONVEX = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves outwards FROM_MODEL = Same as CONCAVE, but for objects that polygons, normals and vertex are already loaded GHOST = Not used STATIC = Load btRigidBody as btCollisionObject, that can be useful to use the rayTracing from bullet ( rayTracing don't work on classic BOUNDING_BOX objects )
- 3: FROM_MODEL : CscPhysicsType -> Define how an object is created in the environement BOUNDING_BOX = all classics objects CONCAVE = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves inwards CONVEX = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves outwards FROM_MODEL = Same as CONCAVE, but for objects that polygons, normals and vertex are already loaded GHOST = Not used STATIC = Load btRigidBody as btCollisionObject, that can be useful to use the rayTracing from bullet ( rayTracing don't work on classic BOUNDING_BOX objects )
- 4: GHOST : CscPhysicsType -> Define how an object is created in the environement BOUNDING_BOX = all classics objects CONCAVE = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves inwards CONVEX = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves outwards FROM_MODEL = Same as CONCAVE, but for objects that polygons, normals and vertex are already loaded GHOST = Not used STATIC = Load btRigidBody as btCollisionObject, that can be useful to use the rayTracing from bullet ( rayTracing don't work on classic BOUNDING_BOX objects )
- 5: STATIC : CscPhysicsType -> Define how an object is created in the environement BOUNDING_BOX = all classics objects CONCAVE = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves inwards CONVEX = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves outwards FROM_MODEL = Same as CONCAVE, but for objects that polygons, normals and vertex are already loaded GHOST = Not used STATIC = Load btRigidBody as btCollisionObject, that can be useful to use the rayTracing from bullet ( rayTracing don't work on classic BOUNDING_BOX objects )
Format de la commande
ENVIRONMENT_OBJECT_ANALYSIS; \
objectId: string ; \
physicsType: enum<CscPhysicsType>
Exemple
ENVIRONMENT_OBJECT_ANALYSIS;"example8827722";0
Résultat
no command result documentation
ENVIRONMENT_OBJECT_ANALYSIS;
Exemple :
RESULT_ENVIRONMENT_OBJECT_ANALYSIS;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ENVIRONMENT_OBJECT_REMOVE
Format de la commande
ENVIRONMENT_OBJECT_REMOVE; \
objectId: float ; \
objectModelId: float ; \
objectModelName: string
Exemple
ENVIRONMENT_OBJECT_REMOVE;113.954;229.5733;"example3327722"
Résultat
ENVIRONMENT_OBJECT_REMOVE;
Exemple :
RESULT_ENVIRONMENT_OBJECT_REMOVE;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
ENVIRONMENT_OBJECT_UPDATE
Format de la commande
ENVIRONMENT_OBJECT_UPDATE; \
objectId: float ; \
objectModelId: float ; \
objectModelName: string ; \
positionX: float ; \
positionY: float ; \
positionZ: float ; \
rotationX: float ; \
rotationY: float ; \
rotationZ: float ; \
positionValueRelativeToObject: string
Exemple
ENVIRONMENT_OBJECT_UPDATE;775.4473;496.5134;"example3827722";750.6096;387.3004;5.60148;435.2371;964.0956;480.9228;"example2327722"
Résultat
ENVIRONMENT_OBJECT_UPDATE;
Exemple :
RESULT_ENVIRONMENT_OBJECT_UPDATE;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
EXPORT_SEQUENCE_CSV
For now: Safran specific, but should be made available for any client or implemented differently (pure AI, business knowledges as persistent data, ...)
Format de la commande
EXPORT_SEQUENCE_CSV; \
robotModel: entityModel ; \
currentPositionX: float ; \
currentPositionY: float ; \
currentPositionZ: float ; \
offsetX: float ; \
offsetY: float ; \
offsetZ: float
Exemple
EXPORT_SEQUENCE_CSV;"{{EntityModelId}}";859.0054;212.4637;965.3636;71.51983;712.1382;960.1024
Résultat
Exemple :
RESULT_EXPORT_SEQUENCE_CSV;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
FOCUS_OBJECT
Format de la commande
FOCUS_OBJECT; \
objectId: int
Exemple
Résultat
Exemple :
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
FOLLOW_ENTITY
follow entity command
CommandFollowEntityParams
{
masterReference: entityReflexion,
entitySlaveReflexion: entityReflexion,
angle: float,
distance: float,
height: float,
knowledgeId: int,
requestType: enum<FollowRequestType>,
}
FollowRequestType
- 0: FollowRequestType_START :
- 1: FollowRequestType_STOP :
Format de la commande
FOLLOW_ENTITY; \
params: CommandFollowEntityParams
Exemple
FOLLOW_ENTITY;{"masterReference": "{{SerialNumber}}","entitySlaveReflexion": "{{SerialNumber}}","angle": 640.4338,"distance": 637.0325,"height": 886.509,"knowledgeId": 95995,"requestType": 0}
Résultat
CommandFollowEntityResultStatus
example for object result with subtype
CommandFollowEntityResult
example for object result
{
message: string,
status: CommandFollowEntityResultStatus,
success: bool,
}
FOLLOW_ENTITY;CommandFollowEntityResult
Exemple :
RESULT_FOLLOW_ENTITY;{"message": "example2427722","status": {"status": 61655},"success": true}
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
FOLLOW_KINEMATIC_TRAJECTORY
CscState
output values from -100 to 100
{
pivotsValues: map[ int => float ]?,
wheelsValues: map[ int => float ]?,
propellersValues: map[ int => float ]?,
translationsValues: map[ int => float ]?,
inputsValues: list[ CscMemberInputStatus ]?,
}
CscMemberInputStatus
{
memberName: string,
values: map[ enum<CscInputType> => float ],
}
CscInputType
- 0: ACC_X :
- 1: ACC_Y :
- 2: ACC_Z :
- 6: PITCH :
- 3: POS_X :
- 4: POS_Y :
- 5: POS_Z :
- 8: ROLL :
- 7: YAW :
Format de la commande
FOLLOW_KINEMATIC_TRAJECTORY; \
entityReflexion: entityReflexion ; \
knowledgeId: int ; \
currentState: CscState ; \
membreToMove: string ; \
membreRelative: string ; \
targetEntityObjectName: string ; \
shapeWithObject: string ; \
shapeBeginX: float ; \
shapeBeginY: float ; \
shapeBeginZ: float ; \
directionX: float ; \
directionY: float ; \
directionZ: float ; \
distanceFromTargetX: float ; \
distanceFromTargetY: float ; \
distanceFromTargetZ: float ; \
targetEulerX: float ; \
targetEulerY: float ; \
targetEulerZ: float ; \
distanceFromTargetPonderationX: float ; \
distanceFromTargetPonderationY: float ; \
distanceFromTargetPonderationZ: float ; \
targetEulerPonderationX: float ; \
targetEulerPonderationY: float ; \
targetEulerPonderationZ: float ; \
stateDuration: float ; \
stateDelay: float ; \
processAt: float
Exemple
FOLLOW_KINEMATIC_TRAJECTORY;"{{SerialNumber}}";70629;{};"example6627722";"example9427722";"example927722";"example2827722";422.8227;62.15239;799.9294;81.08798;5.138253;88.79385;712.6865;526.4176;140.3218;471.3614;21.6414;911.8981;806.3936;632.3839;80.61282;292.8745;864.5123;111.1204;794.7504;283.9785;215.2778
Résultat
FOLLOW_KINEMATIC_TRAJECTORY;sequence
Exemple :
RESULT_FOLLOW_KINEMATIC_TRAJECTORY;ENCODER_VERSION(float),nbVals,sequenceType,statesCount,state0PivotsCount,state0Pivot0Id,state0Pivot0Value,state0Pivot1Id,state0Pivot1Value,state0PropellersCount,....propellersValues,state0WheelsCount,....wheelsValues,state0TranslationsCount,....translationsValues,....moreStates
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
FOLLOW_TRACKED_OBJECT
Makes given entity follow a specific detected object (based on its world id)
Format de la commande
FOLLOW_TRACKED_OBJECT; \
entityReflexion: entityReflexion ; \
idObjectToFollow: int ; \
followDistance: float ; \
followAltitude: float
Exemple
FOLLOW_TRACKED_OBJECT;"{{SerialNumber}}";91385;418.6297;945.0219
Résultat
Exemple :
RESULT_FOLLOW_TRACKED_OBJECT;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
FOLLOW_TRAJECTORY_AND_PROJECT
Format de la commande
FOLLOW_TRAJECTORY_AND_PROJECT; \
entityReflexion: entityReflexion ; \
objectName: string ; \
trajectoryFileName: string
Exemple
FOLLOW_TRAJECTORY_AND_PROJECT;"{{SerialNumber}}";"example4727722";"example7027722"
Résultat
FOLLOW_TRAJECTORY_AND_PROJECT;binary
Exemple :
RESULT_FOLLOW_TRAJECTORY_AND_PROJECT;^CSB^LENGHT_OF_BINARY^TIME_IN_MILLIS^BINARY_CONTENT
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
GENERATE_CIRCULAR_GEOLOCATED_PATH
Return geolocated path to turn around a geolocated point. Returns path of the circular geolocated movement.
CscPoint3d
* {
x: double,
y: double,
z: double,
}
Format de la commande
GENERATE_CIRCULAR_GEOLOCATED_PATH; \
centerLocalisation: CscPoint3d ; \
altitude: float? ; \
radius: float ; \
entityLocalisation: CscPoint3d
Exemple
GENERATE_CIRCULAR_GEOLOCATED_PATH;{"x": 17.80589,"y": 73.51794,"z": 828.3207};;390.4679;{"x": 355.8505,"y": 780.6027,"z": 768.2509}
Résultat
GENERATE_CIRCULAR_GEOLOCATED_PATH;string
Exemple :
RESULT_GENERATE_CIRCULAR_GEOLOCATED_PATH;"resultExample5627722"
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
GENERATE_COMPLETE_PATH_FOR_SCENE
CscArea3d
{
x: double,
y: double,
z: double,
sizeX: double,
sizeY: double,
sizeZ: double,
}
Format de la commande
GENERATE_COMPLETE_PATH_FOR_SCENE; \
entityReflexion: entityReflexion ; \
tileSizeCmMaybe: float? ; \
area: CscArea3d? ; \
placeId: string?
Exemple
GENERATE_COMPLETE_PATH_FOR_SCENE;"{{SerialNumber}}";;{};
Résultat
GENERATE_COMPLETE_PATH_FOR_SCENE;sequence
Exemple :
RESULT_GENERATE_COMPLETE_PATH_FOR_SCENE;ENCODER_VERSION(float),nbVals,sequenceType,statesCount,state0PivotsCount,state0Pivot0Id,state0Pivot0Value,state0Pivot1Id,state0Pivot1Value,state0PropellersCount,....propellersValues,state0WheelsCount,....wheelsValues,state0TranslationsCount,....translationsValues,....moreStates
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
GET_LAST_CARTOGRAPHY
Format de la commande
GET_LAST_CARTOGRAPHY; \
entityReflexion: entityReflexion
Exemple
GET_LAST_CARTOGRAPHY;"{{SerialNumber}}"
Résultat
GET_LAST_CARTOGRAPHY;string
Exemple :
RESULT_GET_LAST_CARTOGRAPHY;"resultExample4127722"
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
GET_PUBLIC_AI_DATA_FOR_SUBJECT
*
*
Format de la commande
GET_PUBLIC_AI_DATA_FOR_SUBJECT; \
entityReflexion: entityReflexion ; \
subject: string
Exemple
GET_PUBLIC_AI_DATA_FOR_SUBJECT;"{{SerialNumber}}";"example7027722"
Résultat
GET_PUBLIC_AI_DATA_FOR_SUBJECT;string
Exemple :
RESULT_GET_PUBLIC_AI_DATA_FOR_SUBJECT;"resultExample5827722"
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
GO_TO_ELEVATOR_START
The Entity to Position command generates a sequence of positions that the entity must follow to reach a target position. Returns detected objects positions.
CscPoint3d
* {
x: double,
y: double,
z: double,
}
CscArea3d
{
x: double,
y: double,
z: double,
sizeX: double,
sizeY: double,
sizeZ: double,
}
Format de la commande
GO_TO_ELEVATOR_START; \
targetPosition: CscPoint3d ; \
entityReflexion: entityReflexion ; \
zone: CscArea3d ; \
distanceWithObjectAutorized: double? ; \
matrixSize: int? ; \
startPosition: CscPoint3d ; \
useGnssCoordinates: bool? ; \
placeModelIdsToIgnore: list[ string ]?
Exemple
GO_TO_ELEVATOR_START;{"x": 734.1359,"y": 971.1347,"z": 8.774527};"{{SerialNumber}}";{"x": 597.3835,"y": 580.5527,"z": 955.9697,"sizeX": 526.8015,"sizeY": 279.5354,"sizeZ": 782.3491};;;{"x": 989.5295,"y": 119.662,"z": 764.8195};;
Résultat
GO_TO_ELEVATOR_START;sequence
Exemple :
RESULT_GO_TO_ELEVATOR_START;ENCODER_VERSION(float),nbVals,sequenceType,statesCount,state0PivotsCount,state0Pivot0Id,state0Pivot0Value,state0Pivot1Id,state0Pivot1Value,state0PropellersCount,....propellersValues,state0WheelsCount,....wheelsValues,state0TranslationsCount,....translationsValues,....moreStates
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
JACOBIAN_INVERSE_KINEMATIC_MOVEMENT
CscState
output values from -100 to 100
{
pivotsValues: map[ int => float ]?,
wheelsValues: map[ int => float ]?,
propellersValues: map[ int => float ]?,
translationsValues: map[ int => float ]?,
inputsValues: list[ CscMemberInputStatus ]?,
}
CscMemberInputStatus
{
memberName: string,
values: map[ enum<CscInputType> => float ],
}
CscPoint3d
* {
x: double,
y: double,
z: double,
}
CscInputType
- 0: ACC_X :
- 1: ACC_Y :
- 2: ACC_Z :
- 6: PITCH :
- 3: POS_X :
- 4: POS_Y :
- 5: POS_Z :
- 8: ROLL :
- 7: YAW :
RequestType
- 0: START :
- 2: STOP :
- 1: UPDATE :
Format de la commande
JACOBIAN_INVERSE_KINEMATIC_MOVEMENT; \
entityReflexion: entityReflexion ; \
knowledgeId: int ; \
currentState: CscState ; \
requestType: enum<RequestType> ; \
movementToPerform: CscPoint3d ; \
maxHorizontalDistance: float ; \
maxVerticalDistance: float ; \
maxDepthDistance: float ; \
debugWithBox: bool ; \
constraintOnDistance: bool ; \
memberToMoveId: int? ; \
pivotIdToIgnoreForMovement: list[ int ]
Exemple
JACOBIAN_INVERSE_KINEMATIC_MOVEMENT;"{{SerialNumber}}";33821;{};0;{"x": 913.497,"y": 686.8637,"z": 427.7107};140.1223;276.941;197.0067;true;true;;[]
Résultat
JACOBIAN_INVERSE_KINEMATIC_MOVEMENT;
Exemple :
RESULT_JACOBIAN_INVERSE_KINEMATIC_MOVEMENT;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
KINEMATIC_MOVEMENT
CscState
output values from -100 to 100
{
pivotsValues: map[ int => float ]?,
wheelsValues: map[ int => float ]?,
propellersValues: map[ int => float ]?,
translationsValues: map[ int => float ]?,
inputsValues: list[ CscMemberInputStatus ]?,
}
CscMemberInputStatus
{
memberName: string,
values: map[ enum<CscInputType> => float ],
}
CscInputType
- 0: ACC_X :
- 1: ACC_Y :
- 2: ACC_Z :
- 6: PITCH :
- 3: POS_X :
- 4: POS_Y :
- 5: POS_Z :
- 8: ROLL :
- 7: YAW :
Format de la commande
KINEMATIC_MOVEMENT; \
entityReflexion: entityReflexion ; \
knowledgeId: int ; \
currentState: CscState ; \
membreToMove: string ; \
membreRelative: string ; \
distanceFromTargetX: float ; \
distanceFromTargetY: float ; \
distanceFromTargetZ: float ; \
movementPosX: float ; \
movementPosY: float ; \
movementPosZ: float ; \
movementYaw: float ; \
movementPitch: float ; \
movementRoll: float ; \
processAt: float
Exemple
KINEMATIC_MOVEMENT;"{{SerialNumber}}";91766;{};"example7827722";"example127722";951.741;446.2894;552.4474;315.9106;680.3179;639.2254;754.8387;420.2653;423.2137;418.4743
Résultat
KINEMATIC_MOVEMENT;sequence
Exemple :
RESULT_KINEMATIC_MOVEMENT;ENCODER_VERSION(float),nbVals,sequenceType,statesCount,state0PivotsCount,state0Pivot0Id,state0Pivot0Value,state0Pivot1Id,state0Pivot1Value,state0PropellersCount,....propellersValues,state0WheelsCount,....wheelsValues,state0TranslationsCount,....translationsValues,....moreStates
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
LEARN_TO_CONTROL_MEMBER
Format de la commande
LEARN_TO_CONTROL_MEMBER; \
entityReflexion: entityReflexion ; \
memberToControlId: int ; \
pivotsIdToIgnoreForMovement: list[ int ]
Exemple
LEARN_TO_CONTROL_MEMBER;"{{SerialNumber}}";21900;[]
Résultat
Exemple :
RESULT_LEARN_TO_CONTROL_MEMBER;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
LIDAR_LOCALIZATION_CONTROL
CscPoint3d
* {
x: double,
y: double,
z: double,
}
LocalizationRequestType
- 0: START_TO_LOCATE :
- 1: STOP_TO_LOCATE :
Format de la commande
LIDAR_LOCALIZATION_CONTROL; \
entityReflexion: entityReflexion ; \
params: list[ string ] ; \
requestType: enum<LocalizationRequestType> ; \
initialPosition: CscPoint3d? ; \
initialHeadingInRad: double?
Exemple
LIDAR_LOCALIZATION_CONTROL;"{{SerialNumber}}";[];0;{};
Résultat
LIDAR_LOCALIZATION_CONTROL;
Exemple :
RESULT_LIDAR_LOCALIZATION_CONTROL;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
LIDAR_LOCALIZATION_FORCE_POSITION
CscPoint3d
* {
x: double,
y: double,
z: double,
}
Format de la commande
LIDAR_LOCALIZATION_FORCE_POSITION; \
entityReflexion: entityReflexion ; \
position: CscPoint3d ; \
heading: double
Exemple
LIDAR_LOCALIZATION_FORCE_POSITION;"{{SerialNumber}}";{"x": 326.7761,"y": 601.6198,"z": 705.8054};859.6927
Résultat
LIDAR_LOCALIZATION_FORCE_POSITION;
Exemple :
RESULT_LIDAR_LOCALIZATION_FORCE_POSITION;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
LOAD_VIDEO
Format de la commande
LOAD_VIDEO; \
videoPath: string ; \
entityReflexion: entityReflexion
Exemple
LOAD_VIDEO;"example7727722";"{{SerialNumber}}"
Résultat
Exemple :
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
LOCATE_TARGETS
Format de la commande
LOCATE_TARGETS; \
entityReflexion: entityReflexion ; \
stepOnX: float ; \
stepOnZ: float ; \
placeName: string ; \
placeModelId: int ; \
placeOwner: string ; \
targetPlusName: string ; \
targetMinusName: string
Exemple
LOCATE_TARGETS;"{{SerialNumber}}";37.30182;427.0923;"example1627722";73269;"example7027722";"example3227722";"example1427722"
Résultat
Exemple :
RESULT_LOCATE_TARGETS;ENCODER_VERSION(float),nbVals,sequenceType,statesCount,state0PivotsCount,state0Pivot0Id,state0Pivot0Value,state0Pivot1Id,state0Pivot1Value,state0PropellersCount,....propellersValues,state0WheelsCount,....wheelsValues,state0TranslationsCount,....translationsValues,....moreStates
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
LOCATE_TARGET_MINUS
Format de la commande
LOCATE_TARGET_MINUS; \
partToDivide: string
Exemple
LOCATE_TARGET_MINUS;"example9327722"
Résultat
Exemple :
RESULT_LOCATE_TARGET_MINUS;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
MAZE_EXPLORATION
This command will load a robot in a maze, and provide a path finding algorithm to find the exit out of this scene
Format de la commande
MAZE_EXPLORATION; \
entityModelId: string
Exemple
MAZE_EXPLORATION;"example6127722"
Résultat
MAZE_EXPLORATION;sequence
Exemple :
RESULT_MAZE_EXPLORATION;ENCODER_VERSION(float),nbVals,sequenceType,statesCount,state0PivotsCount,state0Pivot0Id,state0Pivot0Value,state0Pivot1Id,state0Pivot1Value,state0PropellersCount,....propellersValues,state0WheelsCount,....wheelsValues,state0TranslationsCount,....translationsValues,....moreStates
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
MEMBER_FOCUS_STATE
CscState
output values from -100 to 100
{
pivotsValues: map[ int => float ]?,
wheelsValues: map[ int => float ]?,
propellersValues: map[ int => float ]?,
translationsValues: map[ int => float ]?,
inputsValues: list[ CscMemberInputStatus ]?,
}
CscMemberInputStatus
{
memberName: string,
values: map[ enum<CscInputType> => float ],
}
CscInputType
- 0: ACC_X :
- 1: ACC_Y :
- 2: ACC_Z :
- 6: PITCH :
- 3: POS_X :
- 4: POS_Y :
- 5: POS_Z :
- 8: ROLL :
- 7: YAW :
FocusType
- 0: INVERSE_KINEMATIC :
- 1: PAN_TILT :
CscUnitType
- 1: Centimeter :
- 0: Percent :
Format de la commande
MEMBER_FOCUS_STATE; \
entityReflexion: entityReflexion ; \
knowledgeId: int ; \
currentState: CscState ; \
membreToMove: string ; \
focusType: enum<FocusType> ; \
targetPositionX: float ; \
targetPositionY: float ; \
targetPositionZ: float ; \
unitType: enum<CscUnitType> ; \
targetOriginMember: string ; \
symetrySearch: bool ; \
nbStateMax: int ; \
deltaPerStateMax: int ; \
optionCutLastestIfTheSameAndWorst: bool ; \
optionCutBeginingIfTheSame: bool ; \
optionDeltaPerStateMaxDegressive: bool ; \
percentAvg: float ; \
percentMax: float ; \
stateDuration: int ; \
stateDelay: int ; \
solvedAt: float ; \
outputTypes: list[ bool ] ; \
aiTypes: long
Exemple
MEMBER_FOCUS_STATE;"{{SerialNumber}}";84419;{};"example2627722";0;350.7401;490.1541;210.1967;1;"example5327722";true;38657;43311;false;true;true;9.732322;768.6289;96157;76426;639.011;[];1728
Résultat
MEMBER_FOCUS_STATE;sequence
Exemple :
RESULT_MEMBER_FOCUS_STATE;ENCODER_VERSION(float),nbVals,sequenceType,statesCount,state0PivotsCount,state0Pivot0Id,state0Pivot0Value,state0Pivot1Id,state0Pivot1Value,state0PropellersCount,....propellersValues,state0WheelsCount,....wheelsValues,state0TranslationsCount,....translationsValues,....moreStates
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
MEMBER_TO_OBJECT_FROM_MEMBER
CscState
output values from -100 to 100
{
pivotsValues: map[ int => float ]?,
wheelsValues: map[ int => float ]?,
propellersValues: map[ int => float ]?,
translationsValues: map[ int => float ]?,
inputsValues: list[ CscMemberInputStatus ]?,
}
CscMemberInputStatus
{
memberName: string,
values: map[ enum<CscInputType> => float ],
}
CscInputType
- 0: ACC_X :
- 1: ACC_Y :
- 2: ACC_Z :
- 6: PITCH :
- 3: POS_X :
- 4: POS_Y :
- 5: POS_Z :
- 8: ROLL :
- 7: YAW :
Format de la commande
MEMBER_TO_OBJECT_FROM_MEMBER; \
entityReflexion: entityReflexion ; \
knowledgeId: int ; \
currentState: CscState ; \
membreToMove: string ; \
membreRelative: string ; \
targetEntityObjectName: string ; \
distanceFromTargetX: float ; \
distanceFromTargetY: float ; \
distanceFromTargetZ: float ; \
targetEulerX: float ; \
targetEulerY: float ; \
targetEulerZ: float ; \
processAt: float
Exemple
MEMBER_TO_OBJECT_FROM_MEMBER;"{{SerialNumber}}";9677;{};"example3127722";"example3627722";"example3727722";156.532;60.21294;950.6271;385.8533;641.5569;80.76091;647.81
Résultat
MEMBER_TO_OBJECT_FROM_MEMBER;sequence
Exemple :
RESULT_MEMBER_TO_OBJECT_FROM_MEMBER;ENCODER_VERSION(float),nbVals,sequenceType,statesCount,state0PivotsCount,state0Pivot0Id,state0Pivot0Value,state0Pivot1Id,state0Pivot1Value,state0PropellersCount,....propellersValues,state0WheelsCount,....wheelsValues,state0TranslationsCount,....translationsValues,....moreStates
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
MEMBER_TO_STATE
CscState
output values from -100 to 100
{
pivotsValues: map[ int => float ]?,
wheelsValues: map[ int => float ]?,
propellersValues: map[ int => float ]?,
translationsValues: map[ int => float ]?,
inputsValues: list[ CscMemberInputStatus ]?,
}
CscMemberInputStatus
{
memberName: string,
values: map[ enum<CscInputType> => float ],
}
CscInputType
- 0: ACC_X :
- 1: ACC_Y :
- 2: ACC_Z :
- 6: PITCH :
- 3: POS_X :
- 4: POS_Y :
- 5: POS_Z :
- 8: ROLL :
- 7: YAW :
CscUnitType
- 1: Centimeter :
- 0: Percent :
Format de la commande
MEMBER_TO_STATE; \
entityReflexion: entityReflexion ; \
knowledgeId: int ; \
currentState: CscState ; \
targetMemberNames: list[ string ] ; \
relativeToMemberNames: list[ string ] ; \
targetPositionX: list[ float ] ; \
targetPositionY: list[ float ] ; \
targetPositionZ: list[ float ] ; \
targetPositionXPonderation: list[ float ] ; \
targetPositionYPonderation: list[ float ] ; \
targetPositionZPonderation: list[ float ] ; \
targetEulerX: list[ float ] ; \
targetEulerY: list[ float ] ; \
targetEulerZ: list[ float ] ; \
targetEulerXPonderation: list[ float ] ; \
targetEulerYPonderation: list[ float ] ; \
targetEulerZPonderation: list[ float ] ; \
targetAccX: list[ float ] ; \
targetAccY: list[ float ] ; \
targetAccZ: list[ float ] ; \
targetAccXPonderation: list[ float ] ; \
targetAccYPonderation: list[ float ] ; \
targetAccZPonderation: list[ float ] ; \
outputsCanMoveNames: list[ string ] ; \
outputsCanMovePonderations: list[ float ] ; \
unitType: enum<CscUnitType> ; \
targetOriginMember: string ; \
symetrySearch: bool ; \
nbStateMax: int ; \
deltaPerStateMax: int ; \
optionCutLastestIfTheSameAndWorst: bool ; \
optionCutBeginingIfTheSame: bool ; \
optionDeltaPerStateMaxDegressive: bool ; \
percentAvg: float ; \
percentMax: float ; \
percentExtrapolation: float ; \
stateDuration: int ; \
stateDelay: int ; \
solvedAt: float ; \
processedAt: float ; \
outputTypes: list[ bool ] ; \
aiTypes: long
Exemple
MEMBER_TO_STATE;"{{SerialNumber}}";14971;{};[];[];[];[];[];[];[];[];[];[];[];[];[];[];[];[];[];[];[];[];[];[];1;"example2627722";true;16856;36890;true;true;true;623.4865;669.385;142.0257;7090;31738;285.3645;756.142;[];24529
Résultat
Exemple :
RESULT_MEMBER_TO_STATE;ENCODER_VERSION(float),nbVals,sequenceType,statesCount,state0PivotsCount,state0Pivot0Id,state0Pivot0Value,state0Pivot1Id,state0Pivot1Value,state0PropellersCount,....propellersValues,state0WheelsCount,....wheelsValues,state0TranslationsCount,....translationsValues,....moreStates
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
MEMBER_TO_STATE_FROM_MEMBER
CscState
output values from -100 to 100
{
pivotsValues: map[ int => float ]?,
wheelsValues: map[ int => float ]?,
propellersValues: map[ int => float ]?,
translationsValues: map[ int => float ]?,
inputsValues: list[ CscMemberInputStatus ]?,
}
CscMemberInputStatus
{
memberName: string,
values: map[ enum<CscInputType> => float ],
}
CscInputType
- 0: ACC_X :
- 1: ACC_Y :
- 2: ACC_Z :
- 6: PITCH :
- 3: POS_X :
- 4: POS_Y :
- 5: POS_Z :
- 8: ROLL :
- 7: YAW :
CscUnitType
- 1: Centimeter :
- 0: Percent :
Format de la commande
MEMBER_TO_STATE_FROM_MEMBER; \
entityReflexion: entityReflexion ; \
knowledgeId: int ; \
currentState: CscState ; \
membreToMove: string ; \
membreRelative: string ; \
targetPositionX: float ; \
targetPositionY: float ; \
targetPositionZ: float ; \
targetPositionXPonderation: float ; \
targetPositionYPonderation: float ; \
targetPositionZPonderation: float ; \
targetEulerX: float ; \
targetEulerY: float ; \
targetEulerZ: float ; \
targetEulerXPonderation: float ; \
targetEulerYPonderation: float ; \
targetEulerZPonderation: float ; \
targetAccX: float ; \
targetAccY: float ; \
targetAccZ: float ; \
targetAccXPonderation: float ; \
targetAccYPonderation: float ; \
targetAccZPonderation: float ; \
unitType: enum<CscUnitType> ; \
symetrySearch: bool ; \
nbStateMax: int ; \
deltaPerStateMax: int ; \
optionCutLastestIfTheSameAndWorst: bool ; \
optionCutBeginingIfTheSame: bool ; \
optionDeltaPerStateMaxDegressive: bool ; \
percentAvg: float ; \
percentMax: float ; \
stateDuration: int ; \
stateDelay: int ; \
solvedAt: float ; \
processAt: float ; \
outputTypes: list[ bool ] ; \
aiTypes: long
Exemple
MEMBER_TO_STATE_FROM_MEMBER;"{{SerialNumber}}";86891;{};"example5427722";"example1527722";578.6086;206.5889;344.4004;935.7343;431.4169;574.563;648.7188;842.7093;816.7233;544.1317;331.5204;460.9105;539.064;447.9194;661.9669;267.8074;153.7867;450.5661;1;true;80993;5980;true;true;false;958.308;645.8085;16364;14391;280.5617;83.38537;[];63167
Résultat
MEMBER_TO_STATE_FROM_MEMBER;sequence
Exemple :
RESULT_MEMBER_TO_STATE_FROM_MEMBER;ENCODER_VERSION(float),nbVals,sequenceType,statesCount,state0PivotsCount,state0Pivot0Id,state0Pivot0Value,state0Pivot1Id,state0Pivot1Value,state0PropellersCount,....propellersValues,state0WheelsCount,....wheelsValues,state0TranslationsCount,....translationsValues,....moreStates
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
MEMBER_TO_STATE_FROM_MEMBER_TRIGO
CscState
output values from -100 to 100
{
pivotsValues: map[ int => float ]?,
wheelsValues: map[ int => float ]?,
propellersValues: map[ int => float ]?,
translationsValues: map[ int => float ]?,
inputsValues: list[ CscMemberInputStatus ]?,
}
CscMemberInputStatus
{
memberName: string,
values: map[ enum<CscInputType> => float ],
}
CscInputType
- 0: ACC_X :
- 1: ACC_Y :
- 2: ACC_Z :
- 6: PITCH :
- 3: POS_X :
- 4: POS_Y :
- 5: POS_Z :
- 8: ROLL :
- 7: YAW :
CscUnitType
- 1: Centimeter :
- 0: Percent :
Format de la commande
MEMBER_TO_STATE_FROM_MEMBER_TRIGO; \
entityReflexion: entityReflexion ; \
knowledgeId: int ; \
currentState: CscState ; \
membreToMove: string ; \
membreRelative: string ; \
targetPositionX: float ; \
targetPositionY: float ; \
targetPositionZ: float ; \
targetPositionXPonderation: float ; \
targetPositionYPonderation: float ; \
targetPositionZPonderation: float ; \
targetEulerX: float ; \
targetEulerY: float ; \
targetEulerZ: float ; \
targetEulerXPonderation: float ; \
targetEulerYPonderation: float ; \
targetEulerZPonderation: float ; \
targetAccX: float ; \
targetAccY: float ; \
targetAccZ: float ; \
targetAccXPonderation: float ; \
targetAccYPonderation: float ; \
targetAccZPonderation: float ; \
unitType: enum<CscUnitType> ; \
targetOriginMember: string ; \
symetrySearch: bool ; \
nbStateMax: int ; \
deltaPerStateMax: int ; \
optionCutLastestIfTheSameAndWorst: bool ; \
optionCutBeginingIfTheSame: bool ; \
optionDeltaPerStateMaxDegressive: bool ; \
percentAvg: float ; \
percentMax: float ; \
stateDuration: int ; \
stateDelay: int ; \
solvedAt: float ; \
processAt: float ; \
outputTypes: list[ bool ] ; \
aiTypes: long
Exemple
MEMBER_TO_STATE_FROM_MEMBER_TRIGO;"{{SerialNumber}}";5301;{};"example7327722";"example8427722";250.2176;142.5759;476.5176;526.1029;578.9478;119.6398;830.917;919.7109;885.0161;724.6441;616.1241;824.3936;481.9521;426.5788;90.82664;756.8265;542.499;796.2665;1;"example9827722";true;64498;9301;true;false;true;30.7924;117.5198;78607;76206;255.3254;919.1743;[];89887
Résultat
MEMBER_TO_STATE_FROM_MEMBER_TRIGO;sequence
Exemple :
RESULT_MEMBER_TO_STATE_FROM_MEMBER_TRIGO;ENCODER_VERSION(float),nbVals,sequenceType,statesCount,state0PivotsCount,state0Pivot0Id,state0Pivot0Value,state0Pivot1Id,state0Pivot1Value,state0PropellersCount,....propellersValues,state0WheelsCount,....wheelsValues,state0TranslationsCount,....translationsValues,....moreStates
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
MEMBER_TO_STATE_TELEPORT
CscState
output values from -100 to 100
{
pivotsValues: map[ int => float ]?,
wheelsValues: map[ int => float ]?,
propellersValues: map[ int => float ]?,
translationsValues: map[ int => float ]?,
inputsValues: list[ CscMemberInputStatus ]?,
}
CscMemberInputStatus
{
memberName: string,
values: map[ enum<CscInputType> => float ],
}
CscInputType
- 0: ACC_X :
- 1: ACC_Y :
- 2: ACC_Z :
- 6: PITCH :
- 3: POS_X :
- 4: POS_Y :
- 5: POS_Z :
- 8: ROLL :
- 7: YAW :
Format de la commande
MEMBER_TO_STATE_TELEPORT; \
entityReflexion: entityReflexion ; \
objectiveState: CscState
Exemple
MEMBER_TO_STATE_TELEPORT;"{{SerialNumber}}";{}
Résultat
MEMBER_TO_STATE_TELEPORT;
Exemple :
RESULT_MEMBER_TO_STATE_TELEPORT;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
MEMBER_TO_STATE_TELEPORT_EULERS_ONLY
CscState
output values from -100 to 100
{
pivotsValues: map[ int => float ]?,
wheelsValues: map[ int => float ]?,
propellersValues: map[ int => float ]?,
translationsValues: map[ int => float ]?,
inputsValues: list[ CscMemberInputStatus ]?,
}
CscMemberInputStatus
{
memberName: string,
values: map[ enum<CscInputType> => float ],
}
CscInputType
- 0: ACC_X :
- 1: ACC_Y :
- 2: ACC_Z :
- 6: PITCH :
- 3: POS_X :
- 4: POS_Y :
- 5: POS_Z :
- 8: ROLL :
- 7: YAW :
Format de la commande
MEMBER_TO_STATE_TELEPORT_EULERS_ONLY; \
entityReflexion: entityReflexion ; \
objectiveState: CscState
Exemple
MEMBER_TO_STATE_TELEPORT_EULERS_ONLY;"{{SerialNumber}}";{}
Résultat
MEMBER_TO_STATE_TELEPORT_EULERS_ONLY;
Exemple :
RESULT_MEMBER_TO_STATE_TELEPORT_EULERS_ONLY;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
MEMBER_TO_STATE_TELEPORT_STRICT
CscPoint3dOriented
*
*
{
x: double,
y: double,
z: double,
eulerX: double,
eulerY: double,
eulerZ: double,
}
CscEntityPositionSource
- 3: CoreInstruction : a process requested this position to be applied
- 0: Entity : position was sent by entity and its localisation system
- 1: LidarLocalization : position was evaluated by lidar localisation
- 2: Simulator : position is coming from core's environment simulator
Format de la commande
MEMBER_TO_STATE_TELEPORT_STRICT; \
entityReflexion: entityReflexion ; \
target: CscPoint3dOriented ; \
positionSource: enum<CscEntityPositionSource>? ; \
forceRegisterPosition: bool
Exemple
MEMBER_TO_STATE_TELEPORT_STRICT;"{{SerialNumber}}";{"x": 95.65647,"y": 310.3178,"z": 157.7909,"eulerX": 37.96834,"eulerY": 416.2375,"eulerZ": 222.1346};;false
Résultat
MEMBER_TO_STATE_TELEPORT_STRICT;
Exemple :
RESULT_MEMBER_TO_STATE_TELEPORT_STRICT;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
MULTI_POD_WALK
CscState
output values from -100 to 100
{
pivotsValues: map[ int => float ]?,
wheelsValues: map[ int => float ]?,
propellersValues: map[ int => float ]?,
translationsValues: map[ int => float ]?,
inputsValues: list[ CscMemberInputStatus ]?,
}
CscMemberInputStatus
{
memberName: string,
values: map[ enum<CscInputType> => float ],
}
CscInputType
- 0: ACC_X :
- 1: ACC_Y :
- 2: ACC_Z :
- 6: PITCH :
- 3: POS_X :
- 4: POS_Y :
- 5: POS_Z :
- 8: ROLL :
- 7: YAW :
Format de la commande
MULTI_POD_WALK; \
entityReflexion: entityReflexion ; \
knowledgeId: int ; \
currentState: CscState ; \
distanceValue: float ; \
directionX: float ; \
directionY: float ; \
directionZ: float ; \
nbLegs: int
Exemple
MULTI_POD_WALK;"{{SerialNumber}}";42778;{};734.6432;559.0775;350.0328;120.7397;34658
Résultat
Exemple :
RESULT_MULTI_POD_WALK;ENCODER_VERSION(float),nbVals,sequenceType,statesCount,state0PivotsCount,state0Pivot0Id,state0Pivot0Value,state0Pivot1Id,state0Pivot1Value,state0PropellersCount,....propellersValues,state0WheelsCount,....wheelsValues,state0TranslationsCount,....translationsValues,....moreStates
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
NN_CONTROLLED_MEMBER_INSTRUCTION
Control member with the neural network associated.
Format de la commande
NN_CONTROLLED_MEMBER_INSTRUCTION; \
entityReflexion: entityReflexion ; \
memberToControlId: int ; \
pivotsIdToIgnoreForMovement: list[ int ] ; \
targetPosition: list[ float ]
Exemple
NN_CONTROLLED_MEMBER_INSTRUCTION;"{{SerialNumber}}";62253;[];[]
Résultat
NN_CONTROLLED_MEMBER_INSTRUCTION;
Exemple :
RESULT_NN_CONTROLLED_MEMBER_INSTRUCTION;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
NOTIFY_VIDEO_UNAVAILABILITY
Format de la commande
NOTIFY_VIDEO_UNAVAILABILITY; \
initialCommandString: string ; \
entityReflexion: entityReflexion ; \
enable: bool ; \
parameters: map[ string => string ]
Exemple
NOTIFY_VIDEO_UNAVAILABILITY;"example6627722";"{{SerialNumber}}";true;{}
Résultat
NOTIFY_VIDEO_UNAVAILABILITY;
Exemple :
RESULT_NOTIFY_VIDEO_UNAVAILABILITY;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
OBJECTS_CLEAR
Removes all object from the environment
Format de la commande
Exemple
Résultat
Exemple :
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
OBJECTS_DETECT
This command will make entity start to detect objects around it. If entity sees something, it will inject it into the environment. Detection can be stopped at any time using another command : DETECT_STOP Note : if a detection is already running, it will be stopped.
DetectableObjectTypes
Lists available object types for detection by detect objects command
- 4: DetectableObjectType_Airplane :
- 47: DetectableObjectType_Apple :
- 24: DetectableObjectType_Backpack :
- 46: DetectableObjectType_Bannana :
- 34: DetectableObjectType_BaseballBat :
- 35: DetectableObjectType_BaseballGlove :
- 21: DetectableObjectType_Bear :
- 59: DetectableObjectType_Bed :
- 13: DetectableObjectType_Bench :
- 1: DetectableObjectType_Bicycle :
- 14: DetectableObjectType_Bird :
- 8: DetectableObjectType_Boat :
- 73: DetectableObjectType_Book :
- 39: DetectableObjectType_Bottle :
- 45: DetectableObjectType_Bowl :
- 50: DetectableObjectType_Broccoli :
- 5: DetectableObjectType_Bus :
- 55: DetectableObjectType_Cake :
- 2: DetectableObjectType_Car :
- 51: DetectableObjectType_Carrot :
- 15: DetectableObjectType_Cat :
- 56: DetectableObjectType_Chair :
- 74: DetectableObjectType_Clock :
- 57: DetectableObjectType_Couch :
- 19: DetectableObjectType_Cow :
- 41: DetectableObjectType_Cup :
- 60: DetectableObjectType_DiningTable :
- 16: DetectableObjectType_Dog :
- 54: DetectableObjectType_Donut :
- 20: DetectableObjectType_Elephant :
- 10: DetectableObjectType_FireHydrant :
- 42: DetectableObjectType_Fork :
- 29: DetectableObjectType_Frisbee :
- 23: DetectableObjectType_Giraffe :
- 78: DetectableObjectType_HairDrier :
- 26: DetectableObjectType_HandBag :
- 17: DetectableObjectType_Horse :
- 52: DetectableObjectType_HotDog :
- 66: DetectableObjectType_Keyboard :
- 33: DetectableObjectType_Kite :
- 43: DetectableObjectType_KnifeBall :
- 63: DetectableObjectType_Laptop :
- 68: DetectableObjectType_Microwave :
- 3: DetectableObjectType_Motorbike :
- 64: DetectableObjectType_Mouse :
- 49: DetectableObjectType_Orange :
- 69: DetectableObjectType_Oven :
- 12: DetectableObjectType_ParkingMeter :
- 0: DetectableObjectType_Person :
- 67: DetectableObjectType_Phone :
- 53: DetectableObjectType_Pizza :
- 58: DetectableObjectType_PottedPlant :
- 72: DetectableObjectType_Refrigerator :
- 65: DetectableObjectType_Remote :
- 48: DetectableObjectType_Sandwich :
- 76: DetectableObjectType_Scissors :
- 18: DetectableObjectType_Sheep :
- 71: DetectableObjectType_Sink :
- 36: DetectableObjectType_Skateboard :
- 30: DetectableObjectType_Skis :
- 31: DetectableObjectType_Snowboard :
- 44: DetectableObjectType_Spoon :
- 32: DetectableObjectType_SportsBall :
- 11: DetectableObjectType_StopSign :
- 28: DetectableObjectType_Suitcase :
- 37: DetectableObjectType_Surfboard :
- 62: DetectableObjectType_TV :
- 77: DetectableObjectType_TeddyBear :
- 38: DetectableObjectType_TennisRacket :
- 27: DetectableObjectType_Tie :
- 70: DetectableObjectType_Toaster :
- 61: DetectableObjectType_Toilet :
- 79: DetectableObjectType_Toothbrush :
- 9: DetectableObjectType_TrafficLight :
- 6: DetectableObjectType_Train :
- 7: DetectableObjectType_Truck :
- 25: DetectableObjectType_Umbrella :
- 75: DetectableObjectType_Vase :
- 40: DetectableObjectType_WineGlass :
- 22: DetectableObjectType_Zebra :
Format de la commande
OBJECTS_DETECT; \
entityReflexion: entityReflexion ; \
types: list[ enum<DetectableObjectTypes> ]
Exemple
OBJECTS_DETECT;"{{SerialNumber}}";[]
Résultat
Exemple :
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
OBJECTS_GET
The command returns the list of WorldObjects loaded into the scene. A list of general data about filtered WorldObjects.
ObjectsFiltersCommandDataType
Structure pour les filtres d'objets
Defines optional filters on an object within the Conscience 3D environment.
{
zone: CscArea3d,
ids: list[ string ]?,
modelIds: list[ string ]?,
names: list[ string ]?,
}
CscArea3d
{
x: double,
y: double,
z: double,
sizeX: double,
sizeY: double,
sizeZ: double,
}
Format de la commande
OBJECTS_GET; \
filters: ObjectsFiltersCommandDataType?
Exemple
Résultat
WorldObjectCommandDataType
Structure pour définir un objet dans l'environnement 3D de Conscience
{
id: string,
modelId: string,
name: string,
position: CscPoint3d,
rotationEuler: CscRotation3dEuler,
rotationQuaternion: CscQuaternion,
}
CscPoint3d
* {
x: double,
y: double,
z: double,
}
CscRotation3dEuler
{
pitch: double,
roll: double,
yaw: double,
}
CscQuaternion
{
w: double,
x: double,
y: double,
z: double,
}
OBJECTS_GET;list[WorldObjectCommandDataType]
Exemple :
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
OBJECTS_INSERT
This command is used to create and initialize new object(s) within the environment. Returns the ID of objects that have been inserted into the environment.
ObjectPendingInsertionCommandDataType
Structure pour les objets en attente d'insertion
Sets the parameters for inserting an object.
{
name: string,
modelId: string,
position: CscPoint3d,
rotation: CscPoint3d,
mass: double?,
physiqueType: enum<CscPhysicsType>?,
positionRelativeToRobotMember: string?,
robotSerialNumber: string?,
}
CscPoint3d
* {
x: double,
y: double,
z: double,
}
CscPhysicsType
- 0: BOUNDING_BOX : CscPhysicsType -> Define how an object is created in the environement BOUNDING_BOX = all classics objects CONCAVE = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves inwards CONVEX = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves outwards FROM_MODEL = Same as CONCAVE, but for objects that polygons, normals and vertex are already loaded GHOST = Not used STATIC = Load btRigidBody as btCollisionObject, that can be useful to use the rayTracing from bullet ( rayTracing don't work on classic BOUNDING_BOX objects )
- 1: CONCAVE : CscPhysicsType -> Define how an object is created in the environement BOUNDING_BOX = all classics objects CONCAVE = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves inwards CONVEX = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves outwards FROM_MODEL = Same as CONCAVE, but for objects that polygons, normals and vertex are already loaded GHOST = Not used STATIC = Load btRigidBody as btCollisionObject, that can be useful to use the rayTracing from bullet ( rayTracing don't work on classic BOUNDING_BOX objects )
- 2: CONVEXE : CscPhysicsType -> Define how an object is created in the environement BOUNDING_BOX = all classics objects CONCAVE = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves inwards CONVEX = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves outwards FROM_MODEL = Same as CONCAVE, but for objects that polygons, normals and vertex are already loaded GHOST = Not used STATIC = Load btRigidBody as btCollisionObject, that can be useful to use the rayTracing from bullet ( rayTracing don't work on classic BOUNDING_BOX objects )
- 3: FROM_MODEL : CscPhysicsType -> Define how an object is created in the environement BOUNDING_BOX = all classics objects CONCAVE = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves inwards CONVEX = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves outwards FROM_MODEL = Same as CONCAVE, but for objects that polygons, normals and vertex are already loaded GHOST = Not used STATIC = Load btRigidBody as btCollisionObject, that can be useful to use the rayTracing from bullet ( rayTracing don't work on classic BOUNDING_BOX objects )
- 4: GHOST : CscPhysicsType -> Define how an object is created in the environement BOUNDING_BOX = all classics objects CONCAVE = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves inwards CONVEX = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves outwards FROM_MODEL = Same as CONCAVE, but for objects that polygons, normals and vertex are already loaded GHOST = Not used STATIC = Load btRigidBody as btCollisionObject, that can be useful to use the rayTracing from bullet ( rayTracing don't work on classic BOUNDING_BOX objects )
- 5: STATIC : CscPhysicsType -> Define how an object is created in the environement BOUNDING_BOX = all classics objects CONCAVE = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves inwards CONVEX = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves outwards FROM_MODEL = Same as CONCAVE, but for objects that polygons, normals and vertex are already loaded GHOST = Not used STATIC = Load btRigidBody as btCollisionObject, that can be useful to use the rayTracing from bullet ( rayTracing don't work on classic BOUNDING_BOX objects )
Format de la commande
OBJECTS_INSERT; \
objects: list[ ObjectPendingInsertionCommandDataType ]
Exemple
Résultat
OBJECTS_INSERT;list[string]
Exemple :
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
OBJECTS_REMOVE
The command removes WorldObjects in the scene.
ObjectsFiltersCommandDataType
Structure pour les filtres d'objets
Defines optional filters on an object within the Conscience 3D environment.
{
zone: CscArea3d,
ids: list[ string ]?,
modelIds: list[ string ]?,
names: list[ string ]?,
}
CscArea3d
{
x: double,
y: double,
z: double,
sizeX: double,
sizeY: double,
sizeZ: double,
}
Format de la commande
OBJECTS_REMOVE; \
filters: ObjectsFiltersCommandDataType?
Exemple
OBJECTS_REMOVE;{"zone": {}}
Résultat
Exemple :
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
OBJECT_INSERT
Sets the parameters for inserting an object. It is possible to provide rotation, mass in grams, and a type of physics (0 => BOUNDING_BOX, 1 => CONCAVE, 2 => CONVEX, 3 => FROM_MODEL, 4 => GHOST, 5 => STATIC). It is possible to specify a member of an entity in the simulation to load the object from the robot's position, in which case the provided position becomes relative to the robot's position. In the case of a relative position, the serial number of the entity in the simulator must be provided.
CscPoint3d
* {
x: double,
y: double,
z: double,
}
CscPhysicsType
- 0: BOUNDING_BOX : CscPhysicsType -> Define how an object is created in the environement BOUNDING_BOX = all classics objects CONCAVE = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves inwards CONVEX = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves outwards FROM_MODEL = Same as CONCAVE, but for objects that polygons, normals and vertex are already loaded GHOST = Not used STATIC = Load btRigidBody as btCollisionObject, that can be useful to use the rayTracing from bullet ( rayTracing don't work on classic BOUNDING_BOX objects )
- 1: CONCAVE : CscPhysicsType -> Define how an object is created in the environement BOUNDING_BOX = all classics objects CONCAVE = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves inwards CONVEX = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves outwards FROM_MODEL = Same as CONCAVE, but for objects that polygons, normals and vertex are already loaded GHOST = Not used STATIC = Load btRigidBody as btCollisionObject, that can be useful to use the rayTracing from bullet ( rayTracing don't work on classic BOUNDING_BOX objects )
- 2: CONVEXE : CscPhysicsType -> Define how an object is created in the environement BOUNDING_BOX = all classics objects CONCAVE = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves inwards CONVEX = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves outwards FROM_MODEL = Same as CONCAVE, but for objects that polygons, normals and vertex are already loaded GHOST = Not used STATIC = Load btRigidBody as btCollisionObject, that can be useful to use the rayTracing from bullet ( rayTracing don't work on classic BOUNDING_BOX objects )
- 3: FROM_MODEL : CscPhysicsType -> Define how an object is created in the environement BOUNDING_BOX = all classics objects CONCAVE = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves inwards CONVEX = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves outwards FROM_MODEL = Same as CONCAVE, but for objects that polygons, normals and vertex are already loaded GHOST = Not used STATIC = Load btRigidBody as btCollisionObject, that can be useful to use the rayTracing from bullet ( rayTracing don't work on classic BOUNDING_BOX objects )
- 4: GHOST : CscPhysicsType -> Define how an object is created in the environement BOUNDING_BOX = all classics objects CONCAVE = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves inwards CONVEX = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves outwards FROM_MODEL = Same as CONCAVE, but for objects that polygons, normals and vertex are already loaded GHOST = Not used STATIC = Load btRigidBody as btCollisionObject, that can be useful to use the rayTracing from bullet ( rayTracing don't work on classic BOUNDING_BOX objects )
- 5: STATIC : CscPhysicsType -> Define how an object is created in the environement BOUNDING_BOX = all classics objects CONCAVE = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves inwards CONVEX = Load and use polygons, normals and vertex to create the object. This type is for objects that have an outline or surface that curves outwards FROM_MODEL = Same as CONCAVE, but for objects that polygons, normals and vertex are already loaded GHOST = Not used STATIC = Load btRigidBody as btCollisionObject, that can be useful to use the rayTracing from bullet ( rayTracing don't work on classic BOUNDING_BOX objects )
Format de la commande
OBJECT_INSERT; \
objectModel: objectModel ; \
name: string ; \
position: CscPoint3d ; \
rotation: CscPoint3d ; \
mass: double? ; \
physiqueType: enum<CscPhysicsType>? ; \
positionRelativeToRobotMember: string? ; \
robotSerialNumber: string?
Exemple
OBJECT_INSERT;"3";"example8427722";{"x": 799.2573,"y": 323.3119,"z": 465.5588};{"x": 702.311,"y": 900.5015,"z": 774.5997};;;;
Résultat
Exemple :
RESULT_OBJECT_INSERT;"resultExample1127722"
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
OBJECT_MODELS_GET
Gets available object models. Returns available object models.
ObjectModelsGetFiltersCommandDataType
Structure pour les filtres de modèles d'objets
Filters for object model request.
Format de la commande
OBJECT_MODELS_GET; \
filters: ObjectModelsGetFiltersCommandDataType?
Exemple
Résultat
ObjectModelCommandDataType
Structure pour les modèles d'objets
{
id: string,
lastModificationTimeMillis: long,
name: string,
}
OBJECT_MODELS_GET;list[ObjectModelCommandDataType]
Exemple :
RESULT_OBJECT_MODELS_GET;[]
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
OBJECT_MODEL_LOGO_GET
Gets logo for given object model. Returns logo in binary format.
Format de la commande
OBJECT_MODEL_LOGO_GET; \
objectModelId: string
Exemple
OBJECT_MODEL_LOGO_GET;"example7927722"
Résultat
OBJECT_MODEL_LOGO_GET;binary
Exemple :
RESULT_OBJECT_MODEL_LOGO_GET;^CSB^LENGHT_OF_BINARY^TIME_IN_MILLIS^BINARY_CONTENT
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
OBJECT_MODEL_SOURCE_FILE_GET
Gets model source file with 3D info for given object model. Returns 3D model file in binary format.
CscWorldElementModelFormat
- 0: WorldElementModelFormat_dae :
- 1: WorldElementModelFormat_glTF :
- 2: WorldElementModelFormat_obj :
Format de la commande
OBJECT_MODEL_SOURCE_FILE_GET; \
objectModelId: string ; \
format: enum<CscWorldElementModelFormat>
Exemple
OBJECT_MODEL_SOURCE_FILE_GET;"example8927722";0
Résultat
OBJECT_MODEL_SOURCE_FILE_GET;binary
Exemple :
RESULT_OBJECT_MODEL_SOURCE_FILE_GET;^CSB^LENGHT_OF_BINARY^TIME_IN_MILLIS^BINARY_CONTENT
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
PATH_CUT_ENTITY_DEPLACEMENTS
Trims the input paths to remove segments where the robot passes over the same area again.
Constructs a CommandPathCutEntityDeplacements instance with a list of path segments.
PathSegmentCommandDataType
* {
start: CscPoint3d,
end: CscPoint3d,
}
CscPoint3d
* {
x: double,
y: double,
z: double,
}
Format de la commande
PATH_CUT_ENTITY_DEPLACEMENTS; \
paths: list[ PathSegmentCommandDataType ]?
Exemple
PATH_CUT_ENTITY_DEPLACEMENTS;
Résultat
PATH_CUT_ENTITY_DEPLACEMENTS;list[PathSegmentCommandDataType]
Exemple :
RESULT_PATH_CUT_ENTITY_DEPLACEMENTS;[]
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
PATH_OPTIMIZATION
Return the list of path ordered to reduce the distance between path. Result of Path optimization, contains the new paths and the new order correspondence.
CscPoint3d
* {
x: double,
y: double,
z: double,
}
Format de la commande
PATH_OPTIMIZATION; \
initialPosition: CscPoint3d ; \
pathList: list[ list[ CscPoint3d ] ]
Exemple
PATH_OPTIMIZATION;{"x": 178.1379,"y": 280.2593,"z": 114.7342};[]
Résultat
PathOptimizationResult
Structure pour le résultat de l'optimisation des chemins
{
newPathList: list[ list[ CscPoint3d ] ],
orderCorrespondence: list[ int ],
}
PATH_OPTIMIZATION;PathOptimizationResult
Exemple :
RESULT_PATH_OPTIMIZATION;{"newPathList": [],"orderCorrespondence": []}
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
PING
Simplest ping, returns PONG string
Format de la commande
Exemple
Résultat
Exemple :
RESULT_PING;"resultExample2527722"
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
PLACES_GET
Gets places from the environment. Returns the list of places currently loaded in the environment.
PlacesGetFiltersCommandDataType
Structure pour les filtres de récupération des places
Defines optional filters on a place within the Conscience 3D environment.
{
zone: CscArea3d,
ids: list[ string ]?,
modelIds: list[ string ]?,
}
CscArea3d
{
x: double,
y: double,
z: double,
sizeX: double,
sizeY: double,
sizeZ: double,
}
Format de la commande
PLACES_GET; \
filters: PlacesGetFiltersCommandDataType?
Exemple
Résultat
WorldPlaceCommandDataType
Structure pour définir un lieu dans l'environnement 3D de Conscience
{
id: string,
modelId: string,
name: string,
placeOwner: string,
position: CscPoint3d,
rotationEuler: CscRotation3dEuler,
rotationQuaternion: CscQuaternion,
}
CscPoint3d
* {
x: double,
y: double,
z: double,
}
CscRotation3dEuler
{
pitch: double,
roll: double,
yaw: double,
}
CscQuaternion
{
w: double,
x: double,
y: double,
z: double,
}
PLACES_GET;list[WorldPlaceCommandDataType]
Exemple :
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
PLACE_INSERT
Insert a place in the environment Returns id of the inserted place
Sets the parameters for inserting an object. It is possible to provide rotation, mass in grams, and a type of physics (0 => BOUNDING_BOX, 1 => CONCAVE, 2 => CONVEX, 3 => FROM_MODEL, 4 => GHOST, 5 => STATIC). It is possible to specify a member of an entity in the simulation to load the object from the robot's position, in which case the provided position becomes relative to the robot's position. In the case of a relative position, the serial number of the entity in the simulator must be provided.
CscPoint3d
* {
x: double,
y: double,
z: double,
}
Format de la commande
PLACE_INSERT; \
placeModel: placeModel ; \
position: CscPoint3d? ; \
rotation: CscPoint3d? ; \
removeOtherPlaces: bool?
Exemple
Résultat
Exemple :
RESULT_PLACE_INSERT;"resultExample8527722"
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
PLACE_MODELS_GET
Gets available place models. Returns available place models.
PlaceModelsGetFiltersCommandDataType
Structure pour les filtres de récupération des modèles de place
Filters for place model request.
Format de la commande
PLACE_MODELS_GET; \
filters: PlaceModelsGetFiltersCommandDataType?
Exemple
Résultat
PlaceModelCommandDataType
Structure pour les données de modèle de place
{
id: string,
lastModificationTimeMillis: long,
name: string,
provider: string,
}
PLACE_MODELS_GET;list[PlaceModelCommandDataType]
Exemple :
RESULT_PLACE_MODELS_GET;[]
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
PLACE_MODEL_LOGO_GET
Gets logo for given place model. Returns logo in binary format.
Format de la commande
PLACE_MODEL_LOGO_GET; \
placeModelId: string
Exemple
PLACE_MODEL_LOGO_GET;"example7827722"
Résultat
PLACE_MODEL_LOGO_GET;binary
Exemple :
RESULT_PLACE_MODEL_LOGO_GET;^CSB^LENGHT_OF_BINARY^TIME_IN_MILLIS^BINARY_CONTENT
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
PLACE_MODEL_SOURCE_FILE_GET
Gets model source file with 3D info for given place model. Returns 3D model file in binary format.
CscWorldElementModelFormat
- 0: WorldElementModelFormat_dae :
- 1: WorldElementModelFormat_glTF :
- 2: WorldElementModelFormat_obj :
Format de la commande
PLACE_MODEL_SOURCE_FILE_GET; \
placeModelId: string ; \
format: enum<CscWorldElementModelFormat>
Exemple
PLACE_MODEL_SOURCE_FILE_GET;"example3927722";0
Résultat
PLACE_MODEL_SOURCE_FILE_GET;binary
Exemple :
RESULT_PLACE_MODEL_SOURCE_FILE_GET;^CSB^LENGHT_OF_BINARY^TIME_IN_MILLIS^BINARY_CONTENT
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
PLACE_REMOVE
Remove a place from the environment by its Id. Returns true if place has been found and removed, false otherwise.
Format de la commande
PLACE_REMOVE; \
placeId: string
Exemple
PLACE_REMOVE;"example7727722"
Résultat
Exemple :
RESULT_PLACE_REMOVE;false
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
PLAY_NAMED_SEQUENCE
Format de la commande
PLAY_NAMED_SEQUENCE; \
entityReflexion: entityReflexion ; \
sequenceName: string
Exemple
PLAY_NAMED_SEQUENCE;"{{SerialNumber}}";"example5927722"
Résultat
PLAY_NAMED_SEQUENCE;sequence
Exemple :
RESULT_PLAY_NAMED_SEQUENCE;ENCODER_VERSION(float),nbVals,sequenceType,statesCount,state0PivotsCount,state0Pivot0Id,state0Pivot0Value,state0Pivot1Id,state0Pivot1Value,state0PropellersCount,....propellersValues,state0WheelsCount,....wheelsValues,state0TranslationsCount,....translationsValues,....moreStates
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
PLAY_SEQUENCE
Creates and returns an executable command to play a sequence on a given entity.
CscSequence
{
states: list[ CscState ]?,
}
CscState
output values from -100 to 100
{
pivotsValues: map[ int => float ]?,
wheelsValues: map[ int => float ]?,
propellersValues: map[ int => float ]?,
translationsValues: map[ int => float ]?,
inputsValues: list[ CscMemberInputStatus ]?,
}
CscMemberInputStatus
{
memberName: string,
values: map[ enum<CscInputType> => float ],
}
CscInputType
- 0: ACC_X :
- 1: ACC_Y :
- 2: ACC_Z :
- 6: PITCH :
- 3: POS_X :
- 4: POS_Y :
- 5: POS_Z :
- 8: ROLL :
- 7: YAW :
Format de la commande
PLAY_SEQUENCE; \
entityReflexion: entityReflexion ; \
sequence: CscSequence
Exemple
PLAY_SEQUENCE;"{{SerialNumber}}";{}
Résultat
Exemple :
RESULT_PLAY_SEQUENCE;ENCODER_VERSION(float),nbVals,sequenceType,statesCount,state0PivotsCount,state0Pivot0Id,state0Pivot0Value,state0Pivot1Id,state0Pivot1Value,state0PropellersCount,....propellersValues,state0WheelsCount,....wheelsValues,state0TranslationsCount,....translationsValues,....moreStates
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
PLAY_STATE_OUTPUTS
CscState
output values from -100 to 100
{
pivotsValues: map[ int => float ]?,
wheelsValues: map[ int => float ]?,
propellersValues: map[ int => float ]?,
translationsValues: map[ int => float ]?,
inputsValues: list[ CscMemberInputStatus ]?,
}
CscMemberInputStatus
{
memberName: string,
values: map[ enum<CscInputType> => float ],
}
CscInputType
- 0: ACC_X :
- 1: ACC_Y :
- 2: ACC_Z :
- 6: PITCH :
- 3: POS_X :
- 4: POS_Y :
- 5: POS_Z :
- 8: ROLL :
- 7: YAW :
Format de la commande
PLAY_STATE_OUTPUTS; \
entityReflexion: entityReflexion ; \
stateToPlay: CscState ; \
stateDuration: float ; \
stateDelay: float ; \
relativeValues: bool
Exemple
PLAY_STATE_OUTPUTS;"{{SerialNumber}}";{};607.2631;820.4937;false
Résultat
Exemple :
RESULT_PLAY_STATE_OUTPUTS;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
PURGE_OBJECTIVES
Format de la commande
Exemple
Résultat
Exemple :
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
RS_EMERGENCY_STOP
Format de la commande
RS_EMERGENCY_STOP; \
entityReflexion: entityReflexion
Exemple
RS_EMERGENCY_STOP;"{{SerialNumber}}"
Résultat
Exemple :
RESULT_RS_EMERGENCY_STOP;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
RS_STOP_ALL_MOVMENT
Format de la commande
RS_STOP_ALL_MOVMENT; \
entityReflexion: entityReflexion
Exemple
RS_STOP_ALL_MOVMENT;"{{SerialNumber}}"
Résultat
Exemple :
RESULT_RS_STOP_ALL_MOVMENT;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
SAVE_CONFIGURATION_TO_MODEL_MEMBER
Format de la commande
SAVE_CONFIGURATION_TO_MODEL_MEMBER; \
robotModelId: int ; \
memberId: int ; \
massNew: float ; \
frictionNew: float ; \
restitutionNew: float ; \
linearDampingNew: float ; \
angularDampingNew: float
Exemple
SAVE_CONFIGURATION_TO_MODEL_MEMBER;41993;42179;905.9395;858.0087;162.6445;162.1508;400.5546
Résultat
SAVE_CONFIGURATION_TO_MODEL_MEMBER;
Exemple :
RESULT_SAVE_CONFIGURATION_TO_MODEL_MEMBER;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
SAVE_CONFIGURATION_TO_MODEL_PARAMS
Format de la commande
SAVE_CONFIGURATION_TO_MODEL_PARAMS; \
robotModelId: int ; \
newPitch: float ; \
newYaw: float ; \
newRoll: float ; \
newdefaultHeight: float
Exemple
SAVE_CONFIGURATION_TO_MODEL_PARAMS;1701;791.8791;96.82285;672.2789;760.2958
Résultat
SAVE_CONFIGURATION_TO_MODEL_PARAMS;
Exemple :
RESULT_SAVE_CONFIGURATION_TO_MODEL_PARAMS;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
SAVE_CONFIGURATION_TO_MODEL_PIVOT
Format de la commande
SAVE_CONFIGURATION_TO_MODEL_PIVOT; \
robotModelId: int ; \
pivotId: int ; \
newMin: float ; \
newMax: float ; \
newRotationX: float ; \
newRotationY: float ; \
newRotationZ: float ; \
newRelaxation: float ; \
newSoftness: float ; \
newBias: float ; \
newSpeedMax: float ; \
newPercentSpeedMax: float
Exemple
SAVE_CONFIGURATION_TO_MODEL_PIVOT;71553;59556;406.3612;638.7338;420.6261;176.5219;527.4698;507.5746;622.6008;595.1307;422.5252;704.8995
Résultat
SAVE_CONFIGURATION_TO_MODEL_PIVOT;
Exemple :
RESULT_SAVE_CONFIGURATION_TO_MODEL_PIVOT;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
SAVE_CONFIGURATION_TO_MODEL_PROPELLER
Format de la commande
SAVE_CONFIGURATION_TO_MODEL_PROPELLER; \
robotModelId: int ; \
propellersId: int ; \
maxSpeedNew: float
Exemple
SAVE_CONFIGURATION_TO_MODEL_PROPELLER;81910;84959;956.0573
Résultat
SAVE_CONFIGURATION_TO_MODEL_PROPELLER;
Exemple :
RESULT_SAVE_CONFIGURATION_TO_MODEL_PROPELLER;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
SAVE_CONFIGURATION_TO_MODEL_TRANSLATION
Format de la commande
SAVE_CONFIGURATION_TO_MODEL_TRANSLATION; \
robotModelId: int ; \
translationId: int ; \
maxSpeedNew: float ; \
amplitudeMinNew: float ; \
amplitudeMaxNew: float
Exemple
SAVE_CONFIGURATION_TO_MODEL_TRANSLATION;25157;12301;300.6064;866.7411;409.6877
Résultat
SAVE_CONFIGURATION_TO_MODEL_TRANSLATION;
Exemple :
RESULT_SAVE_CONFIGURATION_TO_MODEL_TRANSLATION;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
SAVE_CONFIGURATION_TO_MODEL_WHEEL
Format de la commande
SAVE_CONFIGURATION_TO_MODEL_WHEEL; \
robotModelId: int ; \
wheelId: int ; \
maxSpeedNew: float
Exemple
SAVE_CONFIGURATION_TO_MODEL_WHEEL;41212;52865;229.9845
Résultat
SAVE_CONFIGURATION_TO_MODEL_WHEEL;
Exemple :
RESULT_SAVE_CONFIGURATION_TO_MODEL_WHEEL;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
SMALL_MOVE_TO_BEST_DIRECTION
This command is used to make the robot move to a direction chosen based on best availability.
CommandSmallMoveToBestDirectionOptions
CommandSmallMoveToBestDirectionInstruction
- 0: SmallMoveToBestDirectionInstruction_Start :
- 1: SmallMoveToBestDirectionInstruction_Stop :
Format de la commande
SMALL_MOVE_TO_BEST_DIRECTION; \
entityReflexion: entityReflexion ; \
instruction: enum<CommandSmallMoveToBestDirectionInstruction> ; \
options: CommandSmallMoveToBestDirectionOptions
Exemple
SMALL_MOVE_TO_BEST_DIRECTION;"{{SerialNumber}}";0;{}
Résultat
SMALL_MOVE_TO_BEST_DIRECTION;string
Exemple :
RESULT_SMALL_MOVE_TO_BEST_DIRECTION;"resultExample4227722"
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
START_VIDEO_RECORD
This command records an entity's video stream to a file on the file system of the machine hosting Conscience Core. If Conscience Studio, outputPath will be on local FS
Format de la commande
START_VIDEO_RECORD; \
entityReflexion: entityReflexion ; \
outputPath: string ; \
streamId: string?
Exemple
START_VIDEO_RECORD;"{{SerialNumber}}";"example4527722";
Résultat
no command result documentation
Exemple :
RESULT_START_VIDEO_RECORD;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
STOP_FOLLOW_TRACKED_OBJECT
CommandStopFollowObjectParams
{
entityToStop: entityReflexion,
}
Format de la commande
STOP_FOLLOW_TRACKED_OBJECT; \
params: CommandStopFollowObjectParams
Exemple
STOP_FOLLOW_TRACKED_OBJECT;{"entityToStop": "{{SerialNumber}}"}
Résultat
CommandStopFollowObjectResult
{
message: string,
success: bool,
}
STOP_FOLLOW_TRACKED_OBJECT;CommandStopFollowObjectResult
Exemple :
RESULT_STOP_FOLLOW_TRACKED_OBJECT;{"message": "example2027722","success": false}
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
STOP_VIDEO_RECORD
Format de la commande
STOP_VIDEO_RECORD; \
entityReflexion: entityReflexion
Exemple
STOP_VIDEO_RECORD;"{{SerialNumber}}"
Résultat
no command result documentation
Exemple :
RESULT_STOP_VIDEO_RECORD;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
TARGET_TO_SAND
Format de la commande
TARGET_TO_SAND; \
entityReflexion: entityReflexion
Exemple
TARGET_TO_SAND;"{{SerialNumber}}"
Résultat
Exemple :
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
TELL_THIS
CscState
output values from -100 to 100
{
pivotsValues: map[ int => float ]?,
wheelsValues: map[ int => float ]?,
propellersValues: map[ int => float ]?,
translationsValues: map[ int => float ]?,
inputsValues: list[ CscMemberInputStatus ]?,
}
CscMemberInputStatus
{
memberName: string,
values: map[ enum<CscInputType> => float ],
}
CscInputType
- 0: ACC_X :
- 1: ACC_Y :
- 2: ACC_Z :
- 6: PITCH :
- 3: POS_X :
- 4: POS_Y :
- 5: POS_Z :
- 8: ROLL :
- 7: YAW :
Format de la commande
TELL_THIS; \
sentence: string ; \
volume: int ; \
speed: int ; \
entityReflexion: entityReflexion ; \
knowledgeId: int ; \
currentState: CscState
Exemple
TELL_THIS;"example4227722";31686;54650;"{{SerialNumber}}";96414;{}
Résultat
Exemple :
RESULT_TELL_THIS;ENCODER_VERSION(float),nbVals,sequenceType,statesCount,state0PivotsCount,state0Pivot0Id,state0Pivot0Value,state0Pivot1Id,state0Pivot1Value,state0PropellersCount,....propellersValues,state0WheelsCount,....wheelsValues,state0TranslationsCount,....translationsValues,....moreStates
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
TERRASSEMENT
Format de la commande
TERRASSEMENT; \
entityReflexion: entityReflexion ; \
stepOnX: float ; \
stepOnZ: float ; \
partToDivide: string ; \
partToLocate: string
Exemple
TERRASSEMENT;"{{SerialNumber}}";673.4731;955.5528;"example4727722";"example4927722"
Résultat
Exemple :
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
TERRASSEMENT_DROP_OFF
Format de la commande
TERRASSEMENT_DROP_OFF; \
entityReflexion: entityReflexion ; \
entityLat: double ; \
entityLon: double ; \
yaw: float ; \
targetPointX: float ; \
targetPointY: float ; \
targetPointZ: float
Exemple
TERRASSEMENT_DROP_OFF;"{{SerialNumber}}";979.6014;954.7248;99.12029;146.7467;651.8383;351.7474
Résultat
TERRASSEMENT_DROP_OFF;sequence
Exemple :
RESULT_TERRASSEMENT_DROP_OFF;ENCODER_VERSION(float),nbVals,sequenceType,statesCount,state0PivotsCount,state0Pivot0Id,state0Pivot0Value,state0Pivot1Id,state0Pivot1Value,state0PropellersCount,....propellersValues,state0WheelsCount,....wheelsValues,state0TranslationsCount,....translationsValues,....moreStates
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
TERRASSEMENT_PICK_UP
Format de la commande
TERRASSEMENT_PICK_UP; \
entityReflexion: entityReflexion ; \
entityLat: double ; \
entityLon: double ; \
yaw: float ; \
targetPointX: float ; \
targetPointY: float ; \
targetPointZ: float
Exemple
TERRASSEMENT_PICK_UP;"{{SerialNumber}}";958.054;167.5123;913.6982;603.5981;731.2311;949.1645
Résultat
TERRASSEMENT_PICK_UP;sequence
Exemple :
RESULT_TERRASSEMENT_PICK_UP;ENCODER_VERSION(float),nbVals,sequenceType,statesCount,state0PivotsCount,state0Pivot0Id,state0Pivot0Value,state0Pivot1Id,state0Pivot1Value,state0PropellersCount,....propellersValues,state0WheelsCount,....wheelsValues,state0TranslationsCount,....translationsValues,....moreStates
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
UPDATE_CONFIGURATION_MEMBER
Format de la commande
UPDATE_CONFIGURATION_MEMBER; \
entitySerialNumber: string ; \
itemId: float ; \
mass: float ; \
friction: float ; \
restitution: float ; \
linearDamping: float ; \
angularDamping: float
Exemple
UPDATE_CONFIGURATION_MEMBER;"{{SerialNumber}}";668.7374;952.1282;498.5995;603.9814;50.1189;889.7654
Résultat
UPDATE_CONFIGURATION_MEMBER;
Exemple :
RESULT_UPDATE_CONFIGURATION_MEMBER;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
UPDATE_CONFIGURATION_PIVOT
Format de la commande
UPDATE_CONFIGURATION_PIVOT; \
entitySerialNumber: string ; \
pivotId: float ; \
newMin: float ; \
newMax: float ; \
newRotationX: float ; \
newRotationY: float ; \
newRotationZ: float ; \
newRelaxation: float ; \
newSoftness: float ; \
newBias: float ; \
newSpeedMax: float ; \
newPercentSpeedMax: float
Exemple
UPDATE_CONFIGURATION_PIVOT;"{{SerialNumber}}";661.047;302.9707;967.2811;252.4155;918.1348;861.5244;173.9238;456.4645;739.3234;766.1201;765.2402
Résultat
UPDATE_CONFIGURATION_PIVOT;
Exemple :
RESULT_UPDATE_CONFIGURATION_PIVOT;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
UPDATE_CONFIGURATION_TRANSLATION
Format de la commande
UPDATE_CONFIGURATION_TRANSLATION; \
entitySerialNumber: string ; \
translationId: float ; \
newSpeedMax: float
Exemple
UPDATE_CONFIGURATION_TRANSLATION;"{{SerialNumber}}";298.4209;504.8463
Résultat
UPDATE_CONFIGURATION_TRANSLATION;
Exemple :
RESULT_UPDATE_CONFIGURATION_TRANSLATION;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
UPDATE_FLOOR_ROTATION
Format de la commande
UPDATE_FLOOR_ROTATION; \
pitch: float ; \
yaw: float ; \
roll: float
Exemple
UPDATE_FLOOR_ROTATION;377.7663;526.8959;460.5577
Résultat
Exemple :
RESULT_UPDATE_FLOOR_ROTATION;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
UPDATE_PROPELLERS
Format de la commande
UPDATE_PROPELLERS; \
entitySerialNumber: string ; \
propellersToMove: int ; \
propellersId: list[ int ]? ; \
propellersPower: list[ float ]?
Exemple
UPDATE_PROPELLERS;"{{SerialNumber}}";28878;;
Résultat
no command result documentation
Exemple :
RESULT_UPDATE_PROPELLERS;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
UPDATE_SENSOR_VALUES
Format de la commande
UPDATE_SENSOR_VALUES; \
entityReflexion: entityReflexion ; \
allSensors: map[ string => map[ string => double ] ]
Exemple
UPDATE_SENSOR_VALUES;"{{SerialNumber}}";{}
Résultat
UPDATE_SENSOR_VALUES;string
Exemple :
RESULT_UPDATE_SENSOR_VALUES;"resultExample8027722"
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
UPDATE_STATE_OUTPUTS_FROM_REAL
Forces entity's state in physics simulator (see PhysicsSimulator::setState)
CscState
output values from -100 to 100
{
pivotsValues: map[ int => float ]?,
wheelsValues: map[ int => float ]?,
propellersValues: map[ int => float ]?,
translationsValues: map[ int => float ]?,
inputsValues: list[ CscMemberInputStatus ]?,
}
CscMemberInputStatus
{
memberName: string,
values: map[ enum<CscInputType> => float ],
}
CscInputType
- 0: ACC_X :
- 1: ACC_Y :
- 2: ACC_Z :
- 6: PITCH :
- 3: POS_X :
- 4: POS_Y :
- 5: POS_Z :
- 8: ROLL :
- 7: YAW :
Format de la commande
UPDATE_STATE_OUTPUTS_FROM_REAL; \
entityReflexion: entityReflexion ; \
stateToPlay: CscState
Exemple
UPDATE_STATE_OUTPUTS_FROM_REAL;"{{SerialNumber}}";{}
Résultat
no command result documentation
UPDATE_STATE_OUTPUTS_FROM_REAL;
Exemple :
RESULT_UPDATE_STATE_OUTPUTS_FROM_REAL;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
UPDATE_TRANSLATIONS
Format de la commande
UPDATE_TRANSLATIONS; \
entitySerialNumber: string ; \
translationsToMove: int ; \
translationsId: list[ int ]? ; \
translationsPower: list[ float ]?
Exemple
UPDATE_TRANSLATIONS;"{{SerialNumber}}";48464;;
Résultat
no command result documentation
Exemple :
RESULT_UPDATE_TRANSLATIONS;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
UPDATE_WHEELS
Format de la commande
UPDATE_WHEELS; \
entitySerialNumber: string ; \
wheelsToMove: int ; \
wheelsId: list[ int ]? ; \
wheelsPower: list[ float ]?
Exemple
UPDATE_WHEELS;"{{SerialNumber}}";31820;;
Résultat
no command result documentation
Exemple :
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
UPDATE_WHEELS_POWER
Format de la commande
UPDATE_WHEELS_POWER; \
entityReflexion: entityReflexion ; \
wheelsToMove: int ; \
wheelsId: list[ int ]? ; \
wheelsPower: list[ float ]?
Exemple
UPDATE_WHEELS_POWER;"{{SerialNumber}}";94333;;
Résultat
no command result documentation
Exemple :
RESULT_UPDATE_WHEELS_POWER;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
VISION_DETECT
CommandVisionDetectParams
Format de la commande
VISION_DETECT; \
entityReflexion: entityReflexion ; \
params: CommandVisionDetectParams
Exemple
VISION_DETECT;"{{SerialNumber}}";{}
Résultat
no command result documentation
Exemple :
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
VISION_DETECT_SINGLE_FRAME
Run detector on an image. Returns detected objects positions.
ConscienceDetectorType
- 27: AiAPI :
- 1: All :
- 4: AllDarknet :
- 18: ArucoMarkers :
- 25: BedAndChairs :
- 7: Car :
- 19: Care :
- 22: ColorExtractor :
- 5: Face :
- 11: Fire :
- 16: Gun :
- 6: Hand :
- 15: Knife :
- 2: Mire :
- 8: MireB :
- 10: MireOnCar :
- 9: MireOnTrain :
- 0: None :
- 21: Person :
- 13: Phone :
- 23: QRCodeExtractor :
- 14: SecurityAlerts :
- 24: ShapeExtractor :
- 20: Tetra :
- 3: Train :
- 17: UnconsciousPerson :
- 12: Weapons :
- 26: Yolov8 :
Format de la commande
VISION_DETECT_SINGLE_FRAME; \
entitySerial: string ; \
detector: enum<ConscienceDetectorType>
Exemple
VISION_DETECT_SINGLE_FRAME;"{{SerialNumber}}";27
Résultat
CscPoint3d
* {
x: double,
y: double,
z: double,
}
VISION_DETECT_SINGLE_FRAME;list[CscPoint3d]
Exemple :
RESULT_VISION_DETECT_SINGLE_FRAME;[]
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>
VOCAL_PHONE_CALL_TEST
Format de la commande
VOCAL_PHONE_CALL_TEST; \
entityReflexion: entityReflexion ; \
additionalParams: map[ string => string ] ; \
vocalNotificationPhoneNumbers: list[ string ]
Exemple
VOCAL_PHONE_CALL_TEST;"{{SerialNumber}}";{};[]
Résultat
Exemple :
RESULT_VOCAL_PHONE_CALL_TEST;
If an error occurred, the resulting message will be:
__CSC_MSG_EXEC_ERROR;<error message>