The robotics community agreed on a simple model for designing robots. It is about joins and links.
Source: https://robotics.kawasaki.com/ja1/xyz/en/1804-03/
A join connects at least two links and provides zero or more degrees of freedom (DOF) for motion.
The motion is about transformations, via the right hand rules (compare Wikipedia), 3D cartesian coordinate system (aka space). These motions are also called kinematics.
Source: https://de-manual.elcovision.com/koordinatensystem-definieren.html
If multiple joins are available the (relative) interdependency parameters are formalized by the Denavit-Hartenberg (DH) parameter (matrix).
The DH matrix has the following components (a row)
- d: length of z axis from center of join A to center of join B
- Ɵ: angle between link of A and link of B
- r: length to x axis from center of join A to center of join B
- 𝛼: angle for the orientation of the z-axis from A to B
Videos on DH parameters can be found on YouTube e.g, https://www.youtube.com/watch?v=rA9tm0gTln8
The overall (all joints) transformation matrix, used as multiplicator for movements, can be created e-g-, on the following site: https://prajankya.me/dh/
The ROS community, in parallel, defined the URDF digital twin XML format. Further details can be found here: http://wiki.ros.org/urdf/XML and https://github.com/ros/urdfdom/blob/master/xsd/urdf.xsd. Both URDF and DH parameters can be translated to each other. Varies tools are available e.g., https://adohaha.github.io/DH2URDF/
ROS defines varies join an dlink types, compare
Example: Due to this site here, a movable robot has wheel joints from type revolute joints. Revolute joints cause rotational motion. The wheel joints in the photo connect the wheel link to the base link.
Due to this site here does ROS also define an alternative representation called “TF” (akak Transform), as used for the default ROS topic of name “robot_description”. Both URDF and TF define a tree of links and joints. The names for links in TF are “frames” and for “joints” it is “transforms”.
Due to https://articulatedrobotics.xyz/mobile-robot-2-concept-urdf/ the ROS digital twin (default) pipeline is as follows:
Source: https://articulatedrobotics.xyz/mobile-robot-2-concept-urdf/
Sub-clause: The ROS tool xacro (aka XML macro) allows splitting up code into multiple files, avoiding duplicate code.