Difference between revisions of "Modules - Command Format"

From Asibot & HOAP3 & TEO Wiki
Jump to navigation Jump to search
Line 17: Line 17:
 
   
 
   
 
  In:
 
  In:
  - Stop:              "I:-1" (bottle_q_i)
+
  - Stop:              "I:-1"
  - Status poll:      "I:0" (bottle_q_i)
+
  - Status poll:      "I:0"
  - Absolute position: "I:1 S:tag1 D:Q1pos ... S:tag''n'' D:Q''n''pos D:Qgenvel" (bottle_q_i)
+
  - Absolute position: "I:1 S:tag1 D:Q1pos ... S:tag''n'' D:Q''n''pos D:Qgenvel"
  - Relative position: "I:2 S:tag1 D:Q1pos ... S:tag''n'' D:Q''n''pos D:Qgenvel" (bottle_q_i)
+
  - Relative position: "I:2 S:tag1 D:Q1pos ... S:tag''n'' D:Q''n''pos D:Qgenvel"
  - Velocity:          "I:3 S:tag1 D:Q1vel ... S:tag''n'' D:Q''n''vel" (bottle_q_i)
+
  - Velocity:          "I:3 S:tag1 D:Q1vel ... S:tag''n'' D:Q''n''vel"
  - Force:            "I:4 S:tag1 D:Q1amp ... S:tag''n'' D:Q''n''amp" (bottle_q_i)
+
  - Force:            "I:4 S:tag1 D:Q1amp ... S:tag''n'' D:Q''n''amp"
  - Syncronize:        "I:5 S:tag1 D:Q1vel ... S:tag''n'' D:Q''n''vel" (bottle_q_i)
+
  - Syncronize:        "I:5 S:tag1 D:Q1vel ... S:tag''n'' D:Q''n''vel"
 
   
 
   
 
  Out:
 
  Out:
  - Status Response:  "I:stat D:Q1pos ... D:Q''n''pos" (bottle_q_o)
+
  - Status Response:  "I:stat D:Q1pos ... D:Q''n''pos"
 
   
 
   
  Units: Degrees, Percentage based on max degrees per second, ¿¿N/m or A??.
+
  Units: Degrees, Percentage of maximum degrees per second, Amperes
 
   
 
   
  Tags: q1, q2, ..., q''n''.
+
  Example Tags: q1, q2, ..., q''n''.
  
 
  Implemented JMCs:
 
  Implemented JMCs:

Revision as of 17:20, 9 June 2010

Module Standard v0.3 - Command Format
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 corresponds to Module Standard v0.3 and replaces v0.1 and v0.2. It is intended to be a description of module 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). A referenced list of implemented modules should also be included. Be sure to check the Modules - Dependency Version page too.
Nomenclature: D for double, I for integer, S for string.

Joint Motion Controllers (JMC)

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: jmc_name
Port: name_q

In:
- Stop:              "I:-1"
- Status poll:       "I:0"
- Absolute position: "I:1 S:tag1 D:Q1pos ... S:tagn D:Qnpos D:Qgenvel"
- Relative position: "I:2 S:tag1 D:Q1pos ... S:tagn D:Qnpos D:Qgenvel"
- Velocity:          "I:3 S:tag1 D:Q1vel ... S:tagn D:Qnvel"
- Force:             "I:4 S:tag1 D:Q1amp ... S:tagn D:Qnamp"
- Syncronize:        "I:5 S:tag1 D:Q1vel ... S:tagn D:Qnvel"

Out:
- Status Response:   "I:stat D:Q1pos ... D:Qnpos"

Units: Degrees, Percentage of maximum degrees per second, Amperes

Example Tags: q1, q2, ..., qn.
Implemented JMCs:

jmc_rave: A module that instantiates a OpenRAVE kitchen with ASIBOT environment. read more...


Cartesian Motion Controllers (CMC)

Module: cmc_name
Port: name_x

In:
- Stop:              "I:-1" (bottle_q_i)
- Status poll:       "I:0" (bottle_q_i)
- Absolute position (base): "I:1 S:tag1 D:pos1 ... S:tagn D:Qnpos D:Qgenvel" (bottle_q_i)
- Relative position (base): "I:2 S:tag1 D:pos1 ... S:tagn D:Qnpos D:Qgenvel" (bottle_q_i)
- End-effector position: