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

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 who follow this standard. It is intended to be a description of exis…')
 
Line 7: Line 7:
 
  Module: drv_''name''
 
  Module: drv_''name''
 
  Ports: ''name''_q_io  
 
  Ports: ''name''_q_io  
   - Data: bottle_q_i "I:code D:Q1pos ... D:Q''n''pos D:Qgenvel"
+
   - Data: bottle_q_i "I:code S:tag1 D:Q1pos ... S:tag''n'' D:Q''n''pos D:Qgenvel"
 
   - Data: bottle_q_i "I:code D:Q1vel ... D:Q''n''vel"
 
   - Data: bottle_q_i "I:code D:Q1vel ... D:Q''n''vel"
 
   - Data: bottle_q_o "I:code D:Q1pos ... D:Q''n''pos"
 
   - Data: bottle_q_o "I:code D:Q1pos ... D:Q''n''pos"
 +
  - Data: bottle_q_o "I:code I:Q_to_sync"
  
 
  Code:
 
  Code:
 
   - -1: Stop
 
   - -1: Stop
 
   - 0: Encoder read
 
   - 0: Encoder read
   - 1: Relative position with wait
+
   - 1: Absolute position with wait
   - 2: Absolute position with wait
+
   - 2: Relative position with wait
 
   - 3: Relative position without wait
 
   - 3: Relative position without wait
 
   - 4: Absolute position without wait
 
   - 4: Absolute position without wait
 
   - 5: Velocity without wait
 
   - 5: Velocity without wait
   - 5''x'': Syncronize motor ''x''
+
   - 6: Syncronize motor
  
 
* svn co http://roborepo.uc3m.es/svn/ASIBOTcoderepo/trunk/drivers/drv_can  
 
* svn co http://roborepo.uc3m.es/svn/ASIBOTcoderepo/trunk/drivers/drv_can  

Revision as of 13:23, 22 March 2010

The intention of this standard is to keep internal coherence and compatability with RoboticsLab robot modules who follow this standard. It is intended to be a description of existing and future modules, their interfaces and data flow representation. For a debate on open issues, go to the discussion tab. Port interface is referred to TCP/UDP/MCAST/SHMEM cloud side, not CAN or USB (that can coexist in hardware-related modules).

Nomenclature: D for double, I for integer, S for string.

drivers

These modules should recieve joint position commands, in relative and absolute degrees.

Module: drv_name
Ports: name_q_io 
 - Data: bottle_q_i "I:code S:tag1 D:Q1pos ... S:tagn D:Qnpos D:Qgenvel"
 - Data: bottle_q_i "I:code D:Q1vel ... D:Qnvel"
 - Data: bottle_q_o "I:code D:Q1pos ... D:Qnpos"
 - Data: bottle_q_o "I:code I:Q_to_sync"
Code:
 - -1: Stop
 - 0: Encoder read
 - 1: Absolute position with wait
 - 2: Relative position with wait
 - 3: Relative position without wait
 - 4: Absolute position without wait
 - 5: Velocity without wait
 - 6: Syncronize motor


dynamics

Module: dyn_name
Ports:

hmi

This groups GUIs, voice recognition modules...

Module: hmi_name
Ports: any input and output from other modules

kinematics/trajectory

This module should be able to take the description from a file and generate joint solutions for proposed cartesian goal.

Module: kin/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:

stabilizer

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"