Skip to content

Simple farming controller which uses planning and simulation components to determine a route to send to the robot and monitor the progress of the robot. Can also send interrupts and schedule next actions

License

Notifications You must be signed in to change notification settings

robs4crops/farmingcontroller

Repository files navigation

FarmController

Simple farming controller which uses planning and simulation components to determine a route to send to the robot and monitor the progress of the robot. Can also send interrupts and schedule next actions

Components

Route planning

  • GetRoute: Gets a route from the current position to the target position using the fields2cover API
  • GetOptimalRoute: Gets a collection of routes from the GetRoute method, uses the farmSim API to simulate the routes and returns the optimal route

Feedback handling

Handles the feedback from the robot and updates the route progress in the mapMaintainer

Actions

Actions are used to interrupt the robot, and schedule a next action to be executed after the current lane is finished

Ros

Handles the communication within the ROS network using rclnodejs.

Simulation

Implements the RosRuntime interface and sets up a simple time based simulation

Server

  • Server: Exposes runtime information to the front end and exposes API methods to do actions on the controller

Usage

Production

  • set up fields2cover API and farmSim API
  • clone the r4c_interfaces repository
  • populate the .env file
    npm install
    npm run build-all
    npm start

Development

  • set up fields2cover API and farmSim API
  • populate the .env file
    npm install
    npm exec generate-api-clients 
    npm run dev

About

Simple farming controller which uses planning and simulation components to determine a route to send to the robot and monitor the progress of the robot. Can also send interrupts and schedule next actions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published