Skip to content

Latest commit

 

History

History
52 lines (34 loc) · 1.38 KB

File metadata and controls

52 lines (34 loc) · 1.38 KB

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