Fuse the robot pose measured by all the available cameras and use it to compute the velocity commands that need to be sent to the robot in order to execute a given task.
This service depends on the following services:
:incoming_envelope: topic: RobotController.{robot_id}.SetTask :gem: schema: RobotTaskRequest | :incoming_envelope: topic: {request.reply_to} :gem: schema: RobotTaskReply | [RPC] Configure the current task to be executed. |
:clock5: interval: {RobotTask.rate} | :incoming_envelope: topic: RobotController.{robot_id}.Progress :gem: schema: RobotControllerProgress | [Stream] Periodically publishes the progress of the current task being executed. The period is determined by the task sampling rate. |
{robot_id} = robot id passed in the configuration file.
{RobotTask.rate} = rate configured by the user when making a SetTask RPC.
The behavior of the service can be customized by passing a JSON configuration file as the first argument, e.g: ./service config.json. The schema and documentation for this file can be found in src/is/robot-controller/conf/options.proto. An example configuration file can be found in etc/conf/options.json.
An example on how to configure a task and then watch its progress is provided by the python script in examples/client.py.
Content type
Image
Digest
Size
44.9 MB
Last updated
almost 8 years ago
docker pull labviros/is-robot-controller:0.0.3