Functionally this is how Mell-E hopes work.
The goal of the functional architecture (Figure above) is to describe the Mell-E system in the simplest terms while still conveying all of Mell-E’s functions. Altogether, the described functional architecture can meet all Mell-E’s requirements (the previous section). The black box represents our system, Mell-E, with red and green boxes being inputs and outputs, respectively. The blue boxes are functions of Mell-E during operation, and the arrows show the flow between inputs, functions, and outputs.
After receiving initial boundary data from our user, Mell-E will start patrolling within the provided boundaries. As it patrols, it will be perceiving the environment by processing the received sensor data. If Mell-E perceives an obstacle, it will move into an obstacle avoidance routine. The obstacle avoidance function will change the planned path of Mell-E to circumnavigate the obstacle to continue its patrol. Throughout this process, Mell-E is continually perceiving the environment.
If Mell-E perceives potential litter, it will proceed through the path of litter functions. The first step is litter identification, in which Mell-E will identify the type of litter from the previously defined categories. Examples of potential categories are: soda cans, plastic bottles, and cigarette butts. Mell-E will then move into a litter pick-up routine; this involves moving towards the litter until it is in the range of the litter manipulator. Mell-E will then pick up the litter and store it. After storing the litter, Mell-E senses how full its litter storage is. If there is enough space left, Mell-E will move back into the patrol boundary routine. If there is not enough space, Mell-E will signal to the user that its litter storage system is full.
Throughout operation, Mell-E will be constantly collecting data and then send this data back to the user as feedback. The purpose of this is to give users knowledge of Mell-E’s progress and status.