ROS 2 workspace for the IBEX autonomous ground vehicle platform.
- Ubuntu 22.04
- ROS 2 Humble
python3-vcstool,python3-colcon-common-extensions,python3-rosdep
sudo apt install python3-vcstool python3-colcon-common-extensions python3-rosdep
sudo rosdep init # only first time on a machine
rosdep updategit clone <this-repo-url> ibex_ws
cd ibex_ws
mkdir -p src
vcs import src < ibex.repos
rosdep install --from-paths src --ignore-src -r -y
colcon build --symlink-install
source install/setup.bashsudo apt install libzip-dev
sudo ufw allow 7502/udp
sudo ufw allow 7503/udpConfigure sensor to a link-local subnet (169.254.x.x range) matching host.
[any specific notes about USB rules, drivers, etc.]
<your_package_1>— brief description<your_package_2>— brief description- [etc.]
To pull the latest pinned versions:
vcs import src < ibex.repos --forceTo update a pin, edit ibex.repos and commit.
Platform: ROS2 Humble | Ubuntu 22.04
- Step 1: Install Required Libraries
- Step 2: Connect the Cameras
- Step 3: Set Up ROS2
- Step 4: Start and View Camera Output
The following four libraries are required:
| Library | Version |
|---|---|
| IMEC HSI Mosaic | 1.12.0.0 |
| Ximea SDK | LTS v4.32.0.0 |
| Pleora SDK | 6.5.3 |
| Photon Focus SDK | 2025.1.0_Linux64 |
Copy the contents of the place_in_opt folder into /opt.
Note: Copy the contents of the folder, not the folder itself. You will need superuser privileges to edit
/opt. Run the following command to open the file explorer with superuser privileges:sudo nautilus
Each library can be installed separately from the corresponding vendor websites:
IMEC HSI Mosaic
- URL: https://imecinternational.sharepoint.com/sites/hsisupport
- Contact: hsisupport@imec.be (contact for portal access)
- Navigate to:
Camera > Software > HSI Mosaicand download the Linux installer
The default installer installs version 2.11.10.0. Contact support to request version 1.12.0.0.
Ximea SDK
- URL: https://www.ximea.com/software-downloads
- Place the downloaded
.tgzinstaller inside/opt/imec/hsi-mosaic/resources/installers - Follow the installation instructions on the website
Pleora SDK
- URL: https://supportcenter.pleora.com/s/article/eBUS-SDK-6-x-x-Software-and-Release-Notes-Dwnload
- Contact: support@pleora.com (contact for access)
- Account: Email reichenberg.a@northeastern.edu for login credentials
- Place the downloaded
.tgzinstaller inside/opt/imec/hsi-mosaic/resources/installers - Install to the
/optfolder
Photon Focus SDK
- URL: https://www.photonfocus.com/support/software/
- Place the downloaded
.tgzinstaller inside/opt/imec/hsi-mosaic/resources/installers - Install to the
/optfolder
After installation, verify that the following directories exist in /opt:
/opt/imec
/opt/XIMEA
/opt/pleora
/opt/PFSDK_2025.1.0_Linux64
Background: HSI Mosaic was developed for Ubuntu 18 and is not natively compatible with Ubuntu 22. The SDK versions listed above are Ubuntu 22 compatible, but HSI Mosaic still references the old library filenames. Symbolic links redirect HSI Mosaic to the updated libraries. This works because Pleora eBUS SDK 6.5.3 (Ubuntu 22) uses the same headers as 6.1.1 (Ubuntu 18).
Pleora eBUS SDK 7.0.0 is not compatible with this approach — use version 6.5.3.
Run the following commands:
cd /opt/pleora/ebus_sdk/Ubuntu-22.04-x86_64/lib
ln -s libPvBase.so.6.5.3.7155 libPvBase.so.6.1.1.5002
ln -s libPvBuffer.so.6.5.3.7155 libPvBuffer.so.6.1.1.5002
ln -s libPvDevice.so.6.5.3.7155 libPvDevice.so.6.1.1.5002
ln -s libPvGenICam.so.6.5.3.7155 libPvGenICam.so.6.1.1.5002
ln -s libPvSerial.so.6.5.3.7115 libPvSerial.so.6.1.1.5002
ln -s libPvStream.so.6.5.3.7115 libPvStream.so.6.1.1.5002
ln -s libPvSystem.so.6.5.3.7115 libPvStream.so.6.1.1.5002Run the following commands:
cd /opt/pleora/ebus_sdk/Ubuntu-22.04-x86_64/lib/genicam/bin/Linux64_x64
ln -s libGCBase_gcc48_v3_1.so libGCBase_gcc42_v3_1.so
ln -s liblog4cpp_gcc48_v3_4.so liblog4cpp_gcc42_v3_1.so
ln -s libNodeMapData_gcc48_v3_4.so libNodeMapData_gcc42_v3_1.soThe IMEC camera must be connected and disconnected in a specific order:
- Connecting: 1. Connect USB to computer > 2. Connect power
- Disconnecting: 1. Disconnect power > 2. Disconnect USB from computer
The Ximea and Alvium cameras can be connected via USB in any order.
After connecting all cameras, set the correct USB permissions:
# List connected USB devices and find the bus and device numbers
lsusb
# Set permissions for each camera (repeat for all three)
sudo chmod 777 /dev/bus/usb/[bus_number]/[device_number]Run the chmod command three times — once for each camera (Pleora/IMEC, Ximea, Allied Vision).
Install ROS2 Humble if not already installed:
Copy aidan_ws to your desired directory, then open a terminal and navigate to it:
cd aidan_wsSource the ROS2 Humble underlay:
source /opt/ros/humble/setup.bashNote: On the lab computer this may happen automatically. To make it permanent, run:
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrcReference: https://docs.ros.org/en/humble/Tutorials/Beginner-CLI-Tools/Configuring-ROS2-Environment.html
Build the workspace and source the overlay:
colcon build
source install/setup.bashNote: The current configuration is set up for testing and only outputs images from the IMEC camera.
In a terminal while in aidan_ws, launch the cameras:
ros2 launch hyper_drive hyper_drive_launch.pyIn a new terminal, open the image viewer:
ros2 run rqt_image_view rqt_image_viewClick the refresh button at the top of the image viewer, then select a topic from the dropdown to view the output of the different spectral bands from the hyperspectral camera.