RoMu4o, is a robotic manipulation unit for orchard operations, designed to provide an autonomous solution for continuous orchard monitoring. This robotic system is capable of navigating unstructured agricultural environments for crop monitoring and proximal hyperspectral leaf sensing. The hardware is comprised of 1) 6-DOF robotic manipulator 2) RGBD camera 3) two-finger gripper end-effector integrated with a hyperspectral sensing system 4) an independent VIS-NIR light source for referencing and self-calibration 5) crawler-type ground robot 6) electric and control boxes, hardware drivers, portable batteries, processing unit, Ethernet hub, and auxiliary hardware needed for the UGV's navigation.
UCM-AgBot-ROS2/
├── agbot/ # Main robot packages
│ │
│ ├── robot_bringup/ # RoMu4o launch files and setup
│ ├── robot_control/ # Mobile Robot control
│ ├── robot_description/ # URDF and robot model
│ └── robot_simulator/ # Simulation setup
│
├── cobot/ # TM5 collaborative arm
├── custom_interfaces/ # Custom messages and services
├── devices/ # Driver packages
├── sensors/ # Driver packages
├── vision/ # Perception module
├── .gitignore
├── .gitmodules # Forked Repositories
├── LICENSE
└── README.md # Project documentation
-
Create a ROS2 workspace:
mkdir -p ~/ros2_ws/src cd ~/ros2_ws/src
-
Clone the repository:
git clone --recurse-submodules https://github.com/mehradmrt/UCM-AgBot-ROS2
-
Return to the workspace root:
cd ../
-
Install ROS dependencies:
rosdep update rosdep install --from-paths src --ignore-src -r -y
-
Build the workspace:
colcon build
-
Source the environment:
source /opt/ros/foxy/setup.bash source install/setup.bash
-
Launch sensors and devices:
ros2 launch robot_bringup sensors.launch.py imu:=true gnss:=true lidar2d:=true realsense:=true encoders:=true
-
Launch robot bringup:
ros2 launch robot_bringup bringup.launch.py
-
Launch robot localization:
ros2 launch robot_bringup localization.launch.py
-
Launch robot navigation:
ros2 launch robot_bringup navigation.launch.py
-
Launch sensors and devices:
ros2 launch robot_bringup sensors_arm.launch.py
-
Launch the robotic manipulation pipeline:
ros2 launch tm_moveit_cpp_demo tm5-900_run_moveit_cpp.launch.py robot_ip:=192.168.1.19
-
Run the perception pipeline:
ros2 run leaf_extraction instance_segmentation
Mortazavi, M., Cappelleri, D.J., Ehsani, R., 2025. RoMu4o: A Robotic Manipulation Unit
For Orchard Operations Automating Proximal Hyperspectral Leaf Sensing. arXiv preprint
arXiv:2409.19786.