How-tos
Here are short sections that explain some concepts in more detail.
Blending parameters
Different robot brands vary in how they accept blending parameters, or if they support blending at all. As explained in the Waypoint section, how to interpret the blend radius for each waypoint depends on the robot in use:
Single-valued TCP blending
This is the type of blending that most commercial-off-the-shelf robots support. As an example, this value is what you would use in the Zone argument for an ABB MoveJ instruction.
Note that with this type of blending, the first and second value in the BlendRadius tuple is guaranteed to be equal and always expressed in meters in 3D space.
Single-valued TCP blending example
Separate entry and exit blend radius
For robots that accept separate blending values for the start and end of the blending motion, the first and second values of the BlendRadius
tuple are not necessarily equal.
The first value is the distance from the current waypoint to the blend entry point. The blend entry point lies on the robot trajectory between the previous and the current waypoint, and denotes where blending must start.
The second value is the distance from the current waypoint to the blend exit point. The blend exit point lies on the robot trajectory between the current and the next waypoint, and denotes where blending must end.
Blending from the blend entry point to the blend exit point is safe and guaranteed collision-free.
Blending example with a separate entry and exit blend radius
Note that, as explained in the Waypoint section, whether an entry/exit blend radius is expressed in joint space or in 3D space depends on the movement type of the path segment that corresponds to the entry/exit value. For a given waypoint, the movement type that corresponds to the entry radius is the movement type of that given waypoint. While the movement type corresponding to the exit radius is the movement type of the next waypoint in the trajectory.
How to modify the robot model
The starting point for modifying the robot model is the UserConfiguration.yml file. The user configuration file contains a list of URDF files that defines the robot kinematics, and the URDF files refer to robot geometry in mesh files.
The URDF files and meshes are organized in packages.
A URL to a file in a package has the format package://<package_name>/path/relative/to/package.
All packages are located in the folder ~/.local/share/Motion/packages.
The data files used by the Zivid Motion planner must be regenerated after any changes to the robot model. See the Quickstart article for instructions on how to re-generate.