The source code is released under the MIT License. The code works best on Ubuntu 16.04
The code is based on ROS.
We use OpenCV to visualize and manipulate images.
We use Eigen3 for matrix operations.
To publish the event messeages from an event camera, please use the rpg_dvs_ros package.
- Create a catkin workspace (for first-time user of ROS):
$ cd
$ mkdir -p catkin_ws/src
$ cd catkin_ws/src
$ catkin config --init --mkdirs --extend /opt/ros/kinetic --merge-devel --cmake-args -DCMAKE_BUILD_TYPE=Release
- Clone this repository:
$ cd ~/catkin_ws/src
$ git clone https://github.com/Haram-kim/Globally_Aligned_Events.git
- Build the packages:
$ catkin build event_publisher
$ catkin build event_bundler
$ catkin build rotation_estimator
- Set up the environment:
. devel/setup.bash
When you use data set (check out the format described in below),
set data set directory in ~/catkin_ws/src/event_publisher/launch/event_publisher.launch
.
<param name="filename" type="string" value="{Set this value}" />
Launch the execute file.
roslaunch rotation_estimator rotation_estimation.launch
When you use an event camera, install the rpg_dvs_ros package.
Launch the execute file.
roslaunch rotation_estimator rotation_estimation_davis.launch
In ~/catkin_ws/src/event_publisher/config/config.yaml
,
width
and height
: the camera parameters of the data set.
Event.delta_time
and Event.delta_time
: the events number of an event array message.
In ~/catkin_ws/src/rotation_estimator/config/config.yaml
,
sampling_rate
: rate of systemmatic samplling for events.
map_sampling_rate
: rate of systemmatic samplling for globally aligned events.
event_image_threshold
: event image theshold T_rho.
rotation_estimation
: on/off (1/0) the proposed method.
run_index
: 0- runs in real-time, x- runs for the x temporal windows instead of real-time operation.
/dataset_name
/image
/events.txt
/images.txt
/imu.txt
/groundtruth.txt
/image
/{timestamp}.png
/{timestamp}.png
...
# events
# timestamp x y polarity
{timestamp} {x} {y} {polarity}
{timestamp} {x} {y} {polarity}
...
# grey images
# timestamp filename
{timestamp} image/{timestamp}.png
{timestamp} image/{timestamp}.png
...
# imu
# acceleration gyroscope
# timestamp ax ay az gx gy gz
{timestamp} {ax} {ay} {az} {gx} {gy} {gz}
{timestamp} {ax} {ay} {az} {gx} {gy} {gz}
...
# groundtruth
# position quaternion
# timestamp x y z qx qy qz qw
{timestamp} {x} {y} {z} {qx} {qy} {qz} {qw}
{timestamp} {x} {y} {z} {qx} {qy} {qz} {qw}
...