Conscience Core
Conscience Core Commands

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

ACTIVATE_LIFI_SIGNAL; \

Exemple

ACTIVATE_LIFI_SIGNAL;

Résultat

ACTIVATE_LIFI_SIGNAL;

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

ACTIVATE_RS; \

Exemple

ACTIVATE_RS;

Résultat

ACTIVATE_RS;

Exemple :

RESULT_ACTIVATE_RS;

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

ALERTS_UNWATCH;

Exemple :

RESULT_ALERTS_UNWATCH;

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

AREA_ANALYSIS;sequence

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

CARTOGRAPHY_LOAD;

Exemple :

RESULT_CARTOGRAPHY_LOAD;

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

CARTOGRAPHY_MANAGEMENT;

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

CARTOGRAPHY_SAVE;[]

Résultat

CARTOGRAPHY_SAVE;

Exemple :

RESULT_CARTOGRAPHY_SAVE;

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

CARTOGRAPHY_SET;

Exemple :

RESULT_CARTOGRAPHY_SET;

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

CONSUME_VIDEO_SOURCE;

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

DETECT_STOP;

Exemple :

RESULT_DETECT_STOP;

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

DIVIDE_TARGET_PLUS;

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

DRAW_PATH_ON_SIMULATOR;

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

DRILLING;

Exemple :

RESULT_DRILLING;

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 :

RESULT_ENTITIES_GET;[]

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

ENTITIES_INSERT;

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

ENTITY_INSERT;string

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.

{
entityType: string?,
}

Format de la commande

ENTITY_MODELS_GET; \
filters: EntityModelsGetFiltersCommandDataType

Exemple

ENTITY_MODELS_GET;{}

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

ENTITY_PLAY_MOTION;

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

ENTITY_PROCESS;string

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

ENTITY_SEQUENCE_ACTION;

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

{
rawYaw: bool?,
}

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

ENTITY_TO_TAG;sequence

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

EXPORT_SEQUENCE_CSV;

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

FOCUS_OBJECT;90543

Résultat

FOCUS_OBJECT;

Exemple :

RESULT_FOCUS_OBJECT;

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

{
status: int,
}

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

FOLLOW_TRACKED_OBJECT;

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

LEARN_TO_CONTROL_MEMBER;

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

LOAD_VIDEO;

Exemple :

RESULT_LOAD_VIDEO;

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

LOCATE_TARGETS;sequence

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

LOCATE_TARGET_MINUS;

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

MEMBER_TO_STATE;sequence

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

MULTI_POD_WALK;sequence

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

OBJECTS_CLEAR; \

Exemple

OBJECTS_CLEAR;

Résultat

OBJECTS_CLEAR;

Exemple :

RESULT_OBJECTS_CLEAR;

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

OBJECTS_DETECT;

Exemple :

RESULT_OBJECTS_DETECT;

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

OBJECTS_GET;{"zone": {}}

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 :

RESULT_OBJECTS_GET;[]

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

OBJECTS_INSERT;[]

Résultat

OBJECTS_INSERT;list[string]

Exemple :

RESULT_OBJECTS_INSERT;[]

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

OBJECTS_REMOVE;

Exemple :

RESULT_OBJECTS_REMOVE;

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

OBJECT_INSERT;string

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.

{
objectId: string?,
}

Format de la commande

OBJECT_MODELS_GET; \
filters: ObjectModelsGetFiltersCommandDataType?

Exemple

OBJECT_MODELS_GET;{}

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

PING; \

Exemple

PING;

Résultat

PING;string

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

PLACES_GET;{"zone": {}}

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 :

RESULT_PLACES_GET;[]

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

PLACE_INSERT;"62";{};{};

Résultat

PLACE_INSERT;string

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.

{
placeId: string?,
}

Format de la commande

PLACE_MODELS_GET; \
filters: PlaceModelsGetFiltersCommandDataType?

Exemple

PLACE_MODELS_GET;{}

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

PLACE_REMOVE;boolean

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

PLAY_SEQUENCE;sequence

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

PLAY_STATE_OUTPUTS;

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

PURGE_OBJECTIVES; \

Exemple

PURGE_OBJECTIVES;

Résultat

PURGE_OBJECTIVES;

Exemple :

RESULT_PURGE_OBJECTIVES;

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

RS_EMERGENCY_STOP;

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

RS_STOP_ALL_MOVMENT;

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

{
rawYaw: bool?,
}

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

START_VIDEO_RECORD;

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

STOP_VIDEO_RECORD;

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

TARGET_TO_SAND;

Exemple :

RESULT_TARGET_TO_SAND;

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

TELL_THIS;sequence

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

TERRASSEMENT;

Exemple :

RESULT_TERRASSEMENT;

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

UPDATE_FLOOR_ROTATION;

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

UPDATE_PROPELLERS;

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

UPDATE_TRANSLATIONS;

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

UPDATE_WHEELS;

Exemple :

RESULT_UPDATE_WHEELS;

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

UPDATE_WHEELS_POWER;

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

VISION_DETECT;

Exemple :

RESULT_VISION_DETECT;

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

VOCAL_PHONE_CALL_TEST;

Exemple :

RESULT_VOCAL_PHONE_CALL_TEST;

If an error occurred, the resulting message will be:

__CSC_MSG_EXEC_ERROR;<error message>