Code Monkey home page Code Monkey logo

calibrationtools's Introduction

calibration_tools

Calibration tools used for autonomous driving

Requirement

  • Ubuntu22.04
  • Ros Humble

Installation procedures

After installing autoware (please see source-installation page), execute the following commands:

cd autoware
wget https://raw.githubusercontent.com/tier4/CalibrationTools/tier4/universe/calibration_tools.repos
vcs import src < calibration_tools.repos
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release

Implemented calibration tools

sensor

We provide calibration tool for sensor pairs like LiDAR - LiDAR, LiDAR - Camera, etc.

README

system - tunable static tf broadcaster

GUI to modify the parameters of generic TFs.

README

calibrationtools's People

Contributors

aohsato avatar dependabot[bot] avatar kminoda avatar knzo25 avatar mebasoglu avatar muraki-t4 avatar pre-commit-ci[bot] avatar s-azumi avatar sakodashintaro avatar takayuki5168 avatar tkimura4 avatar vividf avatar yabuta avatar yamatoando avatar yoheimishina avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

calibrationtools's Issues

[Intrinsic camera calibration] Extremely high delay of up to 4s on the camera image screen of the calibration software

Please make sure of the following things

  • I have read the documentation.
  • I'm sure there are no duplicate issues or discussions.
  • I'm sure this issue is not fixed in the latest version.

Version

decf391

Describe the bug

image is a great tool, and in combination with apriltag corner detection it also verifies that the internal calibration is great.

During use, it was found that the latency of the camera image was found to be very high.

ultimate

Thank you very much, these calibration tools are great and do a much better job of calibrating the sensors!

Dimensions of boards

Hi, i want to test your tag based calibration tool. I have a few questions about dimensions of your boards.

image

I am wondering lengths of fiducial marker(Yellow square), black edge and outermost white edge. The reason I ask is because I want the board we will use to be compatible with the default parameters that you define in both apriltag and lidartag.

Thank you in advance.

Interactive camera-lidar calibration tool error. Image output error

Hello, we are trying to use camera-lidar calibration tool, and the image was strange as you can see in the picture below.
image

We work on this commit since extrinsic_calibration_manager in document is not written in the latest commit.

The command we executed:
ros2 launch extrinsic_calibration_manager calibration.launch.xml mode:=interactive sensor_model:=sample_sensor_kit vehicle_model:=sample_vehicle vehicle_id:=default camera_name:=zedxm
ros2 bag play rosbag2_2024_07_15-22_20_30/ --clock -l -r 0.2

Bag info:

Files:             rosbag2_2024_07_15-22_20_30_0.db3
Bag size:          8.0 GiB
Storage id:        sqlite3
Duration:          109.947s
Start:             Jul 15 2024 22:20:31.284 (1721053231.284)
End:               Jul 15 2024 22:22:21.232 (1721053341.232)
Messages:          2853
Topic information: Topic: /sensing/lidar/concatenated/pointcloud | Type: sensor_msgs/msg/PointCloud2 | Count: 196 | Serialization Format: cdr
                   Topic: /sensing/camera/zedxm/zed_node/rgb/image_rect_color | Type: sensor_msgs/msg/Image | Count: 920 | Serialization Format: cdr
                   Topic: /sensing/camera/zedxm/zed_node/rgb/camera_info | Type: sensor_msgs/msg/CameraInfo | Count: 1737 | Serialization Format: cdr

TF transform:
image

rqt_graph:
image

We added some tf transformation between base_link to sensor_kit_base_link, sensor_kit_base_link to zedxm_camera_link.

How can I receive extrinsic_calibration service?

Hi, I'm trying to use camera-lidar calibration tool using tag_based_pnp_calibrator.launch.xml.
and I want to check the values(initial_reprojection_error, current_reprojection_error, filtered_reprojection_error).

If I receive extrinsic_calibration service,
then request_received_ = true;
I think I can also get the above values as well.

How can I receive extrinsic_calibration service?

I'm attaching some pictures.

  • Code
    Screenshot from 2024-07-23 16-18-17
    Screenshot from 2024-07-23 15-54-53

  • Image view
    Screenshot from 2024-07-23 15-55-12

  • TF tree
    Screenshot from 2024-07-23 15-56-43

  • node, topic info
    Screenshot from 2024-07-23 16-02-24
    Screenshot from 2024-07-23 16-01-22
    Screenshot from 2024-07-23 16-00-04
    Screenshot from 2024-07-23 15-59-47

Thank you.

Interactive Calibrator dies after startup

Hello,
first of all, thanks for releasing the CalibrationTools! We've been looking for a calibration toolbox for our research vehicle that works with Autoware/ROS2 for quite some time before these tools were released and I think this could be exactly what we were looking for.

So far, we've adapted the aip_xx1 launch files of the extrinsic_calibration_manager to our sensor setup and crafted some Lidartags. But until now, we weren't successful in calibrating our lidar and camera sensors yet. We've decided to do the interactive calibration first because it seems simpler than the tag_based calibration.

We're trying to do the interactive calibration for the sensors of our vehicle online without recording a rosbag2 before. For that, we run our sensors using an adapted version of tier4_sensing.launch and we launch an initial guess for the tf tree of our vehicle using an adapted version of tier4_vehicle.launch. We use the following command for starting the interactive calibration:

ros2 launch extrinsic_calibration_manager calibration.launch.xml mode:=interactive sensor_model:=nissan_leaf_sensor_kit vehicle_model:=nissan_leaf camera_name:=camera_front logging_simulator:=false

The interactive calibration tool displays for a really short time a camera image and dies after less than one second. During this time, it can be seen that the status is 'Waiting for Calibration' and the TF Source is set to 'Initial /tf' (but the TF Source also sometimes seems to be empty with no other modifications done).
Here's the output:

albers@leaf-pc:~$ ros2 launch extrinsic_calibration_manager calibration.launch.xml mode:=interactive sensor_model:=nissan_leaf_sensor_kit vehicle_model:=nissan_leaf camera_name:=camera_front logging_simulator:=false
[INFO] [launch]: All log files can be found below /home/albers/.ros/log/2022-10-24-13-51-11-031738-leaf-pc-54816
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [static_transform_publisher-1]: process started with pid [54824]
[INFO] [extrinsic_calibration_client-2]: process started with pid [54826]
[INFO] [extrinsic_calibration_manager-3]: process started with pid [54828]
[INFO] [interactive_calibrator-4]: process started with pid [54830]
[INFO] [camera_intrinsics_optimizer.py-5]: process started with pid [54832]
[static_transform_publisher-1] [WARN 1666612276.838619172] []: Old-style arguments are deprecated; see --help for new-style arguments (parse_args() at ./src/static_transform_broadcaster_program.cpp:258)
[static_transform_publisher-1] [INFO 1666612276.875305045] [map2base_link]: Spinning until stopped - publishing transform
[static_transform_publisher-1] translation: ('0.000000', '0.000000', '0.000000')
[static_transform_publisher-1] rotation: ('0.000000', '0.000000', '0.000000', '1.000000')
[static_transform_publisher-1] from 'map' to 'base_link' (main() at ./src/static_transform_broadcaster_program.cpp:397)
[extrinsic_calibration_manager-3] [INFO 1666612277.883119915] [sensor_kit.extrinsic_calibration_manager]: Waiting for service: camera_front/camera_link (calibrationRequestCallback() at /home/albers/autoware/src/autoware/calibration_tools/sensor/extrinsic_calibration_manager/src/extrinsic_calibration_manager_node.cpp:73)
[extrinsic_calibration_manager-3] [INFO 1666612278.852749775] [sensor_kit.extrinsic_calibration_manager]: Call service: camera_front/camera_link (calibrationRequestCallback() at /home/albers/autoware/src/autoware/calibration_tools/sensor/extrinsic_calibration_manager/src/extrinsic_calibration_manager_node.cpp:93)
[interactive_calibrator-4] QPaintDevice: Cannot destroy paint device that is being painted
[interactive_calibrator-4] QPaintDevice: Cannot destroy paint device that is being painted
[ERROR] [interactive_calibrator-4]: process has died [pid 54830, exit code -11, cmd '/home/albers/autoware/install/extrinsic_interactive_calibrator/lib/extrinsic_interactive_calibrator/interactive_calibrator --ros-args -r __node:=interactive_calibrator -r __ns:=/sensor_kit/sensor_kit_base_link/camera_front/camera_link --params-file /tmp/launch_params_04negb1a --params-file /tmp/launch_params_eb38c1w9 -r pointcloud:=/sensing/lidar/os2/points -r image:=/sensing/camera/camera_front/image_raw/compressed -r camera_info:=/sensing/camera/camera_front/camera_info -r calibration_points_input:=calibration_points'].
[extrinsic_calibration_manager-3] [INFO 1666612283.852965599] [sensor_kit.extrinsic_calibration_manager]: Waiting for responses... (calibrationRequestCallback() at /home/albers/autoware/src/autoware/calibration_tools/sensor/extrinsic_calibration_manager/src/extrinsic_calibration_manager_node.cpp:106)

