No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro kilted. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.

autoware_gyro_odometer package from autoware_core repo

autoware_core autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_core_control autoware_simple_pure_pursuit autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

Package Summary

Tags No category tags.
Version 0.44.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2025-06-07
Dev Status UNKNOWN
CI status No Continuous Integration
Released UNRELEASED
Tags planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The autoware_gyro_odometer package as a ROS 2 node

Additional Links

No additional links.

Maintainers

  • Yamato Ando
  • Masahiro Sakamoto
  • Kento Yabuuchi
  • NGUYEN Viet Anh
  • Taiki Yamada
  • Shintaro Sakoda
  • Ryu Yamamoto

Authors

  • Yamato Ando

autoware_gyro_odometer

Overview

autoware_gyro_odometer is the package to estimate twist by combining imu and vehicle speed.

Design

autoware_gyro_odometer is part of the perception or localization stack, providing reliable motion estimates for navigation and control. It is designed to estimate the robot’s motion by combining vehicle twist data (linear and angular velocities) with angular velocity measurements from an IMU (Inertial Measurement Unit).

Data Handling and Synchronization:

  • Message Queues: Uses queues to store vehicle twist and gyro messages to ensure data synchronization.
  • Message Timeouts: Checks for message timeouts to discard stale data, preventing incorrect estimations.

    Error Checks and Logging:

  • Timeout Handling: Logs errors and clears queues if messages exceed a defined time threshold.
  • Transformation Checks: Verifies that TF transforms between IMU and base frames are available; logs errors if not.

Data Processing:

  • Transformation: Converts gyro data into the base frame using TF to ensure accurate angular velocity measurements.
  • Mean and Covariance Calculation: Averages multiple measurements to reduce noise and calculates covariances to represent data reliability.

Output and Publishing:

  • Twist Estimation: Constructs output messages with estimated twist values and covariances.
  • Stationary Handling: Zeros out certain twist components when the robot is stationary to avoid noise.

Inputs / Outputs

Input

Name Type Description
vehicle/twist_with_covariance geometry_msgs::msg::TwistWithCovarianceStamped twist with covariance from vehicle
imu sensor_msgs::msg::Imu imu from sensor

Output

Name Type Description
twist_with_covariance geometry_msgs::msg::TwistWithCovarianceStamped estimated twist with covariance

Parameters

{{ json_to_markdown(“localization/autoware_gyro_odometer/schema/gyro_odometer.schema.json”) }}

Assumptions / Known limits

  • [Assumption] The frame_id of input twist message must be set to base_link.

  • [Assumption] The covariance in the input messages must be properly assigned.

  • [Assumption] The angular velocity is set to zero if both the longitudinal vehicle velocity and the angular velocity around the yaw axis are sufficiently small. This is for suppression of the IMU angular velocity bias. Without this process, we misestimate the vehicle status when stationary.

  • [Limitation] The frequency of the output messages depends on the frequency of the input IMU message.

  • [Limitation] We cannot produce reliable values for the lateral and vertical velocities. Therefore we assign large values to the corresponding elements in the output covariance matrix.

Diagnostics

drawing

Name Description Transition condition to Warning Transition condition to Error
topic_time_stamp the time stamp of service calling. [nano second] none none
is_arrived_first_vehicle_twist whether the vehicle twist topic has been received even once. not arrive yet none
is_arrived_first_imu whether the imu topic has been received even once. not arrive yet none
vehicle_twist_time_stamp_dt the time difference between the current time and the latest vehicle twist topic. [second] none the time is longer than message_timeout_sec
imu_time_stamp_dt the time difference between the current time and the latest imu topic. [second] none the time is longer than message_timeout_sec
vehicle_twist_queue_size the size of vehicle_twist_queue. none none
imu_queue_size the size of gyro_queue. none none
is_succeed_transform_imu whether transform imu is succeed or not. none failed
CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/gyro_odometer.launch.xml
      • input_vehicle_twist_with_covariance_topic [default: /sensing/vehicle_velocity_converter/twist_with_covariance]
      • input_imu_topic [default: /sensing/imu/imu_data]
      • output_twist_raw_topic [default: gyro_twist_raw]
      • output_twist_with_covariance_raw_topic [default: gyro_twist_with_covariance_raw]
      • output_twist_topic [default: gyro_twist]
      • output_twist_with_covariance_topic [default: gyro_twist_with_covariance]
      • config_file [default: $(find-pkg-share autoware_gyro_odometer)/config/gyro_odometer.param.yaml]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_gyro_odometer at Robotics Stack Exchange

No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.