The trinity_calibration package is used to calibrate the position of the Monitor Camera in the DynCoMM open-call subproject of the EU-funded Trinity project.
The source code is released under a BSD 3-Clause license.
Author: Gioele Vuaran
Affiliation: Video Systems S.R.L.
Maintainer: Gioele Vuaran, [email protected]
The trinity_calibration package has been tested under ROS Noetic on Ubuntu 20.04. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.
- Robot Operating System (ROS) Noetic (middleware for robotics)
- ChArUco Detector
To build from source, clone the latest version from this repository into your catkin workspace and compile the package.
cd ~/catkin_ws/src
git clone https://github.com/VideoSystemsTech/charuco_detector
git clone https://github.com/VideoSystemsTech/trinity_calibration
cd ~/catkin_ws
catkin_make # or `catkin build`
Print or buy a ChArUco target of the appropriate size.
Start your robot pipeline, the two cameras and run this launch file:
roslaunch trinity_calibration cameras_positions_calibration.launch
An RViz window starts up, showing:
- detection image of the ChArUco target from the Monitor Camera;
- detection image of the ChArUco target from the Rods Camera;
- TF tree.
When both cameras focus on the same ChArUco target, the TF tree is built, from the Monitor Camera all the way to the world frame.
To read the pose of the Monitor Camera relative to the world frame, run:
rosrun tf tf_echo /world /monitor_camera_color_optical_frame
config/
- monitor_camera_params.yaml OpenCV Aruco Detector Parameters for the Monitor Camera
- rods_camera_params.yaml OpenCV Aruco Detector Parameters for the Rods Camera
-
cameras_positions_calibration.launch: starts the two cameras calibration software + RViz
Calibration Target
squares_x
number of chessboard squares in X direction. Default:4
.squares_y
number of chessboard squares in Y direction. Default:3
.square_length
chessboard square side length (meters). Default:0.085
.marker_length
marker side length (meters). Default:0.066
.dictionary_id
dictionary of markers indicating the type of markers (source). Default:0
.
-
/monitor_camera/image_raw
(sensor_msgs/Image)The raw image from the Monitor Camera.
-
/monitor_camera/camera_info
(sensor_msgs/CameraInfo)The CameraInfo from the Monitor Camera.
Please report bugs and request features using the Issue Tracker.
DynCoMM Project has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement No 825196