Harshul’s Status Report 2/10

Harshul’s Status Report

This week we worked on the proposal presentation to flesh out our idea, define our scope, assess feasibility, and identify technical challenges. I worked on the Technical Challenges and Solution Approach sections for our presentation. This entailed translating our use case requirements and featureset into the technologies and tools that we would be using as well as coming up with a high level architecture of how subsystems of our device would fit together. 

The key challenges identified were:

  • Software Based Challenges
    • Object detection to create an accurate map of the floor ‘plane’
    • Erasing the map as we traverse the cleaning area
    • computer vision component that would detect particulates
  • Hardware based challenges
    • Combining AR data collected by the phone with the information from our cleanliness computer vision module 
    • Identifying how our hardware would communicate with the iPhone mounted on the vacuum

With these challenges in mind I researched into the features and capabilities of ARKit, RealityKit and CoreBluetooth to understand and identify how these technologies will solve these challenges and assist us in building our application and represent how they would fit together in the diagram below. We also spent time as a team justifying why leveraging Apples Existing AR toolchains rather than rolling our own implementation with ROS and Unity would be more aligned with the non functional requirements of form factor to a product that is easy to use coupled with the vertical integration of these tools in comparison to ROS, Unity etc having interoperable but completely separate libraries for each of these purposes along with keeping costs down purchasing LIDAR sensors and using the embedded lidar within our phones.

This progress is on track with the Gantt chart and next steps involve meeting as a team to order materials and working to spin up an Xcode environment to start iterating and experimenting with ARKit. This experimentation will familiarize ourselves with our technology stack and help us create a more detailed system & technical design.

Nathalie’s Status Report for 2/10

This week I outlined our use case requirements into 3 main categories: mapping coverage, cleanliness and tracking coverage. In order to quantify these metrics, I found an article entitled “A study on the use of ARKit to extract and geo-reference floor plans” which helped us inform the quantified numbers. More specifically, this study had ARKit deviations of ~10cm in small scale environments and 2m error in large scale environments. Rooms we clean are considered small-medium, roughly 5m x 4 m so error is ~30-40 cm, rounded up is about 10% error. The article can be found here. As a team, we spent a lot of time discussing how to justify our requirements and making sure that we were aligned on our idea and what we were going to use to validate it. I created a schedule of tasks (sample of some items shown in the screenshot below), detailing tasks, subtasks, duration, notes, and assignees. Our schedule is meant as a place to store notes and information, and helped in the creation of our Gantt chart.

I also created a testing plan that aligned with use case requirements and the schedule of tasks. I made sure to demonstrate how these tasks and tests will be done in parallel, and sequentially based on our established timeline. These tests include both unit tests for each part of our system and end-to-end tests for the whole system once we begin to integrate parts.

My progress so far is on schedule relative to the deadlines that we outlined during our proposal presentation. Based on our feedback from professors and TAs, my next steps are going to be ordering materials, outlining more concretely what our technical plan is going to be on the software and hardware side, and flushing out our thresholds for dirt.