Team D-FAST: Damla Leblebicioglu, Francis Jacob Kalliath, Arun Madhusudhanan, Shankara Narayanan Vaidyanathan, Tejaswini Dilip Deore
Understanding the state of the robot is a crucial element for autonomous navigation. Several papers investigate SLAM (Simultaneous Localization and Mapping) pipelines in either outdoor or interior contexts, or both. However, only a few works have looked at the difficulties that might develop when moving from an outdoor to an indoor setting or vice versa. In this project, we have explored some frequent problems faced when performing global state estimation during such environ- ment transitions. This project used all three key sensors covered in the Robotics Sensing and Navigation course: Camera, IMU, and RTK-GPS.
name | link |
---|---|
open_outdoor.bag | OneDrive |
urban_outdoor.bag | OneDrive |
semi_indoor.bag | OneDrive |
complex_environment dataset | HKUST-OneDrive |
The MATLAB files in Codes/ folder can be used to plot the trajectory of RTK-GPS and VINS in Google Map for visualization purposes. These files use a MATLAB function 'zoharby/plot_google_map' to plot on google maps using the Google Static Maps API. You have to generate your own API key to use these for your analysis.
The Python files can be used to convert nav_msgs/Path messages given my GVINS to geometry_msgs/PoseStamped Messages to perforn pose error analysis on the evo package.
GVINS was used to perform global state estimation on the complex bag dataset.
Follow the build instructions mentioned in the GVINS repo to run it on the complex_environment dataset.
ORB SLAM 3 was used to analyze Visual-Inertial Navigation Systems.
Use the ORB-SLAM3 repo and follow the instructions to run on your setup.
To use RTK-GPS:
Configure your GNSS receiver to output raw measurement and convert them as ros messages. Use the ublox_driver package.
To configure your device:
Use UART1 to send UBX-RXM-RAWX
, UBX-RXM-SFRBX
and UBX-PVT
message via USB-UART module to your laptop, and send RTCM3 message to UART2 via USB-UART module to F9P. So - UBX
in Protocol out
of UART1 is needed, and RTCM3
in Protocol in
of UART2 is needed.
Message rate in Configure-RATE
may also be set to 10Hz.
We thank the authors of GVINS, ORB-SLAM3, NTRIP-ROS, ublox_driver for their excellent packages!