The interactive_calibrator does not die if disable displaying the pointcloud before launching the initial tf tree, so apparently there seems to be something wrong with displaying the point cloud in the interactive_calibrator.
Downsampling the point cloud by a factor of 10 does not fix the issue. We use an Ouster OS2 Lidar (64 Rays*1024 points per revolution at 20 Hertz).

Without displaying the point cloud we were able to calibrate our sensors.

Camera LiDAR calibration error is large

Hello, thanks for posting such a great project. I tried to use extrinsic_interactive_calibrator for camera-lidar calibration, but the result looks bad, the closer to the edge of the image, the worse the calibration result is.
As shown in below:
飞书20230509-100022

During the calibration process, I placed three ARUCO markers in the camera field of view, and selected the corner points of the markers as the target points.
Before calibration:
Screenshot from 2023-05-09 12-13-08

After calibration:
Screenshot from 2023-05-09 12-13-30

I have little experience with sensor calibration, can you give me some help?

lidar radar calib

Hello, could you please update the readme of marker_radar_lidar_calibrator?

Interactive calibration tool does not work. White screen

Hi there,
I am trying to use your framework to perform a camera-lidar calibration, but I am struggling with some issues.

The interactive calibration tool stays white as you can see in the picture below. The callback does something strange because I code a print() for debugging and it prints nothing until I kill the process. At that moment it prints all the messages.

image

These are the commands that I execute:
ros2 launch extrinsic_calibration_manager calibration.launch.xml mode:=interactive sensor_model:=robobus vehicle_model:=tutorial_vehicle vehicle_id:=robobus camera_name:=camera_front

ros2 bag play rosbag2_2024_04_04-06_25_04/ --clock -l -r 0.2 --remap /tf:=/null/tf /tf_static:=/null/tf_static /robobus/camera_front/image_raw:=/robobus/sensor_kit_base_link/camera_front/image_raw /robobus/camera_front/camera_info:=/robobus/sensor_kit_base_link/camera_front/camera_info /robobus/ouster_points_1:=/robobus/sensor_kit_base_link/ouster_points_1

I did a remapping to see if the namespaces were incorrect, but nothing changed.
The output of the rqt_graph:
image

Thanks in advance

Estimation of EKF Localizer Parameters

Hello,

I have a question about how to estimate ekf_localizer parameters with using deviation_estimator tool. Readme says:
The node also estimates the standard deviation of velocity and yaw rate. This can be used as a parameter in ekf_localizer.
But the node's outputs are imu_corrector.param.yaml and vehicle_velocity_converter.param.yaml files' parameters. Can I transform

velocity_stddev_xx
angular_velocity_stddev_xx
angular_velocity_stddev_yy
angular_velocity_stddev_zz

to

proc_stddev_yaw_c

In short i want to use deviation_estimator tool to optimize ekf_localizer parameters, but i cannot find a way to do that.

finding X, Y and Yaw for LiDAR base link

Thank you so much for very useful contribution.

After going base lidar calibration, we are able to get Z and roll, pitch angle for LiDAR base_link.

I just wonder, why its not possible to automate X, Y and YAW, which also most important params to find.

Similar to surface plane detection, can we detect vertical planes (ex Wall structrue, wide marker board placed front of vehicle) to estimate X, Y, Yaw angle.

Initial parameters can be vehicle parked location to marker board/ wall location.

