Wiki source code of Functions

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

Show last authors
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.
2
3 ==Must Haves==
4 === Guiding a patient along a path ===
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.
6
7 === Ensuring the patient stays on path ===
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.
9
10 === Altering caretaker ===
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.
12
13 ==Should Haves==
14 ===Voice control and customisable names===
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.
16
17 ==Could Haves==
18 ===Path choice freedom===
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
21 ===Snoezelen===
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
24 == Function Realisation ==
25 === Guiding the patient along a path ===
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.
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
30 === Ensuring the patient stays on path ===
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.
32
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/]].
34
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.
36
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.
38
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.
40
41 === Alerting caretaker ===
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.
43
44 === Voice commands and customisable names ===
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.
46 ==== Path choice freedom ====
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.
48
49 === Snoezelen ===
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.
51
52 == Flowchart ==
53 [[image:https://xwiki.ewi.tudelft.nl/xwiki/wiki/sce2022group02/download/Functions/WebHome/
54 Flowchart_MiRo.png]]
55
56 == Storyboards ==
57 Storyboard compliant who likes dogs:
58 [[image:https://xwiki.ewi.tudelft.nl/xwiki/wiki/sce2022group02/download/Functions/WebHome/storyboardsce.PNG]]
59
60 Storyboard reluctant elder who doesn't like dogs or doesn't want to be led by a dog (Constantijn)
61 [[image:https://xwiki.ewi.tudelft.nl/xwiki/wiki/sce2022group02/download/Functions/WebHome/storyboard_reluctant.PNG]]
62
63 Storyboard for a fallen PwD:
64 [[image:https://xwiki.ewi.tudelft.nl/xwiki/wiki/sce2022group02/download/Functions/WebHome/Fallenstoryboard.PNG]]
65
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]]
68 ==== Snoezelen (future work) storyboards ====
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]]