Skip to content

SaxionMechatronics/multi_vio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

multi_vio

ROS 2 launcher package for starting an Arducam node, a USB camera node, and the IMU launch file together. The sensor stack is intended for omni-directional multi-camera Visual-Inertial Odometry plus marker based drift handling.

What This Package Contains

  • Launch file: launch/multi_vio_with_imu.launch.py

Camera support comes from both arducam_camarray_wrapper and usb_cam.

Prerequisites

The following packages must be cloned into the same workspace (src/) before building:

1. Xsens MTi ROS Driver

git clone -b ros2 https://github.com/xsenssupport/Xsens_MTi_ROS_Driver_and_Ntrip_Client.git

Important: use the ros2 branch. The default main branch is ROS 1 only.

USB low-latency mode — if the IMU is connected over USB, run this once before launching (improves timestamp accuracy):

sudo setserial /dev/ttyUSB0 low_latency

Unsynchronised (no hardware sync) setup — if cameras and IMU are not hardware-synced, set time_option: 2 in the Xsens config file (param/xsens_mti_node.yaml) so the driver stamps IMU messages with the host ROS clock instead of the device clock:

time_option: 2   # use host ROS time (required when not hardware-synced)

2. Arducam Camera Array Wrapper

git clone https://github.com/SaxionMechatronics/arducam_camarray_wrapper.git

Build

cd ~/agps_ws
colcon build --packages-select multi_vio --symlink-install
source install/setup.bash

Launch Camera + IMU

ros2 launch multi_vio multi_vio_with_imu.launch.py

By default the usb_cam launch argument prefers the first stable V4L2 symlink it finds under /dev/v4l/by-id. You can override it explicitly:

ros2 launch multi_vio multi_vio_with_imu.launch.py \
  usb_video_device:=/dev/v4l/by-id/your-camera-name

To point Arducam at a different parameter file:

ros2 launch multi_vio multi_vio_with_imu.launch.py \
  camera_params:=/path/to/arducam_quadcam.yaml

If the IMU package or launch filename differs in your setup:

ros2 launch multi_vio multi_vio_with_imu.launch.py \
  imu_launch_package:=xsens_mti_ros2_driver \
  imu_launch_file:=xsens_mti_node.launch.py

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors