From dddf471de27293c6b9b99a90d7af2c9ee255bbd9 Mon Sep 17 00:00:00 2001 From: ryohei sasaki Date: Thu, 24 Aug 2023 12:21:21 +0900 Subject: [PATCH] Add architecture svg (#308) --- README.md | 4 ++++ docs/eagleye_architecture.drawio.svg | 4 ++++ 2 files changed, 8 insertions(+) create mode 100644 docs/eagleye_architecture.drawio.svg diff --git a/README.md b/README.md index 7da82fd8..852cccd4 100755 --- a/README.md +++ b/README.md @@ -12,6 +12,10 @@ Eagleye is an open-source software for vehicle localization utilizing GNSS and I ![Flowchart of Eagleye](docs/flowchart.png) +## Architecture + +![Architecture of Eagleye](docs/eagleye_architecture.drawio.svg) + ## Recommended Sensors **GNSS receiver** * [Septentrio Mosaic development kit with GNSS antenna](https://shop.septentrio.com/en/shop/mosaic-x5-devkit) diff --git a/docs/eagleye_architecture.drawio.svg b/docs/eagleye_architecture.drawio.svg new file mode 100644 index 00000000..936a36bd --- /dev/null +++ b/docs/eagleye_architecture.drawio.svg @@ -0,0 +1,4 @@ + + + +
/smoothing_node
/smoothing_node
/velocity_scale_factor
/velocity_scale_fact...

rtk
rtk
gnss
gnss
imu
imu
/yawrate_offset_stop
/yawrate_offset_stop
twist
twist
/position_interpolate
/position_interpolate
/yawrate_offset_1st
/yawrate_offset_1st
/velocity
/velocity_scale_factor
/velocity...
/position
/position
/enu_absolute_pos
/enu_absolute_pos
/trajectory
/trajectory
/enu_relative_pos
/enu_vel
/twist
/enu_relative_pos...
/heading_2nd
/heading_2nd
/heading_2nd
/heading_2nd
/heading_interpolate_2nd
/heading_interpolate_2nd
/heading_interpolate_2nd
/heading_interpolate...
/yawrate_offset_1st
/yawrate_offset_1st
/heading_interpolate_3rd
/heading_interpolate_3rd
/heading_interpolate_3rd
/heading_interpolate...
/yawrawte_offset_2nd
/yawrawte_offset_2nd
/yawrate_offset_2nd
/yawrate_offset_2nd
/heading_interpolate_1st
/heading_interpolate_1st
/heading_interpolate_1st
/heading_interpolate...
/heading_1st
/heading_1st
/heading_1st
/heading_1st
/heading_node_3rd
/heading_node_3rd

YawrateOffsetStop

Output the average angular velocity recorded in a section where the speed of the vehicle is below a certain value.

YawrateOffsetStop...

VelocityScaleFactor

Estimating the wheel speed scale factor using GNSS Doppler velocity during straight-line driving.

VelocityScaleFactor...

Height

Using RTK FIX solutions and x-direction acceleration, estimate acceleration errors, eliminate mis-FIX, and estimate height. Estimate the pitch angle as well.

Height...

SlipAngle

To calculate the slip angle, multiply the yaw rate by the velocity and then multiply the result by the coefficient previously determined by slip_coefficient_node.

It is necessary for velocity_scale_factor, yawrate_offset_stop, and yawrate_offset_2nd to be activated.

By default, these are deactivated.

SlipAngle...

Distance

Calculate the driving distance

Distance...

Trajectory

Calculate the relative trajectory on the ENU coordinate system using heading_interpolate_3rd, angular velocity, and wheel speed


TrajectoryCalculate the relative trajectory on th...

Position

Integrating the absolute position obtained from GNSS with the relative travel trajectory, eliminating outliers caused by multipath, to estimate a high-precision absolute position.

Position...

Smoothing

Averaging the GNSS position while taking into account the speed. The output is only the position. Only the Z value will be used in the subsequent stages.

Smoothing...

PositionInterpolate

Due to time-consuming processes in the earlier stages, position delay is ensured through extrapolation.

PositionInterpolate...

Heading

When moving in a straight line, eliminate observations where the difference between the integrated yaw rate and the azimuth derived from the Doppler speed is too significant. A suitable heading is then outputted. Without estimating YawrateOffsetStop, heading estimation is not possible.


Heading...

HeadingInterpolate

Due to time-consuming processes in the earlier stages, heading delay is ensured through extrapolation.

HeadingInterpolate...

YawrateOffset

Using the least squares method to estimate yawrate_offset. If the estimated value is abnormally large, it is overwritten with yawrate_offset_stop for output.
YawrateOffset...
/slip_angle_node
/slip_angle_node
imu
imu
imu
imu
/distance_node
/distance_node
/height_node
/height_node
gnss
gnss
imu
imu
twist
twist
imu
imu
imu
imu
/fix2pose
/fix2pose
Text
Text
/pose
/pose_with_covanraice
/pose...

Fix2Pose

Output pose information from latitude-longitude-height data and rpy information.

Fix2Pose...
twist
twist
/fix
/enu_absolute_pos_interpolate
/fix...
/yawrate_offset_stop
/yawrate_offset_stop
gnss
gnss

gnss
gnss
/gnss_smooth_pos_enu
/gnss_smooth_pos_enu
/height
/pitching
/height...
/distance
/distance
/slip_angle
/slip_angle
Text is not SVG - cannot display
\ No newline at end of file