Wiki source code of Functions

Last modified by Laura Ottevanger on 2022/04/05 13:57

Hide last authors
Tim Huisman 41.1 1 For this project, we chose the MiRo robot. The reason for our choice can be found in section [[Humanoid Robot>>https://xwiki.ewi.tudelft.nl/xwiki/wiki/sce2022group02/view/Foundation/Technology/Humanoid%20Robot/]]. This section contains a MoSCoW-style description of the functions we want MiRo to be able to do, and how we realized them. Additionally, we provide a flowchart to show what actions the robot should take in certain situations. Next to this, we give several storyboards to visualise our ideas.
Doreen Mulder 17.1 2
Laura Ottevanger 55.1 3 ==Must Haves==
4 === Guiding a patient along a path ===
Tim Huisman 45.1 5 To function as a walk-guiding robot, WAF needs to be able to follow a predetermined path. To do so, WAF must be programmable with various walking routes. We assume that, in general, people with dementia are not able to choose and/or set up good/suitable walking routes by themselves, and therefore we think that placing this responsibility at the activity coordinator is the best option. The coordinators must be able to set up new walking routes through an online portal in which they can draw a route on a floor plan of their building or a map of the outside area. The coordinators must also be able to create profiles for each of their patients to specify a walking plan containing suitable routes. WAF must then be able to follow this route correctly, avoiding objects or people that might hinder WAF along its path.
Tim Huisman 19.1 6
Laura Ottevanger 55.1 7 === Ensuring the patient stays on path ===
Tim Huisman 45.1 8 During the walk, people with dementia might get distracted, strike a conversation with someone or take a break, causing them to stop following WAF. WAF must be able to notice this so that he does not leave the PwD behind. Then, WAF must be able to wait and regain the attention of the patient to continue their walk.
Tim Huisman 22.1 9
Laura Ottevanger 55.1 10 === Altering caretaker ===
Tim Huisman 40.1 11 A situation might occur during the walk where WAF needs the help of a human, in this case, a caretaker. A patient may fall, causing them to need someone to help them stand up or to assist them when an injury occurs. Additionally, WAF might ultimately lose the patient, at which point he must be able to alert the caretaker, notifying them of their position such that the patient can be found again.
Tim Huisman 22.1 12
Laura Ottevanger 55.1 13 ==Should Haves==
14 ===Voice control and customisable names===
Tim Huisman 40.1 15 To allow for more sophisticated interaction between the patient and WAF, WAF should be able to listen and respond to voice commands like an actual dog. For example, voice commands could be used when the patient wants to take a break, instructing WAF to stop for a moment. Additionally, it could increase the bond between the patient and WAF if WAF was programmable with different names, allowing patients to give him a personalized name.
Tim Huisman 19.1 16
Laura Ottevanger 55.1 17 ==Could Haves==
18 ===Path choice freedom===
Tim Huisman 40.1 19 It could be nice to give people with dementia freedom on their walks instead of only letting them walk predetermined routes. For example, WAF could allow for some degree of wandering around, after which he decides it is time to go home, guiding the patient back to their room.
20
Laura Ottevanger 55.1 21 ===Snoezelen===
Tim Huisman 40.1 22 We imagine WAF to not only be a guiding robot but also pose itself as a companion. For this, WAF should allow for 'Snoezelen'. Clients should be able to pet WAF on its head and body, and it should respond to that affection with happy noises and movements. This helps the client to create a bond with WAF and it makes walks with WAF more enjoyable. Furthermore, it may reduce cognitive decline, as discussed in the lecture.
23
Laura Ottevanger 55.1 24 == Function Realisation ==
25 === Guiding the patient along a path ===
Ricardo Vogel 44.1 26 The patient can start a walk by indicating to a caretaker that they wants to take a walk (for example in the form of a button). Once the patient presses the button, a caretaker will come to bring WAF. The caretaker will also give the proximity bracelet, see the next section for its description. WAF will then either automatically choose a suitable route or get instructed by the coordinator for a specific route.
Tim Huisman 40.1 27
28 Once the route has been started, WAF walks ahead to show the way. When approaching turns, WAF indicates which way to go by slightly moving towards the desired direction and moving his head to indicate the turn. When the patient does well (e.g. follows WAF consistently), WAF gives positive reinforcement in the form of excited sounds and a wagging tail.
29
Laura Ottevanger 55.1 30 === Ensuring the patient stays on path ===
Tim Huisman 47.1 31 To assist WAF in ensuring the patient stays on the route, the patient will wear a proximity bracelet. It contains four main components: lights, a vibration motor, an accelerometer, and a distance sensor. The distance sensor communicates the patients' distance to WAF with WAF so that WAF knows when the patient stops following him. When this happens, the lights and the vibration motor are used to bring the attention of the patient back to WAF.
Tim Huisman 40.1 32
Tim Huisman 47.1 33 Ideally, we would replace the proximity bracelet with an actual leash containing each of the components mentioned before. This would resemble walking with a dog more and would ensure that a patient does not walk away from WAF. However, due to the frailty of MiRo, this is not possible. This is explained in more detail in [[Humanoid Robot>>https://xwiki.ewi.tudelft.nl/xwiki/wiki/sce2022group02/view/Foundation/Technology/Humanoid%20Robot/]].
Tim Huisman 40.1 34
Tim Huisman 41.1 35 It is possible that at some point on the walking route, the PwD stops following WAF. The system will be able to detect this through the distance sensor and act upon this. First, WAF will turn around and try to get the attention of the PwD by barking and flashing its colourful lights. If the PwD appears to follow WAF again, it will resume the current path. If not, the PwD can either be moving away from WAF or not moving at all.
Tim Huisman 19.1 36
Tim Huisman 48.1 37 If the PwD moves away from WAF, WAF will follow them and keep trying to get their attention by making noises and flashing lights. WAF can also try to drive in front of them, making it easier to get attention, as WAF is now in the user's field of view. Additionally, the proximity bracelet will flash small lights and start vibrating. Once the user's attention is back at the WAF, they should be convinced to turn back. This will be done mostly through emotions. WAF will show excitement towards the correct path, by looking at it, taking some "steps" in its direction, making excited sounds, and wagging its tail. WAF can also look at the user and tilt its head, similarly to how a dog would ask its owner to keep walking. If the user is confused, these methods, combined with the proximity bracelet that they are wearing, could remind them what they are doing. If the user is being stubborn, the excitement and begging motion from WAF could convince them to keep walking.
Ricardo Vogel 21.1 38
Tim Huisman 48.1 39 If the PwD does not walk further away from WAF, we assume them to be taking a break either by resting or by talking with someone. As both of these options are important for PwD, WAF should allow for this. WAF will therefore wait patiently until the PwD starts following him again. Additionally, WAF occasionally tilts his head and makes a little noise to resemble a dog that is awaiting instructions/confused. Once the PwD starts coming closer to WAF again, WAF will resume its path.
Ricardo Vogel 21.1 40
Laura Ottevanger 55.1 41 === Alerting caretaker ===
Tim Huisman 41.1 42 If the PwD diverts from their path too far, causing the proximity grip to lose connection, WAF will alert a caretaker or the activity coordinator so that they can intervene. Finally, it is also possible that the PwD falls. For this, the proximity grip will also contain an accelerometer. The accelerometer will be able to detect heavy vertical acceleration, which, combined with little to no change in distance to WAF would indicate a fall. If detected, WAF will automatically alert a caretaker.
Ricardo Vogel 25.1 43
Laura Ottevanger 55.1 44 === Voice commands and customisable names ===
Tim Huisman 49.1 45 Unfortunately, due to the programming difficulties of the MiRo robot as described in [[Humanoid Robot>>https://xwiki.ewi.tudelft.nl/xwiki/wiki/sce2022group02/view/Foundation/Technology/Humanoid%20Robot/]], it was not possible to implement voice commands and customisable names.
Harmen Kroon 53.1 46 ==== Path choice freedom ====
Tim Huisman 49.1 47 Just like the voice commands, programming any form of path freedom was also not possible with the MiRo robot. Additionally, these limitations did not allow us to code any obstacle avoidance.
Tim Huisman 41.1 48
Laura Ottevanger 55.1 49 === Snoezelen ===
Tim Huisman 49.1 50 Given the limitations with regard to the frailty of MiRo described in [[Humanoid Robot>>https://xwiki.ewi.tudelft.nl/xwiki/wiki/sce2022group02/view/Foundation/Technology/Humanoid%20Robot/]], snoezelen is not feasible. However, we do think that it could potentially be an interesting area for future work, as it could change the robot from just a walking assistant to a robotic pet or companion. Our ideas and findings on this can be found in the [[Snoezelen>>https://xwiki.ewi.tudelft.nl/xwiki/wiki/sce2022group02/view/Main/Conclusion/]] section of the conclusion.
Tim Huisman 41.1 51
Laura Ottevanger 55.1 52 == Flowchart ==
Tim Huisman 31.1 53 [[image:https://xwiki.ewi.tudelft.nl/xwiki/wiki/sce2022group02/download/Functions/WebHome/
54 Flowchart_MiRo.png]]
Laura Ottevanger 4.1 55
Laura Ottevanger 55.1 56 == Storyboards ==
Laura Ottevanger 8.1 57 Storyboard compliant who likes dogs:
Laura Ottevanger 4.1 58 [[image:https://xwiki.ewi.tudelft.nl/xwiki/wiki/sce2022group02/download/Functions/WebHome/storyboardsce.PNG]]
59
Laura Ottevanger 8.1 60 Storyboard reluctant elder who doesn't like dogs or doesn't want to be led by a dog (Constantijn)
Laura Ottevanger 7.1 61 [[image:https://xwiki.ewi.tudelft.nl/xwiki/wiki/sce2022group02/download/Functions/WebHome/storyboard_reluctant.PNG]]
Laura Ottevanger 6.1 62
Laura Ottevanger 10.1 63 Storyboard for a fallen PwD:
64 [[image:https://xwiki.ewi.tudelft.nl/xwiki/wiki/sce2022group02/download/Functions/WebHome/Fallenstoryboard.PNG]]
65
Laura Ottevanger 12.1 66 Storyboard for a PwD who is very social and talks in the hallway:
67 [[image:https://xwiki.ewi.tudelft.nl/xwiki/wiki/sce2022group02/download/Functions/WebHome/socialstoryboard.PNG]]
Tim Huisman 50.1 68 ==== Snoezelen (future work) storyboards ====
Laura Ottevanger 16.1 69 Storyboard for a petting session with the robot dog:
70 [[image:https://xwiki.ewi.tudelft.nl/xwiki/wiki/sce2022group02/download/Functions/WebHome/
71 snoezelenstoryboardhappy.PNG]]
72
73 Storyboard for a petting session with the robot dog for Contantijn (person who doesn't like dogs):
74 [[image:https://xwiki.ewi.tudelft.nl/xwiki/wiki/sce2022group02/download/Functions/WebHome/snoezelenhatestoryboard.PNG]]