Modules - Standard v0.1

From Asibot & HOAP3 & TEO Wiki
(Redirected from A Standard for Modules)
Jump to navigation Jump to search
Important Notice: This standard has been replaced by Modules - Standard v0.2.
Most prominent changes are the use of tags in commands, and dropping _io, _i, _o suffixes.

The intention of this standard is to keep internal coherence and compatability with RoboticsLab robot Modules which 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 D:Q1pos ... D:Qnpos D:Qgenvel"
 - Data: bottle_q_i "I:code D:Q1vel ... D:Qnvel"
 - Data: bottle_q_o "I:code D:Q1pos ... D:Qnpos"
Code:
 - -1: Stop
 - 0: Encoder read
 - 1: Relative position with wait
 - 2: Absolute position with wait
 - 3: Relative position without wait
 - 4: Absolute position without wait
 - 5: Velocity without wait
 - 5x: Syncronize motor x


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"