



Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
progetto di robotica, utilizzo di un robot mobile per il trasporto di medicinali, unibs
Tipologia: Guide, Progetti e Ricerche
1 / 5
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!




anting to achieve different goals, the Turtlebot robot offer a perfect solution to reach them, combining funcional components like a camera and scanner, a interesting appearance and a powerful programming language to use (Matlab R2020a). Now I’ll just briefly explain the two main script implemented, which as I already mentioned, are the creation of the virtual house and the most important procedure to follow the right path to transport medicines.
The project reported here had two main task: Implementation of a system for transporting medicine from one room to another to sick people and creating this virtual house to test robot behavior. To achieve this I used Gazebo simulator with Matlab. The robot used is a TurtleBot and it is a low-cost, personal robot kit with open source software. (https://www.turtlebot.com/ ). This robot, is composed, among the other things, by a camera and scanner. The language used to program it is Matlab. The programs version used are Matlab R2020a, Ros Indigo Gazebo V3 and VMware Workstation Player 12. The last one is a virtual machine to simulate linux enviroment to allow me to use Ros Indigo Gazebo.
This isn’t a specific action of the turtlebot, but it is an important part of this project. It consists of a way to create, on Gazebo simulator with Matlab, a virtual house to test the robot until to try it in the real word. This is a foundamental part to know where pose the right path object. The first thing we should do is double-clicking on VMware Workstation Player 12 icon to open a Linux Virtual Machine. Inside this, we need to click on Gazebo empty and in this way we open a simuletor environment which is completely empty except for the TourtleBot in the centre of the window. After that we should open Matlab and connect it to the virtual machine. This is possible using Ros and the command “rosinit(ipaddress)” where the ipaddress is the address of the virtual machine. At this point, after we should apply this command to create an istance of ExampleHelperGazeboCommunicator used to create the different element. The next step is to create our home using the object that are present in the GazeboDB or we can also create new object by join two different basic shape (e.g. sphere, cube and cylinder). In this project I create a Matlab script where there is the code to create a house with 2 room, some forniture, some table ecc. as we can see in the next images. The script is used to save this information and to re-use this model instead recreate every time. When the house is like the real one, we can start to decide where put the path object and test if it is the right position or not without damaging the real robot. In this picture we can see the virtual home which has two rooms. The left one is the starting place, the second one is the final. The small circle black is the turtlebot, the bigger ones are the path’s objects. This second figure show us the second room from another angulation. We can see a cafe table and a puff, which are near the final destination of turtlebot that is the bed and the shelfs.
linear velocity along the X-axis controls forward and backward motion and the angular velocity around the Z-axis controls the rotation speed of the robot base. Now we have all the element to understand the algorithm. After set all variables to the initial value like spinVelocity, forwardVelocity ecc. it start to move straight ahead and scanning. During this operation it calculates the distances beetween itself and the the other objects using X and Y coordinates of the scanner. In the distance in the closest point is under a threshold it meas it is near an object and it starts the sequence of operation to recognize the object. It takes the photo and analyse it. The best way to do it is to use the Image Processing Toolbox of Matlab but for my university license is not available. So in this case we have thought an alternative method using the values of the image. We put black path object in a light color house. In this way if we are very close to the a path object we have low values, in the other way not. In this way the Turtleblot recognize the path object, while in the next photo it understands the object is not a path object. In the first case we rotate the robot to right and we continue in this direction until it meet an other object. In the second case, it starts to do a set of operation to avoid the obstacle. This set is composed of some lateral movements and some forwards movements. To chose if the lateral movement is on the left or on the right I use a little function that count the number of point in a square of 1x1 in scanner cartesian image. If the number of these elements is bigger in left part we avoid the object going to the right part, in the other case we avoid the object going to the left part. The robot continue to do this until it arrive on the bed of the person who need medicines and here it stops. This is possible because every time it meet a path object it increments a counter. When the counter become three it block every movement.The path objects in the room are two, so when it takes photo about the bed it recognise it like a path object. The counter become three and the robot walk is stopped.
Some improvements in this project could be done in the future. One of this is to improve the way to analyse images using appropriate image processing toolbox to recognize in a better way the different objects by the color, the shape and by other elements. An other interesting improvements of this project will be to create a collaboration beetween turtlebot and other two arm robot that load medicine on the bot in the initial part of the path and download them when it arrives to the final goal.
In conclusion this project was important to achive knowledge on the movement and vision basics, expecially on how to use a camera and laser scanner. It is also important to learn something about object detection and the way to communicate beetween the pc and the simulator (or robot) by using ROS.
https://it.mathworks.com/help/ros/ug http://gazebosim.org/tutorials/browse