robot format
we want to move away from the old simox format and adopt the more standardized format urdf.
the urdf file alone does not contain enough information (e.g. mmmmarkers etc), so we have to deal with this.
a way to deal with it is to have one folder containing all our data and files.
This whole folder would be our robot description.
the advantage is that this would be more neatly arranges than one big file.
also since we always need the mesh files, we always have more than one file.
the goal of this discussion is to come up with data we need in our robot description and how we represent it.
here is my draft:
data (+ where to put it/how to store it):
- kinematic tree → urdf
- inertia + reference frame → urdf
- mass → urdf
- limits (pos, vel, torque) → urdf
- node sets → extra files (kinematic_chains)
- surfaces → extra files (surfaces)
- hw configs → extra files (hardware_config)
- sensors → extra files (sensors)
- meshes → one directory with subdirs (meshes)
- poses (joint configs for a node set, examples: see below) → extra files (poses)
poses are useful when we want to store some config which we use often. e.g.:
- standing statically stable on both feet / left leg / right leg
- arm extended (on Armar4 this is the zero pose, on Armar3 it is something else)
data without place/format:
- com position (could be different from the inertia reference fame)
- ef mapping (what is the name of the "left hand")
- default direction (what is the direction if the robot is at zero in world (our robots look in y, others look in x), in some cases required for walking)
- other custom per node data
- other custom per robot data
layout (prefix + represents a directory):
+ROBOTNAME_description
┣━━+urdf
┃ ┗━━ROBOTNAME.urdf (maybe split over multiple files)
┣━━+meshes
┃ ┣━━+visu
┃ ┃ ┗━━visu meshes (maybe subdirs for different formats)
┃ ┣━━+convex
┃ ┃ ┗━━convex hull meshes (maybe subdirs for different formats)
┃ ┗━━+stpbv
┃ ┗━━strict convex hull meshes (http://ieeexplore.ieee.org/document/6710113/)
┣━━+surfaces
┃ ┗━━files describing where a robot has surfaces (parent link + transform + points)
┣━━+kinematic_chains
┃ ┗━━our robot node sets (flat xml, one ore multiple sets per file)
┣━━+hardware_config
┃ ┗━━files used to initialize low level hw stuff
┗━━+sensors
┃ ┗━━files describing a sensor (flat xml, one ore multiple per file, with parent link)
┗━━+poses
┗━━files containing joint values for a node set (flat xml, one ore multiple per file)
other stuff to discuss:
- we cold continue to treat markers as sensors or put them into different files.
- what kind of sensors do we have?
- pos (markers)
- imu
- force torque
- camera (do we want to add them here?)
/edit 18.07.2017 added poses