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 14.1 Icon
edited by Tim Huisman
on 2022/04/02 22:09
Change comment: There is no comment for this version

Summary

Details

Icon Page properties
Content
... ... @@ -19,14 +19,20 @@
19 19  ==== Limitations of MiRo ====
20 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.
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.
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 cliff sensor will constantly detect cliffs due to the black underground, 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 weird 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.
23 23  
24 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 +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.
26 +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.
27 +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.
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.
29 +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.
28 28  
31 +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.
29 29  
33 +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.
34 +
35 +
30 30  =====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