Due to the recent poor weather at Binghamton University, the snow removal crew has been unable to travel to campus in order to treat the pathways with salt. This has caused hazardous conditions on campus, causing students to frequently injure themselves as they slip on the ice. Given this relevant issue, our team saw the potential of AI drones that would be able to treat pathways with salt in order to prevent this problem.

Using Unity ML-Agents and C#, we created a simulation where reinforcement learning drones are able to detect ice patches using raycasting. The agent collects several observations from the environment, such as detecting when the dot product of the Drone's transform vector is 0 with the vector pointing up along the ice patch to see whether they are perpendicular. Using this information, the agent takes certain actions and achieves certain reward values for certain outcomes.

Our challenges included navigating the complexities of machine learning, and specifically utilizing Unity ML-Agents as we weren't able to ask for advice in this niche toolkit. Furthermore, we ran into issues with our blender models creating excessive rendering issues that our computers were unable to handle.

We learned how reinforcement learning worked using methods inherited from the Agent Class in Unity ML agents such as OnActionReceived, CollectObservations, and Heuristic. Additionally, we learned collaborative programming skills where we divided tasks in order to build one product. As we had to recreate the Dickinson Quad in Blender, our blender skills significantly improved as well.

In the future, we aim to add more obstacles and weather conditions to make the simulation more accurate to the real world.

Share this project: