/EverySync-Hardware-Suite

An Open Hardware Time Syncronization Sensor Suite

Primary LanguageC++

EverySync -- An Open Hardware Time Syncronization Sensor Suite

EverySync is An Open Hardware Time Syncronization Sensor Suite For Every Casual Sensor In Field Of SLAM.

  • Our project provides a complete, open-source hardware, firmware and software bundle to perform Hardware Time Synchronization of multiple sensors in SLAM system.

Entry of This Project:

News

  • May 26, 2022 Finish first version named RealVIS v1.0 .
  • May 8, 2023 Support at least 3 kinds of Lidar.
  • April 2, 2024 Open-source. Submit to IROS2024. Preprint is comming soon.

Supported drivers

Camera

  • Basler tested with acA1920-155uc
  • HikVision tested with HikVision MV-CA023-10UC

Camera Support From VersaVIS

  • MatrixVision tested with Bluefox 2 MLC200WG, needs adaption for new format
  • PointGrey/Flir tested with Chameleon 3, Blackfly S
  • CamBoard tested with CamBoard pico monstar

TriggeralbeIMU

  • Xsens Support Xsens MTi-100 Series & Xsens MTi-600 Series.Tested with Xsens MTi-300,MTi-630,MTi-670-DK.

IMU Support From VersaVIS

  • ADIS Originally Support ADIS16448 from VersaVIS

Lidar

  • Ouster tested with Ouster-OS1-32
  • Robosense tested with Robosense16
  • Livox tested with Livox Mid-40 , Mid-70 , Mid-360

GNSS/GPS

  • Ublox tested with Ublox ZED-F9P

Citing

  • To Be Released.

Install

Clone and build

cd catkin_ws/src
git clone https://github.com/TheConquerK/EverySync-Hardware-Suite.git
catkin_make
cd everysync/firmware
./setup.sh

Setup udev rule

Add yourself to dialout group

sudo adduser <username> dialout

Copy udev rule file to your system:

sudo cp firmware/98-versa-vis.rules /etc/udev/rules.d/98-versa-vis.rules

Afterwards, use the following commands to reload the rules

sudo udevadm control --reload-rules
sudo udevadm trigger
sudo ldconfig

Note: You might have to reboot your computer for this to take effect. You can check by see whether a /dev/versavis is available and pointing to the correct device.

Configure

Adapt the configuration file to your setup needs. Also check the datasheet for how to configure the hardware switches.

Flash firmware on the VersaVIS board

  • Install the arduino IDE from here. Use version 1.8.2!
    • Note that a small modification of the install script (install.sh) might be required. In particular you may need to change the line RESOURCE_NAME=cc.arduino.arduinoide to RESOURCE_NAME=arduino-arduinoide as per the issue here.
  • Open firmware/versavis/versavis.ino in the IDE
  • Go to File -> Preferences
  • Change Sketchbook location to versavis/firmware/
  • Install board support:
  • Set Tools -> Port -> tty/ACM0 (Arduino Zero), and Tools -> Board -> VersaVIS.
  • Compile using the Verify menu option
  • Flash using the Upload menu option

Usage

  • Adapt everysync/launch/pps_test.launch to your needs.
  • Run with
roslaunch everysync pps_test.launch
  • Wait for successfull initialization.
  • Or initialization by publish rostopic.
./init_cam.sh

Acknowledgements

There are several important works which support this project:

  • VersaVIS: An Open Versatile Multi-Camera Visual-Inertial Sensor Suite
  • Versavis-Hw: VersaVIS Board package for arduino IDE.

Licence

The source code is released under GPLv3 license.

Maintenance

We are still working on extending the proposed system and improving code reliability.

For any technical issues, please contact Xuankang Wu (1035309950@qq.com) .