Difference between revisions of "Modules - Standard v0.2"

From Asibot & HOAP3 & TEO Wiki
Jump to navigation Jump to search
m
m
Line 3: Line 3:
 
  Nomenclature: D for double, I for integer, S for string.
 
  Nomenclature: D for double, I for integer, S for string.
  
== Drivers ==
+
=== 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.
 
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.
  
Line 31: Line 31:
 
  '''drv_rave''': A module that instantiates a OpenRAVE kitchen with ASIBOT environment. [[Asibot_-_Implemented_Modules#drv_rave_.5B3.5D|read more...]]
 
  '''drv_rave''': A module that instantiates a OpenRAVE kitchen with ASIBOT environment. [[Asibot_-_Implemented_Modules#drv_rave_.5B3.5D|read more...]]
  
== Filters ==
+
=== Filters ===
  
== Hmi ==
+
=== Hmi ===
 
This groups GUIs, voice recognition modules...
 
This groups GUIs, voice recognition modules...
  
== Learning ==
+
=== Learning ===
  
== Trajectory ==
+
=== Trajectory ===
 
This module should be able to take the description from a file and generate joint solutions for proposed cartesian goal.
 
This module should be able to take the description from a file and generate joint solutions for proposed cartesian goal.
 
  Module: trj_''name''
 
  Module: trj_''name''
Line 57: Line 57:
 
   - 16: Relative position without wait, tool coordinate
 
   - 16: Relative position without wait, tool coordinate
  
== Planning ==
+
=== Planning ===
 
  Module: pln_''name''
 
  Module: pln_''name''
 
  Ports:
 
  Ports:
  
== Stabilizers ==
+
=== Stabilizers ===
 
  Module: stb_''name''
 
  Module: stb_''name''
 
  Ports:
 
  Ports:
  
== Tools ==
+
=== Tools ===
 
  Module: tol_''name''
 
  Module: tol_''name''
 
  Ports:
 
  Ports:
  
== Vision ==
+
=== Vision ===
 
The output of this module is a cartesian goal (derived from a distance and orientation).
 
The output of this module is a cartesian goal (derived from a distance and orientation).
 
  Module: vis_''name''
 
  Module: vis_''name''
 
  Ports: ''name''_xg_o
 
  Ports: ''name''_xg_o
 
   - Data: bottle_xg_o "D:X D:Y D:Z D:ROLL D:PITCH D:YAW"
 
   - Data: bottle_xg_o "D:X D:Y D:Z D:ROLL D:PITCH D:YAW"

Revision as of 10:56, 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"