Joint Tracker > Calibration and Identification

Joint Tracker

Calibration and Identification

Joint Tracker calibration collects encoder data and sends it to the Reforge Cloud API. Identification returns a persisted joint-controller model used by the Joint Tracker controller.

Step 1: Setup the SDK

Go over the First Steps from Get Started to generate your API token and robot ID and install the Reforge Robotics SDK.

Before continuing, confirm that you have:

  • The robot IP address.
  • The local PC IP address, if required by the robot SDK.
  • The robot SDK token, if required by the robot manufacturer.
  • The Reforge robot ID.
  • The Reforge API token.

Step 2: Run Calibration

Run calibration from the repository root:

bash
python3 -m robot.run calibrate \ <ROBOT_IP> \ --type joint_tracker \ --local_ip <LOCAL_IP> \ --sdk_token <ROBOT_SDK_TOKEN> \ --robot_id <REFORGE_ROBOT_ID> \ --freq 250 \ --identify <REFORGE_API_TOKEN>

In this branch, the CLI name for the Joint Tracker calibration workflow is joint_tracker. The --identify argument is required for this workflow because the calibration routine generates the model bundle through the Reforge identification service.

Example:

bash
python3 -m robot.run calibrate \ 192.168.1.231 \ --type joint_tracker \ --sdk_token <ROBOT_SDK_TOKEN> \ --robot_id <REFORGE_ROBOT_ID> \ --freq 250 \ --identify <REFORGE_API_TOKEN>

The command:

  1. Moves the robot through the joint-identification experiment.
  2. Saves the recorded calibration data under src/robot/data/.
  3. Uploads the recorded data to the Reforge identification service.
  4. Downloads the identified model bundle into src/robot/models/current/joint_tracker.

Use --help to inspect optional calibration arguments:

bash
python3 -m robot.run calibrate --help

Step 3: Re-run Identification for an Existing Data Folder

Normal Joint Tracker calibration should use --identify in the calibration command above. If you already have a compatible Joint Tracker data folder and need to re-run cloud identification, use:

bash
python3 -m robot.run identify \ <REFORGE_API_TOKEN> \ <REFORGE_ROBOT_ID> \ src/robot/data/<LOCAL_DATA_FOLDER>

After the cloud job completes, the model should be available in:

text
src/robot/models/current/joint_tracker

The runtime loader expects the bundle to contain a model_bundle.json and a joint-controller artifact such as joint_controller_models.json.

Continue with Control after the model bundle is available locally to learn how to use the Joint Tracker controller.


Previous

Quickstart