Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


progetto di robotica, Guide, Progetti e Ricerche di Robotica

progetto di robotica, utilizzo di un robot mobile per il trasporto di medicinali, unibs

Tipologia: Guide, Progetti e Ricerche

2019/2020

Caricato il 11/10/2020

giuliachiaraanna
giuliachiaraanna 🇮🇹

4.4

(21)

13 documenti

1 / 5

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
I. Introduction
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.
W
Turtlebot Robot:
Right path following, object
detection and recognition.
Abstract
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.
pf3
pf4
pf5

Anteprima parziale del testo

Scarica progetto di robotica e più Guide, Progetti e Ricerche in PDF di Robotica solo su Docsity!

I. Introduction

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.

W

Turtlebot Robot:

Right path following, object

detection and recognition.

Abstract

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.

II. Creation

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.

IV. POSSIBLE FUTURE

IMPROVEMENTS

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.

V. CONCLUSIONS

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.

REFERENCES

https://it.mathworks.com/help/ros/ug http://gazebosim.org/tutorials/browse