Difference between revisions of "Modules - Command Format"
Jump to navigation
Jump to search
Jgvictores (talk | contribs) (→Sensor) |
Jgvictores (talk | contribs) |
||
Line 18: | Line 18: | ||
In: | In: | ||
- Stop: "I:-1" | - Stop: "I:-1" | ||
− | - Status poll: "I:0" | + | - Status poll: "I:0 (S:verb D:''verb''=0)" |
− | - Absolute position: "I:1 S:tag1 D: | + | - Absolute position: "I:1 S:''tag1'' D:''pos1'' ... S:''tagn'' D:''posn'' (S:vgen D:''vgen''=100)" |
− | - Relative position: "I: | + | - Relative position: "I:1 S:''tag1'' D:''pos1'' ... S:''tagn'' D:''posn'' (S:vgen D:''vgen''=100)" |
− | - Velocity: "I:3 S:tag1 D: | + | - Velocity: "I:3 S:''tag1'' D:''vel1'' ... S:''tagn'' D:''veln''" |
− | - Force: "I:4 S:tag1 D: | + | - Force: "I:4 S:''tag1'' D:''amp1'' ... S:''tagn'' D:''ampn''" |
- Syncronize: "I:5 S:tag1 D:Q1vel ... S:tag''n'' D:Q''n''vel" | - Syncronize: "I:5 S:tag1 D:Q1vel ... S:tag''n'' D:Q''n''vel" | ||
Out: | Out: | ||
− | - Status | + | - Status response: "I:stat S:tag1 D:Q1pos ... S:tag1 D:Q''n''pos" |
Units: Degrees, Percentage of maximum degrees per second, Amperes | Units: Degrees, Percentage of maximum degrees per second, Amperes | ||
Line 35: | Line 35: | ||
'''jmc_rave''': A module that instantiates a OpenRAVE kitchen with ASIBOT environment. [[Asibot_-_Implemented_Modules#jmc_rave_.28Ubuntu_.2F_Windows.29|read more...]] | '''jmc_rave''': A module that instantiates a OpenRAVE kitchen with ASIBOT environment. [[Asibot_-_Implemented_Modules#jmc_rave_.28Ubuntu_.2F_Windows.29|read more...]] | ||
− | |||
== Cartesian Motion Controllers (CMC) == | == Cartesian Motion Controllers (CMC) == |
Revision as of 14:08, 11 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 (S:verb D:verb=0)" - Absolute position: "I:1 S:tag1 D:pos1 ... S:tagn D:posn (S:vgen D:vgen=100)" - Relative position: "I:1 S:tag1 D:pos1 ... S:tagn D:posn (S:vgen D:vgen=100)" - Velocity: "I:3 S:tag1 D:vel1 ... S:tagn D:veln" - Force: "I:4 S:tag1 D:amp1 ... S:tagn D:ampn" - Syncronize: "I:5 S:tag1 D:Q1vel ... S:tagn D:Qnvel" Out: - Status response: "I:stat S:tag1 D:Q1pos ... S:tag1 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" - Status poll: "I:0" - Absolute position (base): "I:1 S:tag1 D:pos1 ... S:tagn D:Qnpos D:Qgenvel" - Relative position (base): "I:2 S:tag1 D:pos1 ... S:tagn D:Qnpos D:Qgenvel" - End-effector position: "I:3 S:tag1 D:pos1 ... S:tagn D:Qnpos D:Qgenvel"
Sensor
Module: sns_name
Port: name_info In: - Status poll: "I:0" Out: - Status response: "I:0 S:tag1 D:value1 ... S:tagn D:valuen" Example Tags: accX, accY, accZ, gyrX, gyrY, gyrZ, magX, magY, magZ