Mounting the Sensor on Your Gripper
Use the mounting adapter that shipped with your sensor. For flat-face grippers (Robotiq 2F, custom 3D-printed): apply the adhesive pad to the gripper fingertip, press the sensor firmly for 30 seconds, then secure with M2 screws through the corner holes. Allow adhesive to fully cure (30 minutes minimum) before applying any load.
For curved fingertips (Allegro, Orca Hand fingerpads): use the conformable adhesive mount (included). The sensor body is flexible enough to conform to curves up to 20 mm radius.
Routing USB Cables Along the Arm
Route the sensor USB-C cable along the arm link toward the wrist, then up the forearm to a USB hub mounted at the last link before the end-effector. Use spiral cable wrap or adhesive cable clips (not included). Key rules:
- Leave 15 cm of slack at each joint that rotates — the cable must not be taut at any joint angle in the arm's workspace.
- Route cables parallel to the arm links, not diagonally — diagonal routing creates torque on joints.
- Secure cable clips every 10–15 cm to prevent the cable from catching on obstacles during arm motion.
- The USB hub at the wrist should be rigidly mounted (not floating) to prevent connector stress during rapid movements.
Synchronized Recording with MultiSourceSync
The MultiSourceSync class accepts callbacks for each data source and yields time-aligned tuples. Implement the arm interface by wrapping your arm SDK's joint state reader:
Verifying Sync Quality
Before recording your real dataset, verify that timestamps are aligned within your tolerance. The SDK provides a sync diagnostics function:
If max_dt_ms is above 10 ms, your arm SDK is returning stale joint state. Check that the arm SDK polling rate matches the sensor rate. For ROS2-based arms, ensure the joint state publisher is not being throttled by message queue depth.
Unit 3 Complete When...
The Gen3 sensor is physically mounted on your gripper with all cables secured and no slack under tension. python -m paxini.discover still finds the sensor with the arm at various configurations. A 10-second synchronized recording completes without errors, and check_sync_quality() reports mean_dt_ms below 3.0 ms.