Skip to content

Simple Visual Inertial Synchronization between an IMU and other sensors with external triggering/strobes through host-based data association.

License

Notifications You must be signed in to change notification settings

robustrobotics/svis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

svis

This is a meta-project that contains all of the components that create a Simple Visual Inertial Synchronization approach. The components are defined as follows.

  • svis: The core algorithmic C++ library that matches camera strobe messages to camera images and gives them a common time based on the teensy clock.
  • svis_ros: The ROS wrapper C++ library that handles the input and output from the core svis library.
  • svis_teensy: The C and C++ code, dependencies, and utilities that build the teensy driver and allow it to be uploaded to the board.
  • svis_cad: The solidworks CAD files for the svis mounting structure.
  • svis_pcb: The Eagle PCB files for the svis circuit board.

Dependencies

A list of noteable dependencies can be found below.

  • catkin_tools
  • Ubuntu 16.04
  • ROS Kinetic
  • ros-kinetic-pointgrey-camera-driver
  • libusb-dev
  • flycapture SDK

Use the following commands to install the required apt dependencies.

sudo apt install python-catkin-tools
sudo apt install ros-kinetic-pointgrey-camera-driver
sudo apt install libusb-dev
sudo apt install libc6-i386

Add user to dialout group.

sudo adduser $USER dialout

Use the following commands to install the flycapture SDK.

cd /path/to/svis/svis_ros/scripts
./install_flycapture.sh

Installation Steps:

  • Enter sudo password: ["password", Enter]
  • Confirm apt package installation: [Enter]
  • Install FlyCapture2 SDK: [y, Enter]
  • Add udev entry: [y, Enter]
  • Enter username: ["username", Enter]
  • Confirm username: [y, Enter]
  • Add username to flirimaging group: [y, Enter]
  • Restart udev daemon: [y, Enter]

Quick Start

The rough outline for running svis is as follows. More details can be found in the individual package README files.

  • Build svis and svis_ros code.
mkdir -p /path/to/catkin_ws/src
cd /path/to/catkin_ws/src
git clone http://github.com/jakeware/svis
cd ../
source /opt/ros/kinetic/setup.bash
catkin init
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release
catkin build
  • Build svis_teensy code.
cd ./path/to/svis/svis_teensy/scripts
./build_svis_teensy.sh
  • Install the udev rules for the teensy.
sudo cp /path/to/svis/svis_teensy/utilities/49-teensy.rules /etc/udev/rules.d/
  • Upload teensy driver. Make sure the teensy's micro USB cable is connected. When prompted, press the program button on the teensy.
cd ./path/to/svis/svis_teensy/scripts
./upload_svis_teensy.sh
  • Start the Pointgrey camera driver.
cd /path/to/catkin_ws
source ./devel/setup.bash
roslaunch svis_ros flea3.launch
  • Start the svis_ros nodelet.
cd /path/to/catkin_ws
source ./devel/setup.bash
roslaunch svis_ros svis_ros_nodelet.launch

About

Simple Visual Inertial Synchronization between an IMU and other sensors with external triggering/strobes through host-based data association.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •