Changes for page Humanoid Robot

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

From version Icon 16.1 Icon
edited by Tim Huisman
on 2022/04/04 18:31
Change comment: There is no comment for this version
To version Icon 10.1 Icon
edited by Tim Huisman
on 2022/04/02 21:56
Change comment: There is no comment for this version

Summary

Details

Icon Page properties
Content
... ... @@ -1,5 +1,5 @@
1 1  === Robot choice ===
2 -As described in [[objectives>>https://xwiki.ewi.tudelft.nl/xwiki/wiki/sce2022group02/view/Objectives/]], our goal is to give patients with dementia the autonomy and capability to take walks on their own, whenever they want. Three robots were made available to help us in achieving this goal: NAO, Pepper and MiRo. This section contains a description of our considerations in choosing a robot suitable for our objectives, after which we describe the capabilities of the chosen robot.
2 +As described in [[objectives>>https://xwiki.ewi.tudelft.nl/xwiki/wiki/sce2022group02/view/Objectives/]], our goal is to give patients with dementia the autonomy and capability to take walks on their own, whenever they want. Three robots were made available to help us in achieving this goal: NAO, Pepper and MiRo. This section contains a description of our considerations in choosing a robot suitable for our objectives, after which the capabilities of the chosen robot are described.
3 3  
4 4  Although [[Nao>>https://www.softbankrobotics.com/emea/en/nao]] is a cute, humanoid robot which could allow for nice interactions with our patients, it can only move by walking on its small robot legs. As our main goal is to facilitate walks, this robot did not seem suitable as its walking speed is low and it is likely to fall over with small bumps.
5 5  
... ... @@ -9,24 +9,30 @@
9 9  
10 10  [[Miro>>https://www.miro-e.com/robot]], on the other hand, is a small robot dog with wheels. We ultimately chose MiRo because it has all the necessary features to facilitate walks, without any downsides. Next to this, a dog is automatically associated with taking a walk. Also, the robot dog has dog like features, allowing it to respond to touch, make noises and move certain parts to resemble a dog. Its dog-like appearance and its ability to act like a dog will allow the dog to become a companion. By allowing the user to go on fun walks, responding to personalised voice commands and responding positively to the patients' touch, it will become a trusted friend. More information and research on why MiRo is suitable for our goal can be found in [[Robotic partner>>https://xwiki.ewi.tudelft.nl/xwiki/wiki/sce2022group02/view/Foundation/Human%20Factors/Robotic%20Partner/]]
11 11  
12 -=== Working with MiRo ===
13 -==== MiRo's capabilities ====
14 -The MiRo is a small dog-like robot that has two wheels, allowing him to drive around. Next to this, MiRo has multiple moveable parts. He is able to move his ears to the side and to the front, he can wag and move his tail up a little bit, and he can move his head. By combining neck movement and the tilting of his head, he can do a wide range of motion with his head. Additionally, MiRo can blink with his eyes.
12 +==== What can the Miro do ====
13 +The MiRo is a small dog-like robot on two wheels. Due to MiRo having wheels, he can roll around on a non-black table and uncarpeted floors. He is able to move his ears to the side and to the front. He can wag his tail and move his tail up a little bit. MiRo has a lot of movement of his head, he can move his neck up and down and he can move his head left, right, up and down. MiRo can also blink fast and slow. Aside from movement, MiRo has some small lights on his back and face which can be controlled. MiRo can also make sounds when the amount of Hertz is defined.
15 15  
16 -Aside from movement, MiRo has some small lights on his back and face which can be controlled. MiRo can also make sounds when the amount of Hertz is defined.
17 -Finally, MiRo has a couple of sensors. His eyes contain two cameras, allowing him to see and recognize coloured objects. He also has proximity sensors and cliff sensors that guard him against driving off edges, and finally, he has touch sensors spread across his head and body.
15 +MiRo has a couple of sensors, it has touch sensors on the head and body, Cliff sensors and proximity sensors.
18 18  
19 19  ==== Limitations of MiRo ====
20 -Although these capabilities listed above seem promising, we experienced quite a lot of problems while working with MiRo. This section describes these problems and how we handled them.
18 +In this section, we will describe problems that we have encountered with MiRo and solutions to these problems.
21 21  
22 -First of all, we noticed that the MiRo is not able to roll around on the floor of the Insyght lab. It is only able to run on smooth floors or tables. When using the MiRo on a table, be careful because the cliff sensor does not always work. We also found that MiRo can not drive on black tables. The black underground will cause the cliff sensor to constantly detect cliffs, causing MiRo to only drive backwards. Additionally, we noticed that the MiRo robot has a bit of a weak neck. It will drop when rolling around or will move weirdly when the head is being touched. Thus, one needs to be careful when "petting" the MiRo, as you do not want to damage such an expensive robot.
20 +===Programming difficulties===
21 +When using Mirocloud, there are two possibilities: the first one is blockly which is block-based programming, one can also convert that code to Python or just program Python.
22 +Blockly is mainly created to teach children on how to program, when using Blockly some problems can be encountered. One of the problems that we've encountered is that Blockly does not always create runnable code. For example, if one is using arrays/lists, Blockly can accidentally place NaN when trying to access an item from the list.
23 +One can also use Python directly. Unfortunately the Python environment is a Sandbox. One can not use external modules (and thus not import things) so only basic Python code can be used.
23 23  
24 -=====Programming difficulties=====
25 -The creators of MiRo have set up MiRoCloud to allow people to determine the behaviour of MiRo. When using Mirocloud, there are two possibilities: using the block-based programming method 'Blockly', or coding the behaviour in Python. Blockly is mainly created for the purpose of teaching children how to program. The ease of use that this brings severely hinders the capabilities of MiRo, as you can only execute blocks in sequence. You can also start creating MiRo's behaviour in Blockly and then convert this to Python code, but we noticed that Blockly does not always create runnable code. For example, if one is using arrays/lists, Blockly can accidentally place NaN when trying to access an item from the list. You can also write the behaviour in Python directly, but unfortunately, the environment is a Sandbox. You can not use external modules (and thus not import things), so only basic Python code can be used. Furthermore, we have noticed that MiroCloud breaks a lot, either on the PC itself or in connecting with the robot. A lot of the time, MiroCloud will give an error when trying to send code to the Robot (such as 'camera's can't be accessed'). MiroCloud also gives an error on Chromium-based browsers, which can be solved by using Firefox. Finally, we have tried to get the robot to make sounds ,but we were only able to send specific Hertz ranges to the robot for a certain amount of time. Unfortunately, we were not able to get a sound that resembled a dog.
25 +The other option is to not use the MiroCloud system but to try to install the MDK and use it. Unfortunately, this proved to be very difficult. A set-up guide can be found here (todo: Add setup guide?). When it has been installed, it is difficult to use the MDK as accessing the robot and coding it is very difficult.
26 26  
27 -The other option for controlling MiRo is to not use the MiroCloud system, but to try to install the MDK and use it. Unfortunately, this proved to be very difficult. A set-up guide can be found [[here >> http://labs.consequentialrobotics.com/miro-e/docs/index.php?page=Developer_Install_Steps_Install_MDK]]. When it has been installed, it is difficult to use the MDK as accessing the robot and coding it is very difficult. Unfortunately, we did not manage to get this running after a number of tries, and instead focused on developing the idea of our solution further.
27 +We have noticed that MiroCloud breaks a lot, either on the PC itself or in connecting with the robot. A lot of the time, MiroCloud will give an error when trying to send code to the Robot. It will give an error that cameras can't be accessed. Finally, MiroCloud will give an error on chromium based browsers, we have solved this issue by using Firefox.
28 28  
29 +We have tried to get the robot to make sounds but we were only able to send specific Hertz ranges to the robot for a certain amount of time. Unfortunately we were not able to get a sound that could represent a dog.
29 29  
30 -=====Wizard of Ozzing=====
31 +===Working with the MiRo robot itself===
32 +First of all, we noticed that the MiRo is not able to roll around on the floor of the Insyght lab. It is only able to run on smooth floors or tables. When using the MiRo on a table, be careful because the Cliff sensor won't always work. MiRo can also not run on black tables as the Cliff sensor will only detect Cliffs and MiRo wil not be able to roll.
33 +
34 +We have noticed that the MiRo robot has a bit of a weak neck. It will drop when rolling around or will move weird when the head is being touched. Thus one needs to be careful when "petting" the MiRo.
35 +
36 +===Wizard of Ozzing===
31 31  The MiRo robot can be controlled with certain PS4 controllers. We have noticed that PS5 controllers will also work but the head can't be controlled as that one is mapped to the triggers and they need to be held in the middle to keep the head of the MiRo in the middle. Pairing the MiRo with a controller can be used by following the steps on the following page: [[PS4 Setup >> http://labs.consequentialrobotics.com/miro-e/docs/index.php?page=Husbandry_MIROapp_Home_page_Remote_settings_dialog]]. On this page, one can also found which controllers can be used. The controls are on the following page: [[PS4 Controls >> http://labs.consequentialrobotics.com/miro-e/docs/index.php?page=Husbandry_MIROapp_Controller_manager_Remote_controller]]
32 32