Software Package Overview

Below the main software packages used for to the TriFinger robots are listed. See How to Install the Software on how to install them. Note that the installation will include some additional utility packages from the ODRI project. Below are only the packages that are specifically written for the TriFinger robots.


# to view while editing, use `dot -Tpng package_relationship.dot | display`
digraph PACKAGES {
    edge [style=dashed fontsize=10];

    # invisible edge to make the robot_interfaces node appear on top
    robot_interfaces -> robot_fingers [style=invis];

    entry [label="entry point\nfor users" shape=none];

    entry -> robot_fingers [style=solid];
    entry -> trifinger_simulation [style=solid];
    robot_fingers -> robot_interfaces [label="interface\ndefinition"];
    robot_fingers -> blmc_drivers [label="hardware\ncommunication"];
    robot_fingers -> trifinger_cameras [label="camera\naccess"];
    robot_fingers -> trifinger_object_tracking [label="camera + \nobject tracking"];
    robot_fingers -> robot_properties_fingers [label="forward/inverse\nkinematics"];
    trifinger_cameras -> robot_interfaces [label="interface\ndefinition"];

    # only for some example scripts, so not really worth adding here
    #trifinger_object_tracking -> robot_properties_fingers [label="forward/inverse\nkinematics"];

    trifinger_object_tracking -> trifinger_cameras [label="camera\naccess"];
    trifinger_simulation -> robot_properties_fingers [label="robot model"];
}

  • robot_interfaces — [source | docs]

    Generic interface for the frontend-backend-system through which the user communicates with the robot.

  • robot_fingers — [source | docs]

    Robot-specific driver implementations for using the TriFinger robots with the robot_interfaces framework.

  • robot_properties_fingers — [source | docs]

    Contains the robot models (URDF and meshes) of all (Tri-)Finger robots.

  • blmc_drivers — [source | docs]

    Low-level drivers for communicating with CAN-based robots of the ODRI project.

  • trifinger_simulation — [source | docs]

    PyBullet simulation of the robots. This can also be used as stand-alone Python package. It provides an interface that is mostly identical to the one of the real robot (there are some differences, see the package documentation).

  • trifinger_cameras — [source | docs]

    Driver for the Basler cameras that are used in the TriFingerPro boxes. Using the sensor interface of robot_interfaces.

  • trifinger_object_tracking — [source | docs]

    Object tracking for the coloured cuboids that are, for example, used in the Real Robot Challenge. The object tracking is integrated into the camera driver, so this package contains a drop-in replacement for the driver of trifinger_cameras, which also provides the object pose in its observations.

  • trifinger_singularity — [source]

    Contains the definition files for the Apptainer/Singularity images which can be used for building/running the software. Images are built and hosted on GitHub, see the README of the repository on how to pull them.

    Also see the README for a description of the different images that are provided.