-
Notifications
You must be signed in to change notification settings - Fork 29
Core Principles
This page explains the core principles of CROSS.
A robot is a collection of links and joints. It is the main object in CROSS when working with URDF (i.e. not Xacro).
Has a context menu.
A link is a rigid body that corresponds to a part of the robot.
The set of joints defines the kinematic chains of the robot. Only tree-structure are supported since this is also the case for URDF.
It is the main object in CROSS when working with Xacro files. This is the object that is best suited to add some elements such as sensors to an existing robot.
This object allows including a Xacro macro or a URDF file. Must be used in conjunction with a Workcell.
A pose allows placing an end-effector (or any other link) in the 3D view. The ability to get the inverse kinematics of the associated robot is not implemented yet.
Allows to get the obstacles used in a running system.
It is a ROS service client that calls the get_planning_scene
service.
Allows to move the robot along a trajectory.
The current use case is to get trajectories with ros2 topic echo /display_planned_path
(for example by redirecting the console output with ros2 topic echo /display_planned_path > /tmp/display_planned_path.yaml
) and load them with the context-menu of a trajectory in FreeCAD's document tree.
Has a context menu.
This is an object that listens to changes in the FreeCAD document and shows a green or red dot in the 3D view depending on the value of its Formula
property (red if 0 and green otherwise), which must be an expression.
The observer can be used to monitor other objects than those created with CROSS.
The following table shows the (non-trivial) equivalences between URDF- and CROSS features.
CROSS feature | URDF/Xacro feature | Explanation |
---|---|---|
Origin property of a joint |
origin tag of a joint |
Sets the transform between a joint and its parent |
MountedPlacement property of a link |
origin tag of a link/visual[^1] |
Sets the transform between the mesh coordinates and the link's origin[^2] |
Workcell | Xacro file | Allows to include other robot descriptions |
XacroObject |
include and macro:* tags |
Allows including and using one Xacro macro or a URDF |
Joint inside a Workcell |
joint tag |
Allows to create chains in the Xacro file |
RootLink property of a Workcell |
joint tag between the root link and the first link of the work-cell |
Adds a joint and the root link to the generated Xacro file if set |
[^1]: also the origin
tag of a link/collision
[^2]: more precisely, the transform between all geometry
tags and the link's origin