Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Generic calibration for robots
| Date | Stars |
|---|---|
| 2026-07-24 | 483 |
| 2026-07-25 | 483 |
| 2026-07-28 | 483 |
| 2026-07-30 | 483 |
| 2026-08-06 | 483 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# Robot Calibration This package offers several ROS2 nodes. The primary one is called _calibrate_, and can be used to calibrate a number of parameters of a robot, such as: * 3D Camera intrinsics and extrinsics * Joint angle offsets * Robot frame offsets These parameters are then inserted into an updated URDF, or updated camera configuration YAML in the case of camera intrinsics. Two additional ROS nodes are used for mobile-base related parameter tuning: * _base_calibration_node_ - can determine scaling factors for wheel diameter, track width and gyro gain by moving and rotating the robot while tracking the actual movement based on the laser scanner view of a wall. * _magnetometer_calibration_ - can be used to do hard iron calibration of a magnetometer. ## The _calibrate_ node Calibration works in two steps. The first step involves the capture of data samples from the robot. Each "sample" comprises the measured joint positions of the robot and two or more "observations". An observation is a collection of points that have been detected by a "sensor". For instance, a robot could use a camera and an arm to "detect" the pose of corners on a checkerboard. In the case of the camera sensor, the collection of points is simply the detected positions of each corner of the checkerboard, relative to the pose of the camera reference frame. For the arm, it is assumed that the checkerboard is fixed relative to a virtual ``checkerboard`` frame which is fixed relative to the end effector of the arm. Within the virtual frame, we know the ideal position of each point of the checkerboard corners since the checkerboard is of known size. The second step of calibration involves optimization of the robot parameters to minimize the errors. Errors are defined as the difference in the pose of the points based on reprojection throuhg each sensor. In the case of our checkerboard above, the transform between the virtual frame and the end effector becomes additional free parameters. By estimating these parameters alongside the robot parameters, we can find a set of parameters such that the reprojection of the checkerboard corners through the arm is as closely aligned with the reprojection through the camera (and any associated kinematic chain, for instance, a pan/tilt head). Configuration is typically handled through two sets of YAML files: usually called ``capture.yaml`` and ``calibrate.yaml``. If you want to manually move the robot to poses and capture each time you hit ENTER on the keyboard, you can run robot calibration with: ``` ros2 run robot_calibration calibrate --manual --ros-args --params-file path-to-capture.yaml --params-file path-to-calibrate.yaml ``` More commonly, you will generate a third YAML file with the capture pose configuration (as documented below in the section "Calibration Poses"): ``` ros2 run robot_calibration calibrate path-to-calibration-poses.yaml --ros-args --params-file path-to-capture.yaml --params-file path-to-calibrate.yaml ``` This is often wrapped into a ROS 2 launch file, which often records a bagfile of the observations allowing to re-run just the calibration part instead of needing to run capture each time. For an example, see the UBR-1 example in the next section. ### Example Configuration All of the parameters that can be defined in the capture and calibrate steps are documented below, but sometimes it is just nice to have a full example. The UBR-1 robot uses this package to calibrate in ROS2. Start with the ``calibrate_launch.py`` in [ubr1_calibration](https://github.com/mikeferguson/ubr_reloaded/tree/ros2/ubr1_calibration). ### Capture Configuration The ``capture.yaml`` file specifies the details needed for data capture: * ``chains`` - A parameter listing the names of the kinematic chains of the robot which should be controlled. * ``features`` - A parameter listing the names of the various "feature finders" that will be making our observations at each sample pose. Each of t
Excerpt of 25,782 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:506de29af39bfe52, topic:ros, topic:ros2