What are the most significant risks that could jeopardize the success of the project? How are these risks being managed? What contingency plans are ready?
We have made good progress with the Hexapod for the interim demonstration, where it can track and follow people. However, we are still yet to implement a proper search/path planning algorithm to find people in the first place, which is an important component of our project. To mitigate this risk, we have many ideas for search algorithms of varying levels of difficulty, so that we can always fall back on a simple implementation if needed. Our ideas range from using SLAM map data to track all explored and unexplored areas, to simply walking straight when possible and turning in a random direction when blocked.
For localization and mapping, we are almost finished with setting up VSLAM using live data from the RealSense cameras. However, there is still worry that VSLAM may be too compute heavy, both in terms of compute resources and also memory requirements (since offline data can be gigabytes to terabytes large), so this might not be feasible. As a contingency plan, we might be able to simply use the movement commands we send to create a map, as it seems that the drifts on the Hexapod robots are tolerable.
Were any changes made to the existing design of the system (requirements, block diagram, system spec, etc)? Why was this change necessary, what costs does the change incur, and how will these costs be mitigated going forward?
As discussed above, we might need to replace SLAM from our system requirements if we deem it is computationally infeasible. This means the robot will not be as accurate in localization due to drift, but will have more computing power for object detection and other algorithms.
We also made some additions and changes to our hardware, such as powering the RPi using an additional battery pack, so that all the 18650s are dedicated to powering the servo motors for longer life.
Provide an updated schedule if changes have occurred.
Our schedule is actively updated in our Gantt chart, which can be seen in this spreadsheet.
Now that you have some portions of your project built, and entering into the verification and validation phase of your project, provide a comprehensive update on what tests you have run or are planning to run. In particular, how will you analyze the anticipated measured results to verify your contribution to the project meets the engineering design requirements or the use case requirements?
Controls test (already done): After setting up the hardware and software for the Hexapods, we tested that the movement and controls algorithm works as intended.
Search algorithm test: We will test that the hexapods are able to navigate around a room with obstacles without colliding. We can do so by cordoning off a section of a room and addingobstacles in front of the robot’s paths.
People detection test: We will test that our object classifier is able to detect people in a variety of poses, lighting conditions, and other environment variables. We will use test data that we took ourselves or from online.
Mock real-world test: We will create a 5m x 5m space / room, with walls and other obstacles as a simulation of a real-world scenario that the hexapods might find themselves in. We will test that the hexapods are able to navigate through the room and find all humans (ie. human figurines or images).