Modules - Standard v0.2
The intention of this standard is to keep internal coherence and compatability with RoboticsLab robot Modules who follow this standard (such as Asibot implemented Modules). It is intended to be a description of existing and future modules, their interfaces and data flow representation. Port interface is referred to TCP/UDP/MCAST/SHMEM cloud side, not CAN or USB (that can coexist in hardware-related modules). Current dependencies are on YARP 2.2.6 compiled with ACE 5.7.1.0.
Nomenclature: D for double, I for integer, S for string.
Drivers
These modules should recieve joint (q) commands. While any q is in movement, a callback should be a set up to be able to receive Stop or Status Poll command. On the other hand, the module should send a message when a command has been performed (w/ info on degree of accomplishment) or stopped.
Module: drv_name
Port: name_q In: - Stop: "I:-1" (bottle_q_i) - Status poll: "I:0" (bottle_q_i) - Absolute position: "I:1 S:tag1 D:Q1pos ... S:tagn D:Qnpos D:Qgenvel" (bottle_q_i) - Relative position: "I:2 S:tag1 D:Q1pos ... S:tagn D:Qnpos D:Qgenvel" (bottle_q_i) - Velocity: "I:3 S:tag1 D:Q1vel ... S:tagn D:Qnvel" (bottle_q_i) - Syncronize: "I:4 S:tag1 D:Q1vel ... S:tagn D:Qnvel" (bottle_q_i) Out: - Status Response: "I:stat D:Q1pos ... D:Qnpos" (bottle_q_o) Units: Degrees, Percentage based on max degrees per second, ¿¿N/m or A??. Tags: q1, q2, ..., qn.
Implemented Drivers: drv_fake: A stand-alone module that simulates a 5 DOF, no joint-limited robot. read more... drv_ml: A module that passes standard v0.2 commands to Marilou ASIBOT. read more... drv_rave: A module that instantiates a OpenRAVE kitchen with ASIBOT environment. read more...
Filters
Hmi
This groups GUIs, voice recognition modules...
Learning
Trajectory
This module should be able to take the description from a file and generate joint solutions for proposed cartesian goal.
Module: trj_name Port: name_xi_io - Data: bottle_xi_io "I:code D:X D:Y D:Z D:ROLL D:PITCH D:YAW D:genvel" Port: name_q_io - Data: bottle_q_o "I:code D:Q1pos ... D:Qnpos D:Qgenvel" - Data: bottle_q_o "I:code D:Q1vel ... D:Qnvel" - Data: bottle_q_i "I:code D:Q1pos ... D:Qnpos"
Code: - 10: Read absolute position, base coordinate - 11: Absolute position with wait, base coordinate - 12: Relative position with wait, base coordinate - 13: Relative position with wait, tool coordinate - 14: Absolute position without wait, base coordinate - 15: Relative position without wait, base coordinate - 16: Relative position without wait, tool coordinate
Planning
Module: pln_name Ports:
Stabilizers
Module: stb_name Ports:
Tools
Module: tol_name Ports:
Vision
The output of this module is a cartesian goal (derived from a distance and orientation).
Module: vis_name Ports: name_xg_o - Data: bottle_xg_o "D:X D:Y D:Z D:ROLL D:PITCH D:YAW"