Difference between revisions of "Modules - Command Format"

From Asibot & HOAP3 & TEO Wiki
Jump to navigation Jump to search
(Created page with '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…')
 
Line 3: Line 3:
 
  Nomenclature: D for double, I for integer, S for string.
 
  Nomenclature: D for double, I for integer, S for string.
  
== Joint Motion Controllers (jmc) ==
+
== 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.
 
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.
  

Revision as of 17:47, 1 June 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 replaces Modules - Standard v0.1. 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" (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:

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