Difference between revisions of "Modules - Standard v0.1"
Jgvictores (talk | contribs) m |
Jgvictores (talk | contribs) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
'''<u>Important Notice</u>: This standard has been replaced by [[Modules - Standard v0.2]].''' | '''<u>Important Notice</u>: 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 | + | 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 [http://roborepo.uc3m.es/w/index.php/Talk:A_Standard_for_Modules 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. | Nomenclature: D for double, I for integer, S for string. |
Latest revision as of 10:20, 2 June 2010
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
- svn co http://roborepo.uc3m.es/svn/ASIBOTcoderepo/trunk/drivers/drv_can
- TODO: 5: Velocity without wait
dynamics
Module: dyn_name Ports:
hmi
This groups GUIs, voice recognition modules...
Module: hmi_name Ports: any input and output from other modules
- svn co http://roborepo.uc3m.es/svn/ASIBOTcoderepo/trunk/hmi/hmi_3d
- TODO: Must adapt to this new standard.
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"