IBRAHIM HROOB

Localization · SLAM · Field autonomy

Dr Ibrahim Hroob

Head of Autonomy at JABAS.AI

Estimation and navigation software for robots that work where GPS doesn't: under canopy, inside polytunnels, between crop rows. The work includes a tightly coupled LiDAR-inertial odometry system built from scratch and a ROS 2 autonomy stack that runs on three robot platforms. It builds on a PhD and first-author papers in RA-L and RAS on long-term 3D LiDAR localization in changing environments.

frame: map · top-down · 1 cell = 1 mx 0.00 y 0.00 θ 90.0°
5first-author papers (RA-L, RAS, ECMR, IAS, TAROS)
160+citations · h-index 7
3robot platforms running the navigation stack
7.9 cmLIO position RMSE over 4,800 field scans
8ROS 2 packages authored or led in production

Focus areas

Robot autonomy from sensor timestamp to farm deployment

State estimation & SLAM

Factor-graph LiDAR-inertial odometry, IMU preintegration, scan matching, sensor fusion, and long-term localization against maps that change between visits.

  • GTSAM, iSAM2, fixed-lag smoothing
  • Custom factors and observability analysis
  • Learned point-stability filters (PyTorch)

Production ROS 2 autonomy

Nav2 controller plugins, MPPI, topological route planning, launch orchestration, and safety and metrics tooling for robots in daily commercial use.

  • Modern C++17, Python
  • Nav2, behaviour trees, lifecycle nodes, DDS
  • Docker, CI, replay benchmarks, gtest

Research to field

Methods go from paper to a robot that runs all day. They are measured on real logs, with benchmarks that report coverage, CPU and failure modes alongside accuracy.

  • Reproducible bag-replay evaluation
  • Sim-to-real: custom Gazebo sensor plugins
  • Debugging drift and frame issues on hardware

Production work · JABAS.AI navigation stack

A GPS-free navigation stack for agricultural robot fleets

JABAS.AI spun out of the University of Lincoln and Ceres Agri-Tech in 2026 to provide autonomy-as-a-service for farm robots. The problem is real and close to home. On soft-fruit farms, up to a fifth of the work is moving trays of picked fruit, often under polytunnel plastic where GPS can't be trusted. Our stack lets robots from different manufacturers do that job without GPS. It runs on the AgileX Hunter, Dynium Gophar and Dogtooth platforms from one codebase, in simulation and on hardware, and is in on-farm trials with commercial growers.

The most rewarding part of the work is the short loop between a derivation on the whiteboard and a robot driving a real polytunnel row, with the field logs showing what to improve next.

jabas_lio

Written from scratch

Tightly coupled LiDAR-inertial odometry for ROS 2. A sliding-window factor graph fuses 200 Hz IMU with 10 Hz Livox Mid-360 scans and estimates pose, velocity and IMU bias jointly. It was built for crop rows and tunnels, where the geometry is repetitive and scan matching alone degenerates.

  • GTSAM IncrementalFixedLagSmoother (iSAM2) with CombinedImuFactor and bias feedback into preintegration
  • Per-point IMU deskewing, voxel map with incremental PCA normals, robust point-to-plane matching
  • Custom GTSAM factors for wheel-odometry and command-velocity motion priors. Their weights adapt to LiDAR observability.
  • Frame-health gating, stationary locking, published covariances, and a GPS fusion node
  • Synthetic LiDAR/IMU generator for hardware-free tests; replay and benchmark tooling

C++17 · Python · GTSAM · Eigen · ROS 2 · ~9.6k lines · 12 test suites

7.9 cmaligned position RMSE over 4,800 field scans (8 min), GPS used only as reference
8.3 mmmax error while stationary over 20 s, with zero false path length
30–65 msper-frame cost inside a 100 ms budget, so it holds 3× real-time replay
−21%CPU from profile tuning for +5 mm RMSE, measured over the full bag
jabas_lio pipeline: IMU and LiDAR are deskewed, matched against a voxel map, and fused in a fixed-lag factor graph that outputs odometry and feeds bias back to preintegration IMU 200 Hz LiDAR 10 Hz preintegrate deskew + voxel point-to-plane fixed-lag iSAM2 voxel map /lio/odom bias feedback map correspondences

nav2_costmap_row_controller

Author

A Nav2 controller plugin for Ackermann robots in polytunnel rows. It finds the row boundaries in the costmap or point cloud, infers corridor width on its own, and keeps going when it can only see one side. It travels the exact planned distance even when localization drifts. Validated with a deterministic harness that runs the real Nav2 costmap code: 18 runs and 6,338 control cycles.

C++ · Nav2 plugin API · costmap_2d · GitHub Actions CI

nav2_mppi_controller

Lead

Nav2's latest MPPI controller, backported into the stack with a new four-wheel-steering motion model for the Gophar platform, with tests. It includes "MPPI Control Room", a web UI for live telemetry, velocity monitoring and critic tuning on the robot.

C++ · xtensor · MPPI · JavaScript

navstack_bringup

Author

Launch and orchestration for the whole stack. It covers GNSS, LIO, point-cloud preprocessing, Nav2, EKF/NavSat fusion, topological navigation, metrics and command safety guards. One codebase handles three platforms on both real hardware and Gazebo, with per-platform Docker devcontainers.

Python launch · Docker · robot_localization · tmule

topological_navigation

Core contributor

Contributor to LCAS's open-source topological planner, which has 1,700+ commits. Contributions include the ROS 2 port, per-route-segment metric maps, occupancy-grid publishing, edge actions that set ROS 2 parameters on any node, and topomap editing and image-export tools.

Python · ROS 2 actions · Nav2

autonomy_metrics_logger

Author

Tracks autonomous and manual distance, interventions and collisions, and logs each event to MongoDB with a full system snapshot. It reports mean distance between interventions (MDBI) and is the source of truth for distance-based billing. If MongoDB goes down, the node keeps running and reconnects in the background.

Python · MongoDB · YAML-driven config

pointcloud_processing

Author

Reusable composable nodes for LiDAR preprocessing: transform, crop-box, voxel downsampling, and Patchwork++ ground and outlier removal. They feed both the costmaps and the row controller.

C++ · PCL · rclcpp_components · Patchwork++

livox_mid360_gz

Author

A Gazebo Harmonic system plugin that reproduces the Livox Mid-360's non-repetitive scan pattern on a GPU lidar backend. It keeps simulated sensor data close enough to the real sensor for LIO and controller testing.

C++ · Gazebo Sim · ROS 2 Jazzy

Kalman pole tracker

Author

Tracks polytunnel poles through occlusion and noisy detections. The tracks give row boundaries for in-row planning and stabilise localization where GPS is unavailable.

C++ · Kalman filtering · data association

Work with JABAS.AI

Want your robot to move autonomously? JABAS.AI brings GPS-free navigation to robots from different manufacturers. Contact the team to talk about your platform.

info@jabas.ai · ibrahim@jabas.ai

Research · first author

Which parts of a changing world can a robot trust?

The PhD research asked which LiDAR points stay stable over weeks and seasons, and how to learn that without manual labels. The result is a family of self-supervised point-stability filters that make scan-to-map localization robust in dynamic environments.

IEEE RA-L2024 · vol 9(4)

Generalizable Stable Points Segmentation for 3D LiDAR Scan-to-Map Long-Term Localization

I. Hroob, B. Mersch, C. Stachniss, M. Hanheide

Learns per-point stability from 3D LiDAR alone and generalizes across environments, improving long-term scan-to-map localization. Joint work with Cyrill Stachniss's lab at the University of Bonn.

Robotics and Autonomous Systems2024 · vol 181

Adaptive Robot Localization in Dynamic Environments through Self-Learnt Long-Term 3D Stable Points Segmentation

I. Hroob, S. Molina, R. Polvara, G. Cielniak, M. Hanheide

Unsupervised spatio-temporal labelling plus a stability regression network. Using only long-term stable points gives more reliable localization on long missions than using the full scan.

ECMR2023 · Coimbra

Learned Long-Term Stability Scan Filtering for Robust Robot Localisation in Continuously Changing Environments

I. Hroob, S. Molina, R. Polvara, G. Cielniak, M. Hanheide

A stability scan filter for agricultural fields. It drops points that will not persist before they reach localization.

IAS-182023 · Suwon

LTS-NET: End-to-End Unsupervised Learning of Long-Term 3D Stable Objects

I. Hroob, S. Molina, R. Polvara, G. Cielniak, M. Hanheide

Learns continuous point-wise stability labels from historical scans. It beats direct static-versus-dynamic classification on NCLT.

TAROS2021 · 39 citations

Benchmark of Visual and 3D LiDAR SLAM Systems in Simulation Environment for Vineyards

I. Hroob, R. Polvara, S. Molina, G. Cielniak, M. Hanheide

Compares LIO-SAM, StaticMapping, ORB-SLAM2 and RTAB-Map across four vineyard scenarios with repetitive structure and uneven terrain.

Selected co-authored work

  • J. Field Robotics 2025Resilient Timed Elastic Band Planner for Collision-Free Navigation in Unknown Environments
  • IEEE RA-L 2025Navigating Narrow Spaces: A Comprehensive Framework for Agricultural Robots
  • J. Field Robotics 2023Bacchus Long-Term (BLT) Data Set: Acquisition of the Agricultural Multimodal BLT Data Set with Automated Robot Deployment
  • IEEE RAM 2024Robotic Grape Inspection and Selective Harvesting in Vineyards: A Multisensory Robotic System with Advanced Cognitive Capabilities

Full list and live citation counts on Google Scholar. Counts on this page as of October 2026.

Experience

Embedded systems, then a PhD, then field autonomy

2025 – now

Head of Autonomy · JABAS.AI, Lincoln

Technical lead for localization and navigation at a University of Lincoln and Ceres Agri-Tech spin-out. Work covers the LIO, the controllers and the stack architecture, plus support for on-farm trials with commercial growers.

2024 – 2025

Robotics Software Engineer · University of Lincoln (LCAS)

Designed a navigation-agnostic ROS 2 autonomy stack, LiDAR localization for GPS-denied farms, and a Kalman-filter pole tracker for in-row boundary estimation.

2023

Research Assistant, Robot Autonomy · University of Lincoln

Brought robots up on ROS 2: ros2_control, URDF, and sensor and actuator integration for real and simulated platforms.

2020 – 2024

PhD, Computer Science (Mobile Robotics) · University of Lincoln

Learning-based long-term localization in dynamic environments. Part of the EU H2020 BACCHUS project.

2018 – 2021

Embedded Systems Engineer · Dicam Technology · KTP Associate · University of Essex

Real-time firmware and Modbus control networks for farm automation. Wrote UART, I²C and SPI drivers, Bluetooth links, over-the-air updates, and fuzzy control.

Education

MSc Embedded Systems, Distinction · University of Essex, 2017

BEng Mechatronics, First Class · Palestine Polytechnic University, 2014

Contact

Get in touch

For research, talks or questions about LiDAR-inertial odometry, long-term localization and field robotics.

Robot autonomy

Want your robot to drive itself? To make your robot move autonomously, contact the JABAS.AI team.

info@jabas.ai · ibrahim@jabas.ai

Email
ibrahim.hroub7@gmail.com
LinkedIn
in/ibrahim-hroob
GitHub
ibrahimhroob
Scholar
Google Scholar profile
JABAS.AI
info@jabas.ai
ibrahim@jabas.ai
Based
Lincoln, UK