Expand description
Supports concept of the frame that is common in robotics. Transform frame allows to compute or prepare by hand joint positions of the robot once, for some “standard” location. If the target the robot needs to work with moves somewhere else, it is possible to define a “Frame”, specifying this target displacement (most often specifying 3 points both before and after displacement). The common example is robot picking boxes from the transportation pallets: the same box picking program can be used for picking from different pallets by specifying a new transport frame each time.
The main functionality of the Frame is to use the “standard” joint positions for finding the new joint position, as they would be required after applying the frame. The Frame in this package also implements the Kinematics trait if such would be required.
Structs§
- Colinear
Points - Defines error when points specified as source or target for creating the frame are colinear (on the same line). Such points cannot be used to create the frame. The exact values of the points in question are included in the error structure and printed in the error message.
- Frame
- Defines the frame that transforms the robot working area, moving and rotating it (not stretching). The frame can be created from 3 pairs of points, one defining the points before transforming and another after, or alternatively 1 pair is enough if we assume there is no rotation.
- NotIsometry
- Struct to hold six points that still do not represent a valid isometry. It implements Error, containing at the same time six 3D points from whom the isometry cannot be constructed.
Functions§
- is_
valid_ isometry - Function to check if 3 pairs of points define a valid isometry.