Difference between revisions of "Modules - Standard v0.2"
Jgvictores (talk | contribs) |
Jgvictores (talk | contribs) m |
||
Line 1: | Line 1: | ||
− | The intention of this standard is to keep internal coherence and compatability with RoboticsLab robot Modules | + | The intention of this standard is to keep internal coherence and compatability with RoboticsLab robot Modules which 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. | Nomenclature: D for double, I for integer, S for string. |
Revision as of 10:55, 25 May 2010
The intention of this standard is to keep internal coherence and compatability with RoboticsLab robot Modules which 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"