Changes for page Humanoid Robot
Last modified by Laura Ottevanger on 2022/04/05 13:53
From version
12.1


edited by Tim Huisman
on 2022/04/02 22:05
on 2022/04/02 22:05
Change comment:
There is no comment for this version
To version
15.1


edited by Tim Huisman
on 2022/04/02 22:23
on 2022/04/02 22:23
Change comment:
There is no comment for this version
Summary
Details
- Page properties
-
- Content
-
... ... @@ -9,6 +9,7 @@ 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 === 12 12 ==== MiRo's capabilities ==== 13 13 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. 14 14 ... ... @@ -18,22 +18,14 @@ 18 18 ==== Limitations of MiRo ==== 19 19 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. 20 20 21 -===Programming difficulties=== 22 -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. 23 -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. 24 -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. 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. 25 25 26 -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. 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. 27 27 28 - We havenoticedthatMiroCloudbreaksalot,either on thePCitselforinconnecting withtherobot.A lotfthetime, MiroCloudwillgive an errorwhenyingtodcode totheRobot.Itwillgiveanerrorthatcamerascan't beaccessed.Finally,MiroCloudwillgive anerroronchromiumbasedbrowsers,wehavesolvedthisissuebyusingFirefox.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. 29 29 30 -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. 31 31 32 -===Working with the MiRo robot itself=== 33 -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. 34 - 35 -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. 36 - 37 -===Wizard of Ozzing=== 30 +=====Wizard of Ozzing===== 38 38 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]] 39 39