Skip to content

Latest commit

 

History

History
122 lines (96 loc) · 6.57 KB

README.md

File metadata and controls

122 lines (96 loc) · 6.57 KB

RBF GNSS INS Config Driver

Overview

RBF GNSS INS Config Driver is a ROS 2 package designed to provide configuration and interface capabilities for ROBINS GNSS/INS devices. It allows users to easily integrate GNSS/INS data into their robotic applications, enabling precise navigation and localization.

Installation

To install the package, follow these steps:

  1. Clone the repository:
    git clone https://github.com/Robeff-Technology/rbf_gnss_ins_config_driver.git
  2. Navigate to the package directory:
    cd rbf_gnss_ins_config_driver
  3. Install dependencies:
    rosdep install --from-paths src --ignore-src -r -y
  4. Build the package:
    colcon build

Usage

To use the RBF GNSS INS Config Driver, follow these steps:

  1. Source your ROS 2 environment:
    source /opt/ros/humble/setup.bash
  2. Launch the node:
    ros2 launch rbf_gnss_ins_config_driver gnss_ins_driver.launch.py

Configuration

Configuration parameters can be set in the config directory. Modify the gnss_ins_config.yaml file to match your device's specifications and requirements.Below is a detailed explanation of all configuration parameters:

Parameter Name Description
serial_config Current Serial port configuration
port1_config ROBINS Port 1 configuration
port2_config ROBINS Port 2 configuration
port3_config ROBINS Port 3 configuration
ins_config INS configuration
pps_config PPS configuration

serial_config

  • port: Current port name of the device.
  • baudrate: Current baudrate of the device.

port1_config, port2_config, port3_config

  • rawimu_period: Sets the publishing period for the Raw IMU message in seconds. Adjust as needed for the desired frequency. (seconds)
  • inspvax_period: Sets the publishing period for the INS Position Velocity Attitude(INSPVAX) message. Modify for the desired frequency.(seconds)
  • uniheading_period : Sets the publishing period for the Unified Heading message. (seconds)
  • bestgnsspos_period : Sets the publishing period for the Best GNSS Position message. (seconds)
  • bestgnssvel_period : Sets the publishing period for the Best GNSS Velocity message. (seconds)
  • ecef_period : Sets the publishing period for the ECEF (Earth-Centered, Earth-Fixed) message. (seconds)
  • gprmc: Specifies whether to send the GPRMC (Recommended Minimum Navigation Information) message. Set to true for 1 Hz publication(boolean).

ins_config

  • enable: This parameter activates or deactivates the INS functionality. It is recommended to keep this parameter set to true for enabling the INS system.

  • timeout: Defines the duration in seconds for which the INS system outputs data when GNSS signals are lost. (seconds)

  • align_velocity_threshold: Velocity threshold for INS alignment (m/s).

  • ins_initial_attitude, ins_initial_attitude_error: Initial attitude and error of the INS device. (degrees)

  • lever_arm_master, lever_arm_slave: Specifies the lever arm distance between the IMU and the master/slave antennas. These values define the offset between the INS system's ideal position and the actual position of the antennas (meters).

  • lever_arm_master_error, lever_arm_slave_error: Represents the error margin in lever arm measurement. It is crucial for accurate positioning as it compensates for any discrepancies in the lever arm values. (meters)

  • imu_position_offset: This parameter compensates for the positional discrepancy between the IMU's actual location and the vehicle's center. It is particularly useful when the IMU is not precisely centered or mounted at an offset from the vehicle's center of mass. (meters)

    If the IMU is mounted off-center or at an offset from the vehicle's center of mass, specifying the imu_position_offset allows compensating for this discrepancy. This ensures accurate alignment between the IMU's position and the vehicle's center, enhancing the overall performance of the INS system.

pps_config

The PPS (Pulse-Per-Second) signal is a pulse generated by a GNSS receiver at the start of each new second. It provides a precise timing reference synchronized with the GNSS system's time.

  • enable: This parameter enables or disables the PPS functionality. When set to true, the driver will generate the PPS signal based on the specified mode. Setting it to false disables the PPS output.
  • mode: The mode parameter specifies the behavior of the PPS output. There are typically two modes:
    • Mode 0: In this mode, the PPS pulse is continuously output, regardless of the validity of the time signal. This means that even if the GNSS receiver loses satellite signals or if the time is invalid, the PPS pulse will still be generated. This mode ensures that the PPS signal is continuously available for synchronization purposes, regardless of the GNSS receiver's status.
    • Mode 1: This mode enables PPS output only when the time signal from the GNSS receiver is valid. If the receiver loses satellite signals or if the time is invalid, the PPS output will be stopped until the time signal becomes valid again. Mode 1 ensures that the PPS pulse is only generated when the GNSS receiver has a valid time reference, providing stricter synchronization but potentially causing interruptions in PPS output during signal loss.
  • polarity: Polarity of PPS pulse. (POSITIVE or NEGATIVE)
  • width: Sets the pulse width of the PPS pulse, in microseconds. This parameter determines the duration of the pulse generated by the device. (microseconds)
  • period: Sets the period of the PPS pulse, in milliseconds. This parameter defines the interval at which the PPS signal is generated by the device. (milliseconds)

Contributing

If you would like to contribute to this project, please contact Robeff Technology or submit a pull request on the GitHub repository.

License

This project is licensed under the Apache License 2.0. See the LICENSE file for more details.