Appreciate your opinion on possibility and challenges involved

Calibrate multiple sensors

Hi,

How am I going to calibrate two cameras with one lidar. How should I set up all the sensors?

thank you.

base_link to lidar not working

I installed autoware and calibration packages from here. Everything seems to work fine. I am using a rosbag file that only contains pointcloud2 messages. For now, my tf tree does not have anything, just an ouster lidar and base_link; I am not using sensor_kit_base_link for now. So, I modified extrinsic_calibration_manager/launch/aip_x1/ground_plane.launch.xml as follows:

<?xml version="1.0" encoding="UTF-8"?>
<launch>
  <arg name="vehicle_id" default="default"/>
  <let name="sensor_model" value="aip_x1"/>
  <let name="base_frame" value="base_link"/>
  <let name="parent_frame" value="base_link"/>
  <let name="rviz_profile" value="$(find-pkg-share extrinsic_ground_plane_calibrator)/rviz/velodyne_top.rviz"/>
  <arg name="rviz" default="true"/>

  <!-- extrinsic_calibration_client -->
  <arg name="src_yaml" default="$(find-pkg-share individual_params)/config/$(var vehicle_id)/$(var sensor_model)/sensor_kit_calibration.yaml"/>
  <arg name="dst_yaml" default="$(env HOME)/sensor_kit_calibration.yaml"/>

  <node pkg="extrinsic_calibration_client" exec="extrinsic_calibration_client" name="extrinsic_calibration_client" output="screen">
    <param name="src_path" value="$(var src_yaml)"/>
    <param name="dst_path" value="$(var dst_yaml)"/>
  </node>

  <!-- extrinsic_calibration_manager -->
  <node pkg="extrinsic_calibration_manager" exec="extrinsic_calibration_manager" name="extrinsic_calibration_manager" output="screen">
    <param name="parent_frame" value="$(var parent_frame)"/>
    <param name="child_frames" value="[os_sensor]"/>
  </node>

  <!-- velodyne_top_base_link: extrinsic_ground_plane_calibrator -->
  <group>
    <include file="$(find-pkg-share extrinsic_ground_plane_calibrator)/launch/calibrator.launch.xml">
      <arg name="ns" value="$(var parent_frame)/os_sensor"/>
      <arg name="base_frame" value="$(var base_frame)"/>
      <arg name="parent_frame" value="$(var parent_frame)"/>
      <arg name="child_frame" value="os_sensor"/>
      <arg name="pointcloud_topic" value="/ouster/points"/>
    </include>
  </group>

  <node pkg="rviz2" exec="rviz2" name="rviz2" output="screen" args="-d $(var rviz_profile)" if="$(var rviz)"/>
</launch>

And the calibration file is:

base_link:
  camera0/camera_link:
    x: 0.10731
    y: 0.56343
    z: -0.27697
    roll: -0.025
    pitch: 0.315
    yaw: 1.035
  os_sensor:
    x: 0.0
    y: 0.0
    z: 2.0
    roll: 0.0
    pitch: 0.0
    yaw: 0.0

Screenshot from 2023-07-09 13-49-28

I am publishing static transform from base_link to os_sensor like this in one terminal. It is just an initial guess.

trc@rahzar:~/autoware$ ros2 run tf2_ros static_transform_publisher 0 0 2 0 0 0 base_link os_sensor
[WARN] [1688935087.937881022] []: Old-style arguments are deprecated; see --help for new-style arguments
[INFO] [1688935087.962435324] [static_transform_publisher_6QasHP5sK0SW0rPO]: Spinning until stopped - publishing transform
translation: ('0.000000', '0.000000', '2.000000')
rotation: ('0.000000', '0.000000', '0.000000', '1.000000')
from 'base_link' to 'os_sensor'

Another terminal, I am running the rosbag file.

Screenshot from 2023-07-09 13-40-55

There is no error anywhere, still I do not think it is detecting ground_plane and just saying waiting for the calibration to end. How the calibration will end? Also, the output yaml file shows 0 for all 6DOF.

[lidar2camera]Discarding apriltag: size 13.2729 px. Expecting at least 157.194 px - New test scenario questions

