Joint Calibrator

Robots can be precisely calibrated using the Petoi Desktop App.

** Download the latest version of the Petoi Desktop APP. **

  • After downloading the compressed file(.zip), please unzip it first.

  • Do NOT move the UI.exe to another location in Windows.

Petoi Desktop App works on both Nybble and Bittle controlled by NyBoard based on ATmega328P or Bittle X controlled by BiBoard based on ESP32.

For NyBoard, more detailed documentation can be found at NyBoard V1_0, NyBoard V1_1, or NyBoard V1_2 (which is similar to NyBoard V1_1).

Prepare for calibration

Only software version 2.0 can calibrate the joints via this App.

Plug in the battery and press the battery button for 3 seconds to power on the robot.

There are two methods to connect to the computer:

  • The USB data cable connection must be made directly to the BiBoard, not to the battery's charging port.

  • You can also connect to the computer via Bluetooth.

For BiBoard, please ensure the program enters the regular startup mode.

The rationale for calibration

Understand the zero state and the coordinate system

After entering the calibration state, with all servos rotated to their zero angles, attach the head, tail, and legs prepared in the previous section to the body. They are generally perpendicular to their linked body frames. The calibration pose is shown below:

Nybble's Calibration State

Install the servo-related components according to the picture above and try to ensure that they are perpendicular to each other (the upper leg is perpendicular to the torso, and the lower leg is perpendicular to the upper leg).

Rotating the limbs counter-clockwise from their zero states will be positive (same as in polar coordinates). Viewed from the left side of the robot's body, the counter-clockwise rotation of the joint is defined as the positive direction.

The only exception is the tilt angle for the head of Nybble. It’s more natural to say head up, while it’s the result of rotating clockwise.

However, from the right side of the robot's body, the rotation directions' positive and negative are just opposite.

Discrete angular intervals

If we look closer at the servo shaft, we can see it has a certain number of teeth. That’s for attaching the servo arms and avoiding sliding in the rotational direction. In our servo sample, the gears divide 360 degrees into 25 sectors, each taking 14.4 degrees(offset of -7.2~7.2 degrees). That means we cannot always get a perfect perpendicular installation.

Calibration process

Enter the calibration state

You must connect the battery to the mainboard and long-press the battery button for more than 3 seconds to power on the robot.

After a battery powers on the robot, there are two methods to enter the calibration state:

  • It will enter the calibration state automatically when you click the Joint Calibrator button.

  • Click the Calibrate button in the Joint Calibrator interface.

The servo slider is not available in the light yellow background area in the interface.

The joint calibration interface for Nybble Q in the Petoi Desktop App is as follows:

The interface for Nybble Q

Fine-tuning

Please use the L-shaped calibration tool included in the package as a calibration reference. According to the joint numbers shown in the picture within the calibration interface, drag the corresponding sliders or click on the blank areas of the slider tracks to fine-tune the joints to a right angle.

Please note that when calibrating the servos, adjust the upper leg first, then change the lower leg.

If the offset exceeds ±9 degrees, you must remove the corresponding leg and reinstall it by rotating one tooth and then dragging the corresponding slider. For example, if it is adjusted to +9 and still not correct, remove the corresponding leg and shift it one tooth when reattaching it. Then, you should get a smaller offset in the opposite direction.

Validation and Save data

Nybble

You can switch between "Rest", "Stand up" and "Walk" to test the calibration effect.

If you want to continue calibrating, please click the Calibration button, and the robot will be in the calibration state again (all servos will move to the calibration position immediately).

After calibration, remember to click the "Save" button to save the calibration offset. Otherwise, click the "Abort" button to abandon the calibration data. You can save the calibration in the middle in case your connection is interrupted.

When you close this window, there is a message box shown below:

To save the calibration data, please click the "Yes" button; otherwise, click the "No" button. Click the "Cancel" button to cancel or quit.

Last updated