{"id":19144949,"url":"https://github.com/ldab/fenceless_robotic_lawnmower","last_synced_at":"2025-09-08T22:32:19.146Z","repository":{"id":109150285,"uuid":"532020324","full_name":"ldab/fenceless_robotic_lawnmower","owner":"ldab","description":"No fence wires lawn mower with high precision GNSS, Long Range WiFi and GNSS Corrections over MQTT","archived":false,"fork":false,"pushed_at":"2022-10-08T15:56:57.000Z","size":41359,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-12-29T15:06:40.066Z","etag":null,"topics":["esp32","gnss","iot","lawnmower"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ldab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-02T17:30:19.000Z","updated_at":"2023-08-31T19:59:53.000Z","dependencies_parsed_at":"2023-04-14T23:01:52.870Z","dependency_job_id":null,"html_url":"https://github.com/ldab/fenceless_robotic_lawnmower","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ldab%2Ffenceless_robotic_lawnmower","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ldab%2Ffenceless_robotic_lawnmower/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ldab%2Ffenceless_robotic_lawnmower/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ldab%2Ffenceless_robotic_lawnmower/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ldab","download_url":"https://codeload.github.com/ldab/fenceless_robotic_lawnmower/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":232360246,"owners_count":18511227,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["esp32","gnss","iot","lawnmower"],"created_at":"2024-11-09T07:37:08.400Z","updated_at":"2025-01-03T16:15:55.481Z","avatar_url":"https://github.com/ldab.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fenceless-robotic-lawnmower\n\n[![GitHub version](https://img.shields.io/github/v/release/ldab/fenceless_robotic_lawnmower?include_prereleases)](https://github.com/ldab/fenceless_robotic_lawnmower/releases/latest)\n![Build Status](https://github.com/ldab/fenceless_robotic_lawnmower/actions/workflows/workflow.yml/badge.svg)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://github.com/ldab/fenceless_robotic_lawnmower/blob/master/LICENSE)\n\n[![GitHub last commit](https://img.shields.io/github/last-commit/ldab/fenceless_robotic_lawnmower.svg?style=social)](https://github.com/ldab/fenceless_robotic_lawnmower)\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./images/mower.gif\" width=\"30%\"\u003e \n\u003c/p\u003e\n\n## TODO\n- [ ] Upload mower firmware over gateway webportal;\n- [ ] Change gateway IP range so WiFi controller is accesible over the \"home\" network;\n\n## Apps\n\n* ~~Base~~ Now replaced by https://github.com/ldab/esp-gateway-long-range\n* Mower\n\n## Concept\n\n### SPARTN and High Precision Position\n\n```mermaid\nflowchart LR\n    A(Point Perfect) --  SPARTN --\u003e B(Thingstream Broker)\n    B \u003c-- MQTT --\u003e C(nora-w1)\n    C -- SPARTN --\u003e D(ZED-F9P)\n    C -- keys --\u003e D(ZED-F9P)\n    D -- Position --\u003e C\n```\n\n## WiFi Remote Control\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./images/wifi_control.jpg\" width=\"30%\"\u003e \n\u003c/p\u003e\n\n## Mission Planner\n\nUse [Mission Planner](Mission Planner: https://ardupilot.org/planner/#) in order to rout the area to be covered:\n\n\u003cimg src=\"https://ardupilot.org/copter/_images/mp_auto_mission_grid.jpg\" width=\"30%\"\u003e \n\n\nFile format is:\n\n```\nQGC WPL \u003cVERSION\u003e\\r\\n\n\u003cINDEX\u003e\\t\u003cCURRENT WP\u003e\\t\u003cCOORD FRAME\u003e\\t\u003cCOMMAND\u003e\\t\u003cPARAM1\u003e\\t\u003cPARAM2\u003e\\t\u003cPARAM3\u003e\\t\u003cPARAM4\u003e\\t\u003cPARAM5/X/LATITUDE\u003e\\t\u003cPARAM6/Y/LONGITUDE\u003e\\t\u003cPARAM7/Z/ALTITUDE\u003e\\t\u003cAUTOCONTINUE\u003e\\r\\n\n```\n\nhttps://mavlink.io/en/file_formats/\n\n## Hardware\n\n### Wheel motor\n\n#### Speed\n\nCommercial units goes 16-18 m/min (), and has 205mm diameter $speed / (π * D) = ~RPM$ therefore we need something between 24 and 28 RPM.\n\n#### Torque\n\nYou can go crazy about the numbers [Required Power and Torque](https://www.engineeringtoolbox.com/cars-power-torque-d_1784.html), but I go like this:\n\n$$Fr = 15Kg * 9.81m/s2 * 0.2 (N)$$\n$$a = 18 / 60 (m/s2)$$\n$$Fa = 15kg * a (N)$$\n$$Tr = Fr * 0.1m (Nm)$$\n$$Ta = Fa * 0.1m (Nm)$$\n$$Tt = Ta + Tr$$\n\nWe have 2x motors so `~7.5Nm` should be alright.\n\n### Blade motor\n\nBlade seems to run at 3500RPM\n\n## Scrapbook:\n\n* Board definition: https://github.com/platformio/platform-espressif32/blob/master/boards/esp32-s3-devkitc-1.json\n* Circle distance between two points: https://en.wikipedia.org/wiki/Haversine_formula\n\n## Credits:\n\n* Mars Rover: https://github.com/jakkra/Mars-Rover\n* Badges by [shields.io](https://shields.io/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fldab%2Ffenceless_robotic_lawnmower","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fldab%2Ffenceless_robotic_lawnmower","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fldab%2Ffenceless_robotic_lawnmower/lists"}