Write in front

  • Camera corner detection is normal
  • Lidar corner detection is normal
  • Calibration program started successfully
  • Calibration plate size:1m
  • Calibrate the image size inside the board:0.8m
  • The calibration plate parameters have been correctly filled in
  • Camera internal reference calibration completed
  • ouster:os1-64
  • sensing:6mm
image

Description of the problem

There is a big difference between the camera detection visualization results and the Lidar detection point visualization results in rviz2 [into the lower panel]

image

eventually

Thank you very much, this is a great calibration tool!

extrinsic_calibration_manager can‘t find!

The package extrinsic_calibration_manager cannot be found in the sensor folder. I've pulled the code several times but it's still missing. Could you please confirm the location of this package?

Calibrating base-link to Lidar

Hi, I have a question about base-link to main lidar calibration. We are trying create sensor_model for our vehicle. We done camera intrinsic calibrations, lidar - lidar calibrations and camera lidar calibrations. Now, we want calibrating base-link lidar calibration.

To launch extrinsic ground-plane calibration tool, the command is:

ros2 launch extrinsic_calibration_manager calibration.launch.xml \
  mode:=ground_plane sensor_model:=<sensor_model> vehicle_model:=<vehicle_model> vehicle_id:=<vehicle_id>

This tool uses sensor_model, but we don't have sensor model, because its includes base-link to lidar calibration transformations which we don't have.

How can I calibrate this base-link to lidar calibration? I should use Extrinsic Manual Calibration mode for initial calibration?

Thank you in advance.

Confusion with transformation (Lidar Ground Plane Calibration)

Thank you for your exciting and useful work. I was going through extrinsic_ground_plane_calibrator.cpp. In publishTF there is a line
Eigen::Isometry3d raw_lidar_to_base_eigen = modelPlaneToPose(ground_plane_model) .
Is'nt the function making a transformation from base to lidar? As in the modelPlaneToPose function, the transformation takes the default basis of (0, 0, 1) to the new basis which is the normal of the plane detected in the lidar frame. Am I missing something. Thanks

Issue with rosdep installation of Autoware calibration tools #183

ROS2 humble, autoware.universe

autoware.repos
...
universe/autoware.universe:
type: git
url: https://github.com/autowarefoundation/autoware.universe.git
version: main
...

image

$ git checkout feature/new_api_documentation
$ vcs import src < calibration_tools_standalone.repos

$ rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
ground_plane_calibrator: Cannot locate rosdep definition for [tier4_autoware_utils]
marker_radar_lidar_calibrator: Cannot locate rosdep definition for [tier4_autoware_utils]
sensor_calibration_tools: Cannot locate rosdep definition for [extrinsic_map_based_calibrator]
tag_based_pnp_calibrator: Cannot locate rosdep definition for [tier4_autoware_utils]
mapping_based_calibrator: Cannot locate rosdep definition for [tier4_autoware_utils]
tier4_ground_plane_utils: Cannot locate rosdep definition for [tier4_autoware_utils]
tag_based_sfm_calibrator: Cannot locate rosdep definition for [tier4_autoware_utils]
lidar_to_lidar_2d_calibrator: Cannot locate rosdep definition for [tier4_autoware_utils]
tunable_static_tf_broadcaster: Cannot locate rosdep definition for [tier4_autoware_utils]

or

$ vcs import src < calibration_tools_autoware.repos
$ rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
marker_radar_lidar_calibrator: Cannot locate rosdep definition for [tier4_autoware_utils]
tier4_ground_plane_utils: Cannot locate rosdep definition for [tier4_autoware_utils]
ground_plane_calibrator: Cannot locate rosdep definition for [tier4_autoware_utils]
tunable_static_tf_broadcaster: Cannot locate rosdep definition for [tier4_autoware_utils]
tag_based_sfm_calibrator: Cannot locate rosdep definition for [tier4_autoware_utils]
sensor_calibration_tools: Cannot locate rosdep definition for [extrinsic_map_based_calibrator]
lidar_to_lidar_2d_calibrator: Cannot locate rosdep definition for [tier4_autoware_utils]
tag_based_pnp_calibrator: Cannot locate rosdep definition for [tier4_autoware_utils]
mapping_based_calibrator: Cannot locate rosdep definition for [tier4_autoware_utils]

launch failed with error "package 'lexus_description' not found"

Hello,
Thanks for the very useful tools.

Am trying to run "Extrinsic ground-plane calibration (base-lidar)" using the launch file. But Launch terminates with the following error message.

Command:
ros2 launch extrinsic_calibration_manager calibration.launch.xml \ mode:=manual sensor_model:=aip_xx1 vehicle_model:=jpntaxi
Error:
ERROR] [launch]: Caught exception in launch (see debug for traceback): "package 'jpntaxi_description' not found, searching:

Command:
ros2 launch extrinsic_calibration_manager calibration.launch.xml \ mode:=ground_plane sensor_model:=aip_x1 vehicle_model:=lexus vehicle_id:=my_awesome_vehicle
Error:
ERROR] [launch]: Caught exception in launch (see debug for traceback): "package 'lexus_description' not found, searching:

image

Any suggestions, please?

Platform:

Ubuntu: 22.04
Ros: Humble
Calibration tools: humble branch

standalone repo with rosbag simulation

@knzo25 Thanks helping us to solve previous issue.

We able to build and run as you suggested, but while trying as mentioned in the document (with sample ros bag) unable to see the tf tree as it mentioned in the document.

image

We are currently testing with feature/new_api_documentation repo. Should we need to publish senor TF seperately ?

Appreciate any hlep !

Platform:
ROS2 Humble,

<Build Error> tier4_autoware_utils/tier4_autoware_utils.hpp: No such file or directory,

When I tried to build extrinsic_reflector_based_calibrator, I encounterd this error message.

I removed this and I succeeded to compile. I don't know this process is correct.

tier4_autoware_utils/tier4_autoware_utils.hpp: 
16 | #include <tier4_autoware_utils/tier4_autoware_utils.hpp>

Error Message:

 colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release --packages-select extrinsic_reflector_based_calibrator
Starting >>> extrinsic_reflector_based_calibrator
--- stderr: extrinsic_reflector_based_calibrator
/autoware/src/autoware/calibration_tools/sensor/extrinsic_reflector_based_calibrator/src/extrinsic_reflector_based_calibrator.cpp:16:10: fatal error: tier4_autoware_utils/tier4_autoware_utils.hpp: No such file or directory
   16 | #include <tier4_autoware_utils/tier4_autoware_utils.hpp>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
gmake[2]: *** [CMakeFiles/extrinsic_reflector_based_calibrator.dir/build.make:76: CMakeFiles/extrinsic_reflector_based_calibrator.dir/src/extrinsic_reflector_based_calibrator.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:192: CMakeFiles/extrinsic_reflector_based_calibrator.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
---
Failed   <<< extrinsic_reflector_based_calibrator [7.56s, exited with code 2]

Saving of .yaml not possible

Hello,
After the calibration of the intrinsic parameters by the intrinsic_camera_calibrator is done and the Calibration Status turned back to idle, I wanted to save the calibrated intrinsic parameters by pressing the button 'Save'. Unfortunately, it just shows that a window pops up but as you can see in the picture no window is there.

Screenshot from 2024-04-19 09-26-51

How can I save the calibrated Intrinsics?

Thanks for your support in advance!

Failed to fit a plane model to the cluster

Hello, my goal is to do tag-based calibration with a pair of Ouster OS1 128 and Lucid Camera. We prepared boards as a your dimensions and collected bag.
image
The command I tried for calibration:
ros2 launch extrinsic_calibration_manager calibration.launch.xml mode:=tag_based sensor_model:=aip_x2 vehicle_model:=gsm8 vehicle_id:=ps1 camera_name:=camera0 logging_simulator:=false

I have been change lidar_model to "velodyne_vls128" cause of I have 128 beam lidar.

As a last I got "Failed to fit a plane model to the cluster" error from lidartag. Where could I have made a mistake?

Thank you in advance.

Configuration for every Car and Sensor Kit model

Is there any guide on configuring the environment properly for a new use case? I have been trying to use your calibration tools using the ones that you have as an example trying to adapt them to our systems but I think that there is something I am missing out

Spellchecker for the intrinsic camera calibrator

As discussed previously. the spellchecker complains about unknown words.
While we want to address this issue for the new intrinsics calibrator, we would like to also establish the way to address these issues from now on.

Currently the options are:

  • Modify as much as possible the variable names to conform to the current dictionary (e.g., xarray to x_array).
  • Add words to the dictionary.
  • Add comments so the CI/CD ignore specific words.

Of special concern are the following cases:

  • Name conventions that do not appear in dictionaries: rvec, tvec (rotation and translation vector)
  • Symbols from external libraries do not conform to our naming standards

@yabuta @aohsato

Waiting for service

Hello, after starting the calibration tool, as you can see below, the waiting for service information is constantly coming and stays like this.
[extrinsic_calibration_manager-3] [INFO] [1677242419.329916718] [dash_center.extrinsic_calibration_manager]: Waiting for service: dash_center
When I look at the Apriltag and Lidartag detection outputs, they both show results. Lidartag detection may have trouble recognizing one of its boards. Could this have an effect?

I did not fully understand why it remained like this, what do you think could be missing or wrong?

How to input object and image points to Extrinsic Interactive Calibration (camera-lidar)

Hello,

Thank you so much for the very useful and well documented to repository.
Currently am trying to calibrate Lidar and Camera using Extrinsic Interactive Calibration (camera-lidar) method.

But i didnt understand, how to input object and Image points to estimation 3D projection matrix. Currently, i have recorded bag file
with LiDAR and Camera data.

Image: /blackfly_0/image_raw
Point cloud: /points_raw

So is there options to click points from LiDAR and mage data, for Object and Image coordinates ?

ros2 launch extrinsic_calibration_manager calibration.launch.xml mode:=interactive sensor_model:=aip_x2 vehicle_model:=gsm8 vehicle_id:=ps1 camera_name:=camera1 logging_simulator:=False interactive_use_concatenated:=False

Should i publish static TF ? as a initial guess parameters ?

rosdep cannot locate some dependencies

Hi,

I was trying to install these calibration tools after installing Autoware.Universe following the documentation. However, I encountered rosdep errors shown below.

$ rosdep install -y --from-paths `colcon list --packages-up-to sensor_calibration_tools -p` --ignore-src
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
ground_plane_calibrator: Cannot locate rosdep definition for [tier4_autoware_utils]
tag_based_sfm_calibrator: Cannot locate rosdep definition for [tier4_autoware_utils]
mapping_based_calibrator: Cannot locate rosdep definition for [tier4_autoware_utils]
lidar_to_lidar_2d_calibrator: Cannot locate rosdep definition for [tier4_autoware_utils]
tag_based_pnp_calibrator: Cannot locate rosdep definition for [tier4_autoware_utils]
sensor_calibration_tools: Cannot locate rosdep definition for [extrinsic_map_based_calibrator]
tier4_ground_plane_utils: Cannot locate rosdep definition for [tier4_autoware_utils]
marker_radar_lidar_calibrator: Cannot locate rosdep definition for [tier4_autoware_utils]

I tried to update rosdep, but it seems it's not working. After investigation, I found out that tier4_autoware_utils was removed from the latest Autoware documentation. Will there be a breach with updated dependencies or how can I manually edit the dependencies to solve the issue?

Extrinsic ground-plane calibration tool

Hi, I'm trying to use your Extrinsic ground-plane calibration tool for my vehicle by following the instructions in the link, but I have some questions about the integration in the launch parameters.
Can you provide detailed information about the file locations of my sensor_model and vehicle_model packages and the properties of the topics that should be in my rosbag file? Also, is it necessary to have a map or something among the parameters, or are the sensor and vehicle parameters sufficient for the tool?

Issue with rosdep installation of Autoware calibration tools

I have successfully installed Autoware on my system running Ubuntu 22.04 and ROS 2 Humble. However, I'm facing issues when trying to install the calibration tools. The command I ran is:
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO

I received the following error message:

ERROR: the following packages/stacks could not have their rosdep keys resolved to system dependencies:
tunable_static_tf_broadcaster: Cannot locate rosdep definition for [tier4_autoware_utils]
lidar_to_lidar_2d_calibrator: Cannot locate rosdep definition for [tier4_autoware_utils]
ground_plane_calibrator: Cannot locate rosdep definition for [tier4_autoware_utils]
sensor_calibration_tools: Cannot locate rosdep definition for [extrinsic_map_based_calibrator]
mapping_based_calibrator: Cannot locate rosdep definition for [tier4_autoware_utils]
tag_based_pnp_calibrator: Cannot locate rosdep definition for [tier4_autoware_utils]
marker_radar_lidar_calibrator: Cannot locate rosdep definition for [tier4_autoware_utils]
tier4_ground_plane_utils: Cannot locate rosdep definition for [tier4_autoware_utils]
tag_based_sfm_calibrator: Cannot locate rosdep definition for [tier4_autoware_utils]

It seems that multiple packages are missing their rosdep definitions, specifically for tier4_autoware_utils and extrinsic_map_based_calibrator.

Could anyone provide guidance on how to resolve these missing dependencies? I'm quite new in this field, so I don't know how to solve it.

Thanks for your help!

Radar - LiDAR Calibration docs

Hi @knzo25,

I want to try Radar - LiDAR calibration. But i could not find Radar-LiDAR calibration readme in the docs.

Can you explain how can i try this calibration method?

Can you give some video, report or like some stuff ?

Thank you for your help.

extrinsic_mapping_based_calibrator

I have two radars. One is a regular radar, and the other is installed upside down at the front of the car. I cannot use the calibration program to calibrate them. The program keeps running without output.
Can build the map, but can't calibrate it.
截屏2024-09-11 17 33 04

```extrinsic_manual_calibrator``` package not building : (ignoring unknown package)

Description

After installing the latest autoware and the latest compatible CalibrationTools, I tried several times to build the extrinsic_manual_calibrator package. However, I constantly faced a warning indicating that the package was not found.

Expected Behavior

The package should at least build. I checked several times for anomalies in the CMakeLists.txt and package.xml files, but nothing seems wrong.

Actual Behavior

Whether I build the whole workspace or only the package using colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release --packages-select, the following error is received. The other packages seem to build and work correctly.

colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release --packages-select extrinsic_manual_calibrator
[0.781s] WARNING:colcon.colcon_core.package_selection:ignoring unknown package 'extrinsic_manual_calibrator' in --packages-select
            

Additional Information

tier4/CalibrationTools branch: feature/edge_auto

fix(calibration_tools.repos): github permission denied problem

Hello, thanks to everyone for this amazing tool. I have a suggestion for calibration_tools.repos file.

When the command vcs import src < calibration_tools.repos i got github permission denied error.

Here is my suggestion for calibration_tools.repos:

repositories:
  autoware/calibration_tools:
    type: git
    url: https://github.com/tier4/CalibrationTools
    version: tier4/universe
  vendor/lidartag:
    type: git
    url: https://github.com/tier4/LiDARTag.git
    version: humble
  vendor/lidartag_msgs:
    type: git
    url: https://github.com/tier4/LiDARTag_msgs
    version: tier4/universe
  vendor/apriltag_msgs:
    type: git
    url: https://github.com/christianrauch/apriltag_msgs
    version: 2.0.0
  vendor/apriltag_ros:
    type: git
    url: https://github.com/christianrauch/apriltag_ros
    version: e814e9e5d5f1bfb60a4aa685d30977c632bbc540
  vendor/ros2_numpy:
    type: git
    url: https://github.com/Box-Robotics/ros2_numpy
    version: humble
    vendor/image_pipeline:
    type: git
    url: https://github.com/tier4/image_pipeline.git
    version: 47964112293eb19f9f57254b2e6b68706954cc63

" Caught exception in launch (see debug for traceback): "package 'aip_x2_launch' not found, searching:" error

Hello, I am trying to use tag based calibration tool for camera lidar calibration tool. But when I try launching the tool I have this error.
Command:
ros2 launch extrinsic_calibration_manager calibration.launch.xml mode:=interactive sensor_model:=aip_x2 vehicle_model:=tiguan vehicle_id:=ps1 camera_name:=camera_front_right
Error
" Caught exception in launch (see debug for traceback): "package 'aip_x2_launch' not found, searching:"

Do you have any suggestion?
Thank you for your help.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.