iol
|
The module managing all the components of the IOL application.
The module managing all the components of the IOL application.
This module is responsible for coordinating all the components that form the overall State Machine Handler application. To this end, it receives input from the human operator and then forwards proper requests to the classifier, the blob detector, the motion caputer, the motor layer to let the robot achieve the goal.
The commands sent as bottles to the module port /<modName>/human:rpc are the following:
(notation: [.] identifies a vocab, <.> specifies a number, "." specifies a string)
HOME
format: [home]
action: brings the robot back to its resting state.
CALIB_TABLE
format: [cata]
action: let the robot discover the table height.
CALIB_KINEMATICS
This command is splitted in two consecutive sub-commands:
format subcmd1: [caki] [start] [left]/[right] "object"
action: the robot reaches the object "object" with the specified hand and waits for the interaction with human based on force control in order to store the kinematic offsets corresponding to the given object.
format subcmd2: [caki] [stop]
action: terminate the calibration phase.
TRACK
format: [track] [start]/[stop]
action: let the robot track any moving object.
NAME
format: [name] "object"
action: let the robot learn a name to be associated with the object that was tracked right before.
FORGET
format: [forget] "object"
action: remove the object from the internal memory.
The special key "all" is used to purge the whole memory.
WHERE
format: [where] "object"
action: ask the robot to point at the given object.
If no_object/wrong is recognized then the robot enters the learning phase, where further commands are envisaged: i.e. [ack], [nack], [skip], ...
WHAT
format: [what]
action: ask the robot to say the name of the pointed object.
In case of a mistake the robot enters the learning phase where further commands are envisaged: i.e. [ack], [nack], [skip], [name], ...
THIS
format: [this] "object" ["click"]
action: tell the robot the name of the pointed object.
In case the option "click" is specified, then the location clicked in the clickable viewer will be used rather than the one resulting from the pointing action.
EXPLORE
format: [explore] "object"
action: let the robot explore the object from many different view points in order to improve its knowledge.
REINFORCE
format: [reinforce] "object" (<x> <y> <z>)
action: let the robot improve the recognition rate of the specified object whose 3d coordinates are provided.
MOTOR_COMMANDS
format: [take]/[grasp]/[push]/[touch]/[hold]/[drop] "object"
action: ask the robot to perform some motor commands on the given object.
ATTENTION
format: [attention] [start]/[stop]
action: switch on/off the attention system.
SAY
format: [say] "sentence"
action: let the robot utter the specified sentence.
The commands sent as bottles to the module port /<modName>/rpc are the following:
(notation: [.] identifies a vocab, <.> specifies a double, "." specifies a string)
STATUS
format: [status]
reply: "ack" "idle" | "busy" whether an action is currently being processed or not.
–name name
–rt_localization_period period
–exploration_period period
–memory_update_period period
–blobs_detection_timeout tmo
–camera [left|right]
–skim_blobs_x_bounds (min max)
–skim_blobs_y_bounds (min max)
–classification_threshold t
–improve_train_period T
–train_flipped_images [on|off]
–train_burst_images [on|off]
–skip_learning_upon_success [on|off]
–hist_filter_length len
–block_eyes ver
–drop_position (x y z)
–tracker_type type
–tracker_timeout tmo
–tracker_min_blob_size (min max)
–attention [on|off]
Windows, Linux