Please see our 3 Minute submission video here!
WelcomeHello and welcome to Adam Berlier and I (Ian McElhenny)'s project. This project is focused on helping people using drones during a pandemic. Below you can see a detailed description of our system, a set of links to our YouTube videos and wiki, as well as some pictures of the drone building process. We hope you enjoy our project. If you have any questions or issues with our project we suggest starting an issue on our projects Github page. Thank you for taking the time to read over our project!
OverviewSee our more in depth about page here!
Our system is designed to help farmers and ranchers with their crops and livestock. During a pandemic the last thing anyone should have to worry about is their next meal. We want to make sure farmers and ranchers have all the tools they need to be able to protect their livelihood especially during a pandemic.
Our system sits passively in a field, watches for intruders, and sends our NXP drone to scare away the threat that may appear. Once the intruder is no longer a threat, the drone returns home and waits for its next job.
Our WikiCheckout our Project Wiki here. The wiki contains a full guide on running our software, and a overview of our architecture. I highly recommend reading through the whole wiki as most of our documentation lives there and is most up to date, there.
VideosPlease see our 3 Minute submission video here!
Other related videos below:
Below are the links to the videos we have produced for this project. There may be extra videos available about the project on my channel here.
Learn about our goals and project: What is SCAREcrow?
Understand the architecture: SCAREcrow - Architecture Overview
Learn about our project's dependencies: Setup your system for SCAREcrow development.
See it in action: Run the project yourself!
See a demo of our gym-scarecrow environment here.
System DescriptionOur system has three first class citizens:
The Agent(s) (drone) - a node.
- The Agent(s) (drone) - a node.
The Base Station - the central, main, node.
- The Base Station - the central, main, node.
The Controller(s) - a node.
- The Controller(s) - a node.
The scene consists of two players:
Agents - drones to direct to herd animals out of zone.
- Agents - drones to direct to herd animals out of zone.
Subjects - animals to keep out of keep out zone.
- Subjects - animals to keep out of keep out zone.
There can be many agents, and many controllers, however there is only one centralized base station. A controller runs the RL algorithm and subject classifier, and is in ownership and control of the agents in the scene. An agent is owned by one controller. The base station acts as a router/conduit and rule enforcer between the controllers and the agents. The base station is responsible for setting up a network on top of UDP/TCP over WiFi depending on the configuration. This network has a defined set of messages that can pass through it. When a new node is created, it asks the base station for an ID and lets the base station know what type of node it is (Agent or controller). Once the agent has been assigned a node ID it is able to begin its life.
The RL algorithm and the animal classifier/tracker run on the controller node. As the classifier neural network detects subjects (using humans as a stand in for testing) it fills the RL scene with subjects. Additionally a controller can share its subjects with other controllers by sending a message to the base station. Meanwhile the drone is constantly broadcasting its location to the various controllers by way of the base station. The RL algorithm runs over the scene, processing the locations of the subjects and the agents to optimize the commanded position of the agents it owns. The base station then generates a target location for the agent and the agent then takes off and flies to that location. As the agent travels to the location our RL algorithm constantly tracks the subjects and the agent which enables the algorithm to change instructions on the fly. Then as the agent approaches the subjects they are scared away and out of the keep out zone. Once the subject of interest has left the keep out zone the agent lands back in its starting position and awaits new instructions.
Recreating this projectWe suggest visiting our wiki here to see the up to date instructions on getting the dev environment setup and executing our projects components.
System ArchitectureThe most up to date view of this would be on our wiki at this page.
Comments