Best practices for integrating a robotic arm on a mobile rover using 2D LiDAR SLAM (Nav2 / ROS 2)
Hello everyone,
I am working on a ROS 2 (Jazzy) based autonomous agricultural rover that uses 2D LiDAR-based SLAM and Nav2 for navigation in outdoor, unstructured environments. I would like to get feedback from the community on design and integration best practices before finalizing the mechanical layout.
Current setup
-
Differential / rocker-bogie style wheeled rover
-
2D LiDAR (e.g. RPLIDAR-class sensor) for SLAM and obstacle avoidance
-
IMU + wheel encoders fused using
robot_localization -
Navigation using
slam_toolboxandnav2 -
URDF/Xacro-based robot description
-
Planning to add a small 4-DOF robotic arm for tasks like crop inspection, watering, and weed control
Core concern
The robotic arm will be mounted on the top chassis plate, and I want to avoid degrading LiDAR-based SLAM and navigation performance.
Specifically, I am concerned about:
-
The arm occluding or reflecting LiDAR beams
-
Moving arm links being perceived as obstacles or mapped into the environment
-
Best mechanical placement of the arm relative to the LiDAR scan plane
-
Whether the arm should be considered part of the navigation robot or treated as a separate subsystem operationally
Questions
-
From experience, is it best practice to:
-
Mount the LiDAR above the arm’s maximum swept volume, or
-
Keep the arm entirely below the LiDAR scan plane and enforce a navigation-safe stowed pose?
-
-
When using 2D SLAM, do most mobile manipulators:
-
Pause SLAM updates while the arm is moving?
-
Rely purely on self-filtering via the robot model in the costmaps?
-
Or physically ensure the arm never intersects the LiDAR plane?
-
-
In terms of development workflow:
-
Is it better to fully stabilize the rover + navigation stack first and integrate the arm later?
-
Or to include the arm in the URDF early (even if unused initially) to avoid later TF and geometry changes?
-
-
Are there any well-documented open-source ROS 2 robots (mobile manipulators) you would recommend studying specifically for LiDAR + Nav2 integration?
I am intentionally keeping the system conservative (base stops while the arm operates) rather than attempting full mobile manipulation.
Any insights, design rules, or references from real-world systems would be greatly appreciated.
Thank you for your time.
-