Experimental Jazzy build . Untested!
experimental fork for jazzy/ gazebo harmonic
ROS 2 workspace for precision agriculture robotics, combining simulation, navigation, computer vision inference, and field traceability analytics.
git clone https://github.com/ilovemicroplastics/caatingarobotics.git
cd caatingaroboticsEdit the clone repo link to be correct.
source /opt/ros/jazzy/setup.bash
rosdep update
rosdep install --from-paths src --ignore-src -r -y
colcon build --symlink-install
source install/setup.bashTo run when already built.
source /opt/ros/jazzy/setup.bash
source install/setup.bash
ros2 launch agro_robot_sim fazenda_completa.launch.pyManual test drive. (in a new terminal)
cd caatingarobotics_harmonic_port_test
source /opt/ros/jazzy/setup.bash
source install/setup.bash
ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args --remap cmd_vel:=/cmd_velThis project addresses a practical agriculture challenge: inspect large crop areas, detect infestation signals, and support targeted intervention with fewer inputs.
The solution integrates:
- a ROS 2 simulation stack for robot operation and mission flow,
- a YOLO-based vision pipeline for on-board detection,
- analytics and traceability outputs to support agronomic decisions.
The workspace is organized in two main ROS 2 packages:
agro_robot_sim: robot model, Gazebo worlds, SLAM/navigation launch flows, mission scripts.caatinga_vision: camera source, YOLO inference, infestation analytics, photo capture pipeline.
High-level data flow:
- Sensor/camera data is published.
- Vision nodes run inference and publish detections.
- Analytics nodes aggregate detections and generate status/recommendations.
- Navigation and mission layers consume maps/localization for route execution.
- ROS 2 jazzy
- Gazebo harmonic + Nav2 + SLAM Toolbox
- YOLO (Ultralytics), OpenCV,
cv_bridge - Python (
rclpy) and CMake (ament_cmake) - PyQt5 operational panel tooling
.
├── datasets/
│ └── agro_v1/
│ └── data.yaml
├── src/
│ ├── agro_robot_sim/
│ │ ├── launch/
│ │ ├── config/
│ │ ├── maps/
│ │ ├── urdf/
│ │ └── worlds/
│ └── caatinga_vision/
│ ├── caatinga_vision/
│ ├── launch/
│ ├── config/
│ └── models/
└── README.md
- Ubuntu Noble
- ROS 2 jazzy
colconrosdep
cd /home/joaodemoura/agro_robot_ws
source /opt/ros/humble/setup.bash
rosdep update
rosdep install --from-paths src --ignore-src -r -y
colcon build --symlink-install
source install/setup.bashStart full farm simulation/navigation launch:
source /opt/ros/humble/setup.bash
source /home/joaodemoura/agro_robot_ws/install/setup.bash
ros2 launch agro_robot_sim fazenda_completa.launch.pyOptional SLAM mode:
ros2 launch agro_robot_sim fazenda_completa.launch.py slam:=TrueStart the IA pipeline:
source /opt/ros/humble/setup.bash
source /home/joaodemoura/agro_robot_ws/install/setup.bash
ros2 launch caatinga_vision ia_pipeline.launch.py model_path:=~/models/best.ptPhoto capture pipeline:
ros2 launch caatinga_vision photo_capture.launch.py session_id:=sess_demoThis repository intentionally excludes large artifacts from version control.
You must provide locally:
- Dataset metadata path:
datasets/agro_v1/data.yaml(already included) - Dataset images/labels in local storage when training
- YOLO model weights, for example:
~/models/best.pt
Use this section to attach media when showcasing the project:
- Simulation + navigation demo GIF placeholder:
docs/media/sim_navigation.gif - Vision inference overlay screenshot placeholder:
docs/media/inference_overlay.png - Analytics/traceability output screenshot placeholder:
docs/media/traceability_status.png
How to generate media:
- Run simulation and IA pipelines together.
- Record screen using OBS or GNOME Screen Recorder.
- Export short GIFs/screenshots and save them under
docs/media/. - Update this README with embedded markdown images.
- Full field validation with physical hardware is not part of this repository.
- Runtime quality depends on camera conditions and YOLO model quality.
- Some launch files are tailored to ROS 2 Humble and current package versions.
- Add repeatable benchmark scenarios for navigation and detection quality.
- Add automated unit/integration tests for critical nodes.
- Publish curated demo media and performance metrics per release.
- GitHub:
joaodemouragy-hash - Email:
joaodemouragy@gmail.com