====== - Farmrobot ====== ===== Meetings ===== Donnerstags, 16:00: [[https://hsrw.webex.com/hsrw/j.php?MTID=m9c181faf550b7bdddd7aaa1882cd1341|IP_Farmrobot]]\\ ===== DevOps===== https://dev.azure.com/farmrobot/ ===== Protokolle ===== [[projects:farmrobot:protokoll20201210| Protokolle]] ====== ====== {{https://www.hochschule-rhein-waal.de/sites/default/files/images/2020/10/09/bild_cross_innovation_lab_niederrhein_erste-aktive_phase.jpg?650}}\\ ===== - Produktbeschreibung ===== | {{youtube>91kHMScE7b0?large}} | | Video of Ahmed's first robot test. For now I (RB) uploaded the video to my \\ personal channel but later it should be moved to another channel dedicted \\ to the Fablab or the student project. | ===== - Technische Spezifikationen ===== ^ Version | Prototyp 2, Spitzname - v0.2.20201125 | ^ Fortschritt | Prototyp | ^ Version Date | November 2020 | ^ Terms of Use | GPL / CC-BY-SA | ^ Zusammenfassung | Ein Open-Source-Roboters zur Unkrautbekämpfung im Acker- und Gemüsebau, ebenso, wie für den Einsatz auf Wiesen im Naturschutzgebiet | ^ Schlüsselwörter | | ^ Beschreibung | Der Farmroboter ist ein Mini-Traktor der gezielt Unkraut vernichten kann. Er verfügt er über einen Roboterarm mit dem er Pestizide direkt auf die unerwünschten Pflanzen aufbringen kann. Er kann sowohl manuell gesteuert werden als auch autonom einer pgrammierten GPS-Route folgen. Über eine Kamera und ein Bilderkennungssystem kann er Pflanzen erkennen die unter Ihm liegen und automatisch die Sprühvorrichtung steuern. | ^ Vorgänger | Versions 0.1 | ^ Leistung | 700W | ^ Gewicht | | ^ Dateien | [[https://gitlab.com/Romanizer/gcode-py|Realtime G-code (standalone)]], [[https://gitlab.com/fablabkamplintfort1/farmrobot|YOLOv5 (+ G-code)]] | ===== - Systemdiagram ===== (Bild Systemdiagram) ===== - Bill of Materials ===== [[https://docs.google.com/spreadsheets/d/1vEVS2FyAK0r8Q0-VGg7o1y24jITFT6_LKFC6lctn03A/edit?usp=sharing|Bill of Materials]] ===== - Funktionen ===== ==== - Motorisierung ==== Der Farmrobt verfügt über zwei 350W Gleichstrom-Motoren. \\ Kettenantrieb \\ Bereifung \\ Drehmoment \\ Geländetauglichkeit \\ Motortreiber \\ Einstellungen in Pixhawk \\ * Details ↪[[projects:farmrobot:Motorisierung| Motorisierung]] ==== - Batteriemanagement ==== The battery management system is a important part of the robot. It is responsible to monitor all values regarding electrical power and available energy for the robot. It also has protection features that ensure, that the battery used lasts as long as possible to make the system safe, reliable and sustainable. Based on the measured values, the system can decide when to return to the home base for charging. Also the important metrics can be sent to a control station to let the owner know about the status of the system. This part of the project tries to implement a monitoring system for the important metrics of the power delivery system.\\ ↪[[projects:farmrobot:Batteriemanagement| Batteriemanagement]] ==== - Manuelle Steuerung mit Fernbedienung ==== ↪[[projects:farmrobot:Manuelle Steuerung mit Fernbedienung| Manuelle Steuerung mit Fernbedienung]] ==== - Steuerungs-Kamera ==== The FPV Camera serves a video stream as the first person view (FPV) of the Robot. This makes it possible to see the position of the Robot and anything in its way. \\ ↪[[projects:farmrobot:Steuerungs-Kamera| Steuerungs-Kamera]] ==== - Objektverfolgung & Unkrauterkennung ==== This project utilizes [[https://github.com/ultralytics/yolov5|YOLOv5]] to detect and track various kinds of weeds. The ''X'' and ''Y'' coordinates generated by [[https://github.com/ultralytics/yolov5|YOLOv5]] are then used to control a delta arm via G-code that sprays the detected weeds with herbicide. === NVIDIA Jetson platform === The custom implementation of [[https://github.com/ultralytics/yolov5|YOLOv5]] is intended to be deployed on an [[https://www.nvidia.com/en-us/autonomous-machines/embedded-systems/jetson-nano/|NVIDIA Jetson Nano]] or [[https://www.nvidia.com/en-us/autonomous-machines/embedded-systems/jetson-xavier-nx/|NVIDIA Jetson Xavier NX]] using [[https://www.docker.com/|Docker]]. To set up one of those devices, follow their respective guides to get started: * [[https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit|Getting Started with Jetson Nano Developer Kit]] * [[https://developer.nvidia.com/embedded/learn/get-started-jetson-xavier-nx-devkit|Getting Started with Jetson Xavier NX Developer Kit]] * ↪[[projects:farmrobot:nvidia-jetson-tx1|(Deprecated) NVIDIA Jetson TX1]] **The default user should always have the following credentials:** ^ User ^ Password ^ | ''jetson'' | ''jetson'' | === Repository === The repository is hosted on [[https://gitlab.com/fablabkamplintfort1/farmrobot|here]]. The repository's [[https://gitlab.com/fablabkamplintfort1/farmrobot/-/blob/master/README.md|README]] contains all necessary information about its setup and usage. === Step-by-step example === The step-by-step example goes through the whole process of setting up and using an [[https://www.nvidia.com/en-us/autonomous-machines/embedded-systems/jetson-xavier-nx/|NVIDIA Jetson Xavier NX]] with our custom [[https://github.com/ultralytics/yolov5|YOLOv5]] implementation. [[projects:farmrobot:step-by-step-example|Step-by-step example]] === Cameras === The implementation supports various CSI and USB cameras. The following cameras have been successfully tested with it: **[[https://www.welectron.com/Waveshare-16662-IMX219-160-Camera|Waveshare 16662 IMX219-160 Camera]]** Supported formats: v4l2-ctl -d /dev/video0 --list-formats-ext ioctl: VIDIOC_ENUM_FMT Index : 0 Type : Video Capture Pixel Format: 'RG10' Name : 10-bit Bayer RGRG/GBGB Size: Discrete 3264x2464 Interval: Discrete 0.048s (21.000 fps) Size: Discrete 3264x1848 Interval: Discrete 0.036s (28.000 fps) Size: Discrete 1920x1080 Interval: Discrete 0.033s (30.000 fps) Size: Discrete 1640x1232 Interval: Discrete 0.033s (30.000 fps) Size: Discrete 1280x720 Interval: Discrete 0.017s (60.000 fps) **[[https://www.elpcctv.com/-p-248.html|ELP-USB8MP02G-SFV]]** Supported formats: v4l2-ctl -d /dev/video0 --list-formats-ext ioctl: VIDIOC_ENUM_FMT Index : 0 Type : Video Capture Pixel Format: 'MJPG' (compressed) Name : Motion-JPEG Size: Discrete 1600x1200 Interval: Discrete 0.067s (15.000 fps) Size: Discrete 3264x2448 Interval: Discrete 0.067s (15.000 fps) Size: Discrete 2592x1944 Interval: Discrete 0.067s (15.000 fps) Size: Discrete 2048x1536 Interval: Discrete 0.067s (15.000 fps) Size: Discrete 1280x960 Interval: Discrete 0.067s (15.000 fps) Size: Discrete 1024x768 Interval: Discrete 0.067s (30.000 fps) Size: Discrete 800x600 Interval: Discrete 0.067s (30.000 fps) Size: Discrete 640x480 Interval: Discrete 0.067s (30.000 fps) Size: Discrete 329x240 Interval: Discrete 0.067s (30.000 fps) Size: Discrete 1600x1200 Interval: Discrete 0.067s (15.000 fps) Index : 1 Type : Video Capture Pixel Format: 'YUYV' Name : YUYV 4:2:2 Size: Discrete 1600x1200 Interval: Discrete 0.100s (10.000 fps) Size: Discrete 3264x2448 Interval: Discrete 0.067s (2.000 fps) Size: Discrete 2592x1944 Interval: Discrete 0.333s (3.000 fps) Size: Discrete 2048x1536 Interval: Discrete 0.333s (3.000 fps) Size: Discrete 1280x960 Interval: Discrete 0.100s (10.000 fps) Size: Discrete 1024x768 Interval: Discrete 0.100s (10.000 fps) Size: Discrete 800x600 Interval: Discrete 0.067s (30.000 fps) Size: Discrete 640x480 Interval: Discrete 0.067s (30.000 fps) Size: Discrete 329x240 Interval: Discrete 0.067s (30.000 fps) Size: Discrete 1600x1200 Interval: Discrete 0.100s (10.000 fps) ==== - Missions-Planer ==== ↪[[projects:farmrobot:Missions-Planer| Missions-Planer]] ==== - Autonomes Fahren mit GPS ==== ↪[[projects:farmrobot:Autonomes Fahren mit GPS| Autonomes Fahren mit GPS]] \\ ↪[[projects:farmrobot:Hinderniserkennung mit Sonar| Hinderniserkennung mit Sonar]] ==== - Unkraut behandeln ==== python-Steuerung von cnc-Maschinen und 3d-Druckern für ML/AI-Anwendungen.\\ ↪[[projects:farmrobot:Delta Arm| Delta Arm]]\\ ↪[[projects:farmrobot:Realcode G-code| Realtime G-code]] ==== - Web Interface ==== ↪[[projects:farmrobot:WebInterface| Web Interface]] ==== - Protokollierung ==== ↪[[projects:farmrobot:Protokollierung| Protokollierung]] ===== - Links ===== [[projects:farmrobot:ersterKameraTest| Erster Kamera Test ]]\\ https://drive.google.com/drive/u/0/folders/1jvYJYdXXpjlxoEx-OkK9A2ChfQgQ70e3\\ [[projects:farmrobot:IP15FarmRobot| IP15_Farm-Robot ]]\\ https://www.youtube.com/watch?v=tQk7wucq3jM\\