百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
E

eagleye

> 编程语言
开源

基于 GNSS 和 IMU 的精确定位。

770 stars0 点赞1 次浏览
访问官网GitHub

工具介绍

基于 GNSS 和 IMU 的精确定位。

(Alpha version)

Demo Video

What is Eagleye

Eagleye is an open-source software for vehicle localization utilizing GNSS and IMU[1]. Eagleye provides highly accurate and stable vehicle position and orientation by using GNSS Doppler[2][3][4][5][6]. The flowchart of the algorithm is shown in the figure below. The algorithms in this software are based on the outcome of the research undertaken by Machinery Information Systems Lab (Meguro Lab) in Meijo University.

Architecture

Recommended Sensors

GNSS receiver

  • Septentrio Mosaic development kit with GNSS antenna

IMU

  • Tamagawa Seiki TAG300 Series
  • ANALOG DEVICES ADIS16475

Wheel speed sensor

  • Eagleye uses vehicle speed acquired from CAN bus.

How to install

RTKLIB

Clone and Build MapIV's fork of RTKLIB. You can find more details about RTKLIB here.

bash
sudo apt-get install gfortran
cd $HOME
git clone -b rtklib_ros_bridge_b34 https://github.com/MapIV/RTKLIB.git
cd $HOME/RTKLIB/lib/iers/gcc/
make
cd $HOME/RTKLIB/app/consapp
make

ROS Packages

Clone and build the necessary packages for Eagleye. (rtklib_ros_bridge, nmea_ros_bridge)

bash
cd $HOME/catkin_ws/src
git clone https://github.com/MapIV/eagleye.git -b main-ros2
vcs import . adress: 192.168.30.10  

port: 62001

  1. GNSS receiver settings.

Access mosaic's web ui and upload the following file in Admin/Configuration.

https://www.dropbox.com/s/uckt9

IMU

  1. IMU settings.
  • Output rate 50Hz
  1. Please be careful with the coordinate system when using the tamagawa ros driver created by MAP IV. If the x-direction indicated on the IMU is set to the vehicle's direction and the y-direction to the right side of the vehicle, please set the roll in the eagleye/eagleye_util/tf/config/sensors_tf.yaml file to 3.14159.

      roll: 3.14159

Eagleye parameters

The parameters of eagleye can be set in the eagleye_config.yaml. The default settings are 5Hz for GNSS and 50Hz for IMU.

The TF between sensors can be set in sensors_tf.yaml. The settings are reflected by describing the positional relationship of each sensor with respect to base_link. If you want to change the base frame, change basic_parent_flame to reflect the change.

How to run

Use sample data

  1. Play the sample data.

     ros2 bag play -s rosbag_v2 eagleye_sample.bag
    
  2. Launch eagleye.

     ros2 launch eagleye_rt eagleye_rt.launch.xml

The estimated results will be output about 100 seconds after playing the rosbag. This is because we need to wait for the data to accumulate for estimation.

Running real-time operation

  1. Check if wheel speed (vehicle speed) is published in /can_twist topic.
  • Topic name: /can_twist
  • Message type: geometry_msgs/TwistStamped twist.liner.x or geometry_msgs/TwistWithCovarianceStamped twist.twist.liner.x
  1. Check if the IMU data is published in /imu/data_raw topic.

  2. Start RTKLIB.

      cd $HOME/RTKLIB
     bash rtklib_ros_bridge.sh
    
  3. Check if RTKLIB is working by execute the following command in the terminal. If the RTKLIB is working correctly, positioning information is appeared continuously in the terminal.

     status 0.1  
    
  4. Start rtklib_ros_bridge.

     ros2 run rtklib_bridge rtklib_bridge --ros-args --params-file $HOME/ros2_ws/src/rtklib_ros_bridge/rtklib_bridge/param/param.yaml 
    
  5. Start nmea_ros_bridge.

     ros2 launch nmea_ros_bridge nmea_udp.launch.py
    
  6. Start eagleye.

     ros2 launch eagleye_rt eagleye_rt.launch.xml

Node

Subscribed Topics

  • /navsat/nmea_sentence (nmea_msgs/Sentence)

  • /can_twist (geometry_msgs/TwistStamped or geometry_msgs/TwistWithCovarianceStamped)

  • /rtklib_nav (rtklib_msgs/RtklibNav)

  • /imu/data_raw (sensor_msgs/Imu)

Main Published Topics

  • /eagleye/fix (sensor_msgs/NavSatFix)

  • /eagleye/twist (geometry_msgs/TwistStamped)

  • /eagleye/twist_with_covariance (geometry_msgs/TwistWithCovarianceStamped)

Note

To visualize the eagleye output location /eagleye/fix, for example, use the following command

ros2 launch eagleye_fix2kml fix2kml.xml

To convert from eagleye/fix to eagleye/pose, use the following command 

ros2 launch eagleye_geo_pose_fusion geo_pose_fusion.launch.xml
ros2 launch eagleye_geo_pose_converter geo_pose_converter.launch.xml

Sample data

ROSBAG(ROS1)

No. Date Place Sensors Link
1 2020/01/27 Moriyama, Nagoya
route GNSS: Ublox F9P
IMU: Tamagawa AU7684
LiDAR: Velodyne HDL-32E Download
2 2020/07/15 Moriyama, Nagoya
route GNSS: Ublox F9P with RTK
IMU: Tamagawa AU7684
LiDAR: Velodyne VLP-32C Download

Maps

The 3D maps (point cloud and vector data) of the route is also available from Autoware sample data.

Research Papers for Citation

  1. J Meguro, T Arakawa, S Mizutani, A Takanose, "Low-cost Lane-level Positioning in Urban Area Using Optimized Long Time Series GNSS and IMU Data", International Conference on Intelligent Transportation Systems(ITSC), 2018 Link

  2. Takeyama Kojiro, Kojima Yoshiko, Meguro Jun-ichi, Iwase Tatsuya, Teramoto Eiji, "Trajectory Estimation Based on Tightly Coupled Integration of GPS Doppler and INS" -Improvement of Trajectory Estimation in Urban Area-, Transactions of Society of Automotive Engineers of Japan 44(1) 199-204, 2013 Link

  3. Junichi Meguro, Yoshiko Kojima, Noriyoshi Suzuki, Teramoto Eiji, "Positioning Technique Based on Vehicle Trajectory Using GPS Raw Data and Low-cost IMU", International Journal of Automotive Engineering 3(2) 75-80, 2012 Link

  4. K Takeyama, Y Kojima, E Teramoto, "Trajectory estimation improvement based on time-series constraint of GPS Doppler and INS in urban areas", IEEE/ION Position, Location and Navigation Symposium(PLANS), 2012 Link

  5. Junichi Meguro, Yoshiko Kojima, Noriyoshi Suzuki, Eiji Teramoto, "Automotive Positioning Based on Bundle Adjustment of GPS Raw Data and Vehicle Trajectory", International Technical Meeting of the Satellite Division of the Institute of Navigation (ION), 2011 Link

  6. Yoshiko Kojima, et., al., "Precise Localization using Tightly Coupled Integration based on Trajectory estimated from GPS Doppler", International Symposium on Advanced Vehicle Control(AVEC), 2010 Link

  7. A. Takanose, et., al., "Eagleye: A Lane-Level Localization Using Low-Cost GNSS/IMU", Intelligent Vehicles (IV) workshop, 2021 Link

License

Eagleye is provided under the BSD 3-Clause License.

Contacts

If you have further question, email to [email protected] .

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

C++gnssimulocalizationros

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言