• No results found

An Autonomous Robot for Collecting Waste Bins in an Office Environment

N/A
N/A
Protected

Academic year: 2021

Share "An Autonomous Robot for Collecting Waste Bins in an Office Environment"

Copied!
33
0
0

Loading.... (view fulltext now)

Full text

(1)

aster˚

as, Sweden

Thesis for the Degree of Master of Science in Engineering - Robotics,

30.0 credits

AN AUTONOMOUS ROBOT FOR

COLLECTING WASTE BINS IN AN

(2)

Students:

Billy Lindgren

Giancarlo Kuosmanen

alardalen University, V¨

aster˚

as, Sweden

Student ID:

bln13004

gkn11001

Company:

Volvo GTO

Supervisor at the Company: Per-Lage G¨

otvall

Volvo GTO, G¨

oteborg, Sweden

Supervisor at MDH:

Mikael Ekstr¨

om

alardalen University, V¨

aster˚

as, Sweden

Examiner:

Ning Xiong

alardalen University, V¨

aster˚

as, Sweden

(3)

Abstract

The aim of this work is to introduce autonomous robots for collecting waste bins in an office environment. Since the environment will contain humans, therefore, the robot-human interaction is essential so that neither the robot nor humans come in harm’s way. To prevent this, the robot needs to be able to communicate with the humans, and it has to operate in a safe way in the office environment. To facilitate this there is a need to investigate the state-of-the-art in various fields such as: mapping, path planning and, machine-human interaction. The result is a robot that is able to map an indoor environment and use the map to its advantages for producing a suitable path from any given position to any desired location. While traversing the path, sensor data is gathered for obstacle detection and avoidance in order to handle dynamic environments.

(4)

Table of Contents

1 Introduction 4 2 Expected Outcome 4 3 Problemformulation 4 4 Related Work 5 4.1 Map representation . . . 5 4.1.1 Grid-based map . . . 5 4.1.2 Topological map . . . 6 4.2 Costmap . . . 6

4.3 Simultaneous Localisation and Mapping . . . 6

4.3.1 Gmapping . . . 6

4.3.2 HectorSLAM . . . 7

4.4 Machine-human interaction . . . 7

4.5 Path planning . . . 8

4.5.1 Elastic Band . . . 8

4.5.2 Timed Elastic Band and Dynamic Window Approach . . . 9

5 Charlie, the Unicorn platform 9 5.1 Robot Operating System . . . 9

5.1.1 Sensors and their functionality . . . 10

5.2 Charlie hardware . . . 10

5.3 Algorithms Implemented . . . 11

5.3.1 Gmapping . . . 11

5.3.2 Adaptive Monte Carlo Localisation . . . 11

5.3.3 Costmap - Local and Global . . . 11

5.3.4 Global- And Local Planner . . . 11

6 Method 12 6.1 Waste Bin . . . 12

6.1.1 Empty the waste bin . . . 12

6.2 Hardware . . . 12 6.2.1 LIDAR . . . 12 6.2.2 Stereo camera . . . 13 6.2.3 Ultrasonic rangefinder . . . 13 6.2.4 Bumper sensor . . . 13 6.3 ROS Master . . . 13 6.4 Mapping . . . 14

6.5 ROS Navigation Stack . . . 14

6.5.1 Map representation . . . 14 6.5.2 Navigation . . . 14 6.6 Test Setup . . . 14 7 Implementation 15 7.1 Costmap . . . 15 7.2 Mission Planning . . . 16 7.3 Path Planner . . . 16 7.4 ROS Master . . . 17 7.5 Lift System . . . 17 7.6 Arduino . . . 17 8 Result 18

(5)

9 Discussion 19

9.1 Research Questions . . . 19

9.2 LIDAR and Mapping issues . . . 20

9.3 Localisation and wheel odometry problems . . . 20

9.4 Path planning . . . 21

10 Future Work 21

11 Conclusion 22

References 25

Appendices 26

Appendix A Flow chart 26

Appendix B Specification tables 27

Appendix C RpLidar datasheet 28

Appendix D ZED datasheet 29

Appendix E SICK LMS111 Datasheet 30

(6)

1

Introduction

Robots acting in an environment where humans are also active is getting more and more close to reality. Not only in applications aimed for testing and demonstrations, but also close to a real, and efficient system. One of the big questions remaining is how to interact with humans, giving the humans a natural feeling for a safe and efficient machine. At Volvo GTO, there are projects ongoing having autonomous transporters in the manufacturing plants and applications in public areas (e.g. Unicorn) with this focus. Implementation in an office environment would give a better and broader understanding of the interactions of humans and robots and also get an acceptance of robots in the human environment.

The Unicorn project is a collaboration between M¨alardalens University, Chalmers University of Technology, Volvo GTO, Hiab, Husqvarna, PWS and the city of Gothenburg. The project aims at having a modified Husqvarna auto mower to collect garbage bins in an outdoor environment and then empty the bin at a designated area. The modified auto mower is named Charlie and is described in Section5. This thesis is a sidetrack on the Unicorn project and focuses on machine-human interaction.

Human-machine interaction is becoming more common, a human can give commands and communicate with a robot, and the robot will take action based on the given information, in everyday life. But the cases where the robot is to communicate with a human, and the human understands the intentions of the robot, are not common in public environments. Some extensions of machine-human communication can be found in the everyday life though, e.g. a computer program gives the human instructions on how to perform a task and the human performs it. But those kind of applications got only some predefined states and does not tell the human what intentions the machine has only what the machine expects the human to perform. These signs of the machine to the humans in its surrounding are important for to make people feel safe around the robot and that it does not surprise them, instead that the agent has a predictable behaviour. This paper is structured as follows: first, the expected outcome is presented in Section2. After comes Problem formulation, what is to be solved is in Section3. Section 4 presents the related work, what has been done before. Then the used platform is presented and explained in Section5. After comes, the Method Section including new hardware is presented in Section6. The following is the implementation Section 7, how everything was done. Expected outcome and the results are presented in8. The paper is then later wrapped up with a discussion, conclusion, and future Sections9,11, and10.

2

Expected Outcome

The expected outcome of this thesis is a functioning system that can collect and replace known full waste bins in an office environment with empty containers, without disturbing the employees. By implementing a robot that can traverse throughout the GTO office without colliding with objects or humans and that also can communicate with the employees regarding the agents motive. The agent must not disturb the employees and therefore it needs to have a discrete communication to the humans.

3

Problemformulation

This thesis aim towards creating an autonomous system that contains two robots that will collect and empty garbage bins in an office environment. The robots will operate in an office environment, and, will thus be surrounded by humans; it is crucial that neither humans or objects get harmed or damaged by the robot. It is essential that the robot can communicate with its surroundings and that it can show its intentions such as: where it is heading and that it has seen the human. While the robot is performing its tasks, it has to do so without disturbing the employees at the office.

The bins will be wall mounted, and some design changes to Charlie has to be made. Instead of having the bin mounted on the robot, the robot will instead collect the bins from the wall and place them in a designated area for full containers that are to be emptied by cleaners. Then a

(7)

device has to be constructed that can lift the bins from- and to the wall where the bin are to be located and implemented on the agent so the robot can perform its task.

The research questions that need to be answered are:

RQ1. How can the robot show its intentions and communicate with the employees, if necessary, without disturbing?

RQ2. What sensors are appropriate for the robot to have so that it can perform its tasks? RQ3. How does the robot know where it is in the world?

RQ4. How will the robot lift the full bins of the walls and place them in the designated area and place an empty bin where the full were placed?

RQ5. How should the robots communicate with each other?

Given the research questions the following fields will be investigated: Machine-human inter-action, how the robot shows its intentions, designing and build the system regarding: mapping, path planning, mechanical construction and electronics. To be able to perform mapping and path planning, appropriate sensors must be chosen and implemented. The bin lifting- and placing device needs to be mechanical constructed and suitable electronics are needed.

4

Related Work

In this section, different map representations are presented, Simultaneous Localisation and Map-ping (SLAM) algorithms are explained and also different ways for a machine to signal and com-municate with humans in its environment. Different path planners are also presented Mapping methods that are investigated are: Grid-base maps in Section4.1.1, Section 4.1.2describes Topo-logical maps. Section4.2introduces costmaps, that is a further development on Grid-based maps. The investigated SLAM methods are Gmapping 4.3.1and HectorSLAM 4.3.2. After the SLAM sections, Section 4.4 presents different ways for robots to communicate with humans. Last in this section are different path planner algorithms4.5, Elastic Band4.5.1, Time Elastic Band and Dynamic Window Approach4.5.2.

4.1

Map representation

When the agent is to move around in the world, following a given map, there exist different ways of representing the various places on the map. The two types that are commonly used are grid-based

4.1.1and topological based4.1.2maps. 4.1.1 Grid-based map

A Grid-based map is acquired when a grid is added on top of a map. All cells of the grid are of equal size and the resolution on the grid determines how many cells there are. The more cells, the higher the complexity for a path planner to calculate a path and more time and computational power is needed.

One application that utilises the grid-based map is Occupancy grid. The Occupancy grid has two to three different states: occupied, empty, and unknown, though the unknown state is not always implemented. The occupied state indicates that cell has an obstacle in it and the agent cannot pass through the cell. An empty cell is a cell that the agent can pass through. The unknown state, if implemented, is a state where there is an uncertainty if the cell is occupied or empty. This is due to the lack of sensor data at the specific point on the map. A. Elfes [1] proposes the Occupancy grid solution

Costmap is a solution build upon the occupancy grid and is suggested by David V. Lu et al. [2]. Where they still use the three different states: occupied, empty, and unknown. They also introduce a layer called inflation layer. This layer sets different costs to the cells, depending on the state of the cell and the state of the neighbouring cells. If a cell is empty, but if one or several

(8)

of the adjacent cells are occupied the empty cell gains a higher cost to avoid obstacles, or being close to obstacles if possible.

4.1.2 Topological map

Topological maps are like grid-based maps, but instead of having cells of equal size, each cell is of different shape and size. This makes the topological map less complex, and it might require less computational power than the grid-based map since it can have fewer cells than the grid-based map.

When the size and shape of the cells differ from cell to cell, it makes much harder and time-consuming to implement since a method for constructing the different cells needs to be developed and rules on how the cells are to be created need to be implemented. Fabian Bl¨ochliger et al.[3] sug-gests a method for producing topological maps for mobile robotics and how to avoid the problems in creating topological maps.

4.2

Costmap

Costmap is essential for navigation systems in an ambience covered with hindrances. The ROS navigation stack mentioned in section 6.5 performs path planning on a single layered costmap, which the majority of the information is stored. This solution works for small-scaled maps and paths but has a difficulty of processing extensive maps with dynamic obstacles when the values extends beyond what the costmap can reach in the occupied or free space. In [4] proposes a solution by subdividing the singled layered costmap into several layers. These layers have different purposes e.g. finding different types of obstacles and limitations. Subsequently alters the master costmap in use for the path planner. The layers presented can be seen in [[4],fig.1]. There are four layers to take into consideration, static layer handles the static obstacles which are located on the map and the map is produced by a SLAM algorithm, obstacles layer is handled by sensors e.g. ultrasonic, LIDAR and RGB-D cameras if these sensors receives a reading the area will be marked as occupied and in between will be marked as free, voxel layer tracks the same as obstacle layer but handles the sensor data in three-dimensions to find the height of the constraint or obstacle and inflation layer determines if the robot can go there or not, depending on the distance of the obstacle. The costmap proposed by David.L et.al [4] was released into ROS described in section5.1as the default navigation algorithm.

4.3

Simultaneous Localisation and Mapping

SLAM is one of the most widely researched areas in the Robotics field. It builds and updates maps of unknown environments, whilst the robot plans its path and current position. The diversity of SLAM differs from one and the other, from algorithms where the most notable ones are RBPF [5], GraphSLAM [6], Particle filters and EKF(Extended Kalman Filter) to a wide field of sensors and the uptake of information when handling map formats. Regarding the map formats, grid maps and feature maps are the most conspicuous ones. Depending on the given SLAM problem a variety of combinations of algorithms, maps and sensors can be used for alternative solutions as long as the problem has been taken into account. SLAM techniques have a common feature, scilicet probability. Probability contributes robustness in a certain sense that it can represent uncertainty in measurements, noise and estimation. Most of the probability methods for solving the map building employs a method called Bayes Rule1[7]which is in the Kalman Filter [8] which

has branches of, EKF and Unscented Kalman Filter (UKF). These methods are based on prediction and update. The distinguishing part of these filters is that KF only works on linearised systems; however, UKF and EKF can be applied to nonlinear systems.

4.3.1 Gmapping

GMapping is a SLAM algorithm that combines odometry and laser (LIDAR). Gmapping is one of the most commonly used algorithms in robotic applications, due to its effective results and efficient

1

(9)

methods. Its based on a particle filter (PF) called Rao-Blackwellized Particle Filter (RBPF) SLAM, which was introduced by Doucet et al. [5], was an effective approach to solving the SLAM problem. The amount of particles decides the complexity of the system, the more particles more computational power is required.

However it requires a considerable amount of particles to get a satisfactory outcome. A problem that RBPF-SLAM suffers from is large environments since each particle covers its own grid-map. Each grid-map contains a great deal of memory, so by reducing the amounts of particles and selecting a smaller sample will solve some memory issues. A solution to this problem was proposed by Grisetti et al. [9], implementing an adaptive technique where each particle holds an individual map of the whole environment. This reduces the number of particles required and creating a more accurate map. Two methods that substantially improved the RBPF algorithm:

• Proposal distribution. That considers the accuracy of the robot sensor data and allows the algorithm to mark particles in a more definite way.

• Adaptive re-sampling technique. Maintains a reasonable fluctuation of particles in order to not achieve particle depletion.

Allows RBPF to learn a more precise map.

Proposal distribution method makes use of the odometry information incorporated with a scan-matching procedure. Making it more accessible for evaluating a particle position. The most recent values generated from the sensors are taken into account for creating a new set of particles. This allows for a more accurate estimation of the state of the robot. The adaptive re-sampling technique permits the re-sampling process only when it is needed, allowing it to keep a fair amount of particle diversity. Reduces the chance of getting afflicted by particle depletion. Still, conventional RBPF deteriorates from large maps due to the computational power. Recently, Jo et al. [10], proposed an approach where each particle contains a small map of the nearby environment called an individual map, instead of the whole map. The remaining part of the large map is shared by particles, called base map. If these individual maps become credible, they will be combined into the base map. There are two criteria that need to be fulfilled, which they call Map Sharing Criteria (MSC). MSC decides which particles should be included in the base map or individual map. Combining the individual particles with the base map renews the entire map. Makes the robot to move between two maps. This method reduced the memory consumption immensely.

4.3.2 HectorSLAM

HectorSLAM is one suggested solution for SLAM in robotics and is proposed by Kohlbrecher et al [11]. It works in a similar way as an occupancy grid. Using LIDAR to perform measurements and to create the map, a particle in the map can be either occupied, free or unknown. When a particle has been measured one time, the agent changes position, but knows the travelled distance, and performs a measurement again. If the same particle is found from the new position of the robot, the particle is given the state free or occupied, depending on if the LIDAR measurement found an obstacleor not. An example is that if the LIDAR measures a distance to a wall, the particles that are located on the wall is granted the state of ”occupied”, and the particles between the agent and the particle on the wall gets the state of ”free”.

4.4

Machine-human interaction

In order to create a secure environment for both humans and robots, the robots need to be able to communicate and signal the people in its surrounding. This area has been under investigation for some time, and research has been performed. An investigation shows that people find it easier to have autonomous vehicles and robots that shows were it is heading. Some suggest that a light-ray is used in order to show the surrounding where the robot is heading while not disturbing [12] [13]. Even though the tow light-rays are for different applications, they are fairly similar on how they are implemented. Both are having light that beams on the floor in front of the robot or wheelchair. The faster the vehicle travels the further away is the light-ray showing to inform pedestrians where the vehicle is headed. The only difference between the two applications is that on the wheelchair,

(10)

the light-ray can only change its angle and show the projected light closer or further away while the robot can turn the lights up and down, right to left.

Another way to show humans that they are detected by the robot is with LEDs. Depending of which distance the humans are to the robot, different coloured lamps are lit (in order; green, yellow, and red. Where green is at a safe distance and red is at an unsafe distance). This is proposed to be used on autonomous forklifts in a factory environment [14]. The implementation of the lamps are quite simple, there are a number of distance sensors and each sensor has control of some lamps. e.g. the sensor to the front right of the robot has the control over the some lamps on the right front. In this way it can show the pedestrians that it has detected and is aware of them. The pedestrians can then feel safe since they know that the forklift has seen them and that it will not collide with them.

4.5

Path planning

The core of path planning is to determine a path from one coordinate location to another along a set of way-points.

Global path planners [15] are often used together with a known map in order to find the most cost effective path. There are different path planning algorithms for finding the shortest path e.g. A*[16], D*[17],[18], D* lite[19],Enhanced D* lite[20] and Dijkstra[21]. The mentioned algorithms finds the shortest path by dividing regions into grids with different costs, the higher the cost, the less attractive the grid is. In [21] compares the traditional Dijkstra algorithm and the improved Dijkstra. The traditional Dijkstra only finds one shortest path and skips alternative paths with the same length whereas improved Dijkstra finds all the equidistant paths. The concluded result indicate that Dijkstra is stable and robust to topology changes thus is widely used in Automated Guided Vehicles (AGV) for solving the path planning problems. The A* algorithm [16] is a thoroughgoing, robust planning technique for finding the minimum cost path. The planning begins at a starting point, and adjacent cells around the starting point are probed in order to find the lowest cost. The cell with the lowest cost, including all the costs of its successors, is explored next. Local path planners [15] follows the path that the global path planner has generated, but the local path planner creates new way-points if a dynamic obstacle appears with the assistance of sensor data [22] and also takes into account the velocity of the robot i.e. dynamic constraints [23]. Examples of different local planners in section4.5.1and4.5.2.

4.5.1 Elastic Band

Is a local path planner which was proposed by Quinlan and Khatib[22], [24]. The idea was to refine the coarse trajectories in navigation for robot applications, by closing the gap between path planning and control. This proposed framework combines local sensors that adjust the path in real time generated by the global planner. The method can be described as a three-level hierarchy:

• Path planning.

• Elastic band: Changes the path in real time during acquisition of sensor data to smoothing the path and alter the path during encountering of dynamic obstacles.

• Control: Conventional control law, makes the robot move along the elastic band path. The EB planner facilitates manoeuvring around dynamic obstacles. The elastic band must repre-sent a collision-free path for the robot, and by doing so, it utilises artificial forces that makes the band deform in real time to a non-collisional smooth path which is free from obstacles. The EB continues to adapt to changes in the environment that keeps on occurring with the aid of sensor information, enabling the robot to react and adjust to unforeseen obstacles. The EB local planner preserves the global path as the planned path in the free space (World map), while EB modifies the path locally to maintain clearance from obstacles.

Bubble concept allows the EB to operate in real time. Instead of trying to compute the entire free space, the proposed bubble concept uses a model of the environment and the robot to engender local subsets of the world map. Each subset is a bubble. The bubbles calculated are induced by the local freedom and the given state of the robot. A brief overview of the concept is presented in [[22], fig.3].

(11)

4.5.2 Timed Elastic Band and Dynamic Window Approach

The Timed Elastic Band (TEB) method that was proposed by R¨osmann, Feitenn and W¨osch [23] is an augmented Elastic Band. It takes dynamic constraints of the robot as well as geometric con-straints on the path. It can easily adapt to any robot kinematics and any given application. The TEB problem is defined in a weighted multi-objective optimisation framework. Comparing TEB and EB shows that EB obtains the shortest path by manipulating the elastic band with artificial forces making it contract, while TEB considers temporal information that provides the option to choose from the shortest path or fastest path and or combining both of the possibilities. Later in [25], the TEB approach gets a trajectory optimisation with the benefit of sparse structures, that reduces the complexity of the algorithm, also with the implementation of a C++ open-source algorithm called ”general (hyper-)graph optimisation” (g2o). This procedure is introduced by R.K¨ummerle et al. [26] which solves graph based nonlinear optimisation problems, and in [27] combines the TEB planner with a Model Predictive Control (MPC). The model predictive control allows the TEB to follow the ideal time-optimal trajectory with high precision. The tests con-ducted was in two non-linear systems, open loop and a closed-loop system, which the closed-loop system performed better. In [28], a general problem that TEB has is falling into local minima and can be mitigated by engendering several plans simultaneously in different homotopy classes but at the cost of increased processing time. It increased the proficiency in avoiding dynamic obstacles. A comparison between the improved TEB, the classical TEB and Dynamic Window Approach (DWA)[29] was made. The TEB optimisation with distinctive topologies handled the tests excep-tionally well compared to the classical TEB which suffered from local minima and managed the dynamic constraints far better than the DWA. As stated by D.Fox et al. [29], DWA is a state-of-the-art method for mobile robot navigation. DWA reaches its goal by sampling trajectories at each control cycle from a velocity space which is restricted by a possible set of velocities. The trajectory that has the least cost will control the robot. With this sampling method, the DWA can easily detect and evade local minima compared to the continuous optimisation technique.

5

Charlie, the Unicorn platform

This thesis is aimed to use Charlie, the Unicorn platform, and further develop it for indoor use. Charlie is one of the outcomes of the robotics project autumn 2017. Charlie is built in top of a Husqvarna auto mower 430X with Robot Operating System (ROS) enabled on it. The Husqvarna platform has then been developed, additional sensors have been added and are presented in section

5.2, and the integrated collision sensor in the mower has been removed since they do not have any purpose for this application.

Sensors that have been added to the Husqvarna platform is a LIDAR, a stereo camera and ultrasonic sensors. These sensors are to gather data about the environment that Charlie is in. The different sensors are placed at different heights in order to be able to detect obstacles that are of different heights. The sensors that have been removed from the base is its collision sensors. When the shell was redesigned, the integrated collision sensors can no longer be used due to the changes, and therefore they become unusable. The implementation of the collision sensors made sure that they could not be removed from the platform since if they were to be removed the base would not get a signal from the sensors and it would see this as a collision and stop all movement. Instead, they were disabled, the sensors are hall effect sensors and thus requires a magnetic field, with the help of magnets that were placed onto the sensors. The sensors have this behaviour since it is a safety issue when handling a product for the public.

5.1

Robot Operating System

Robot Operating System (ROS)2is an open-source operating system designed for helping writing and reuse code from different projects to new ones, and also to create a generic starting point for new projects [30]. Since it is open-source, the ROS community is publishing libraries to move

(12)

the community forward in developing innovations that can be used by the community. The ROS network constructed around a master of the network as well as ”nodes” that are peer-to-peer processes that exist within the network. The Masters’ duty is to supply the other machines on the network with name and addresses of the devices that are on the network so that the devices can communicate with each other. Another function the master is fulfilling is that it provides lists of nodes in the network that can be called upon by the other devices.

A node in the network can contain one or more topics. Topics are built around publisher and subscribers where data can be acquired or published. Topics work similarly as ”threads” when programming parallel systems. Where one topic is a thread and a node is a process (with the assumption that windows are the operating system in the parallel system). A node may subscribe to multiple topics at once, and various nodes may subscribe to the same topic.

The purpose of ROS is to make it easier to use; the learning curve is quite steep. When one is fully versed in how ROS is built and works it can decrease developing time significantly if correctly applied.

5.1.1 Sensors and their functionality

Light detection and ranging (LIDAR) is an instrument for field measuring. It measures the dis-tance with pulsed laser light and depending on the disdis-tance, the travel time can vary (time of flight), with this information a position can be estimated through e.g. triangulation. LIDAR is commonly used for making high-resolution maps, in navigation and control of autonomous cars and robot applications.

In the field of SLAM, the LIDAR has been a critical part of localisation and mapping as men-tioned by Andersson [31], and in conjunction with other sensors for increased precision. Successful solutions of 3D-mapping have been made by M.Gonzalez et al.[32] with a sole LIDAR. The tests conducted was on a mobile platform combined with ROS.

HectorSLAM mentioned in section4.3.2is known for only using LIDAR inputs, in later stages a combination of odometry data reduced the uncertainty of robot position. HectorSLAM3 in ROS

has the ability to remove or add odometry.

5.2

Charlie hardware

Hardware that have been added the Charlie platform are: • Jetson TX2 - main computer

• Arduino Uno

• SICK LSM111 - LIDAR • Zed - stereo camera

• SRF02 - Ultrasonic range finder

Jetson TX2 is the main computer in the robot. It is a single-board computer from Nvidia. It is the interface between the sensors and the auto mower. It sets the velocity of the auto mower and handles the sensor data. Arduino Uno is a small generic micro controller that acquires data from the ultrasonic sensors and sends information to the Jetson TX2. The LIDAR is being used to create a world map where the robot will execute in, and also for object detection. To create a map, an algorithm named GMapping is being utilised. A small background of LIDAR in section

5.1.1. Both the stereo camera and the Ultrasonic rangefinders are implemented for object detection and avoidance. The camera is also used for localisation of the robot in the world reference frame. The sensors were added since the agent needs to gather information about its surroundings in order to be able to perform the given task. The different sensors are acting in different planes and in different ranges and are to complete each other to create a robust system with predictable behaviour. Further specifications of the sensors can be found in section6.2.

(13)

5.3

Algorithms Implemented

The algorithms implemented into the platform are for navigating through an hectic environment whilst maintaining a stable trajectory when collecting waste bins. ROS provides pre-defined libraries with different functionalists, in conjunction with each other a stable platform can be achieved. The algorithms implemented are:

• GMapping - Copies the environment through LIDAR inputs to create a map for the robot to traverse accordingly.

• AMCL - Is a localisation algorithm for the robot to find itself in the world frame with the help of odometry.

• Costmap - Represents obstacles in the inflated map. Depending on the range of the robot related to the obstacle a cost will be generated. This in turn incentives the robot to evade and plan a new path.

• Global- and Local Planner are for navigating through the environment. A combination of GMapping, AMCL and Costmap, the planner can create a more optimised path.

Further thorough explanations of the algorithms in section5.3.1, 5.3.2,5.3.3and5.3.4. 5.3.1 Gmapping

Gmapping is used to create a map that the robot can iterate through from its current position to the goal that has been set. The algorithm is using a Rao-Blackwellized particle filter where every particle contributes to creating a map of the environment with the help of the movement of the robot and the observations that are made4. Further explanation can be found in section4.3.1

5.3.2 Adaptive Monte Carlo Localisation

Adaptive Monte Carlo Localisation (AMCL) is used by Charlie to determine the location of itself in the world. AMCL works as an ordinary Monte Carlo Localisation, but the adaptive part is that it changes the size of the sample sets and in this way provide better estimations of position while having far fewer particles.

5.3.3 Costmap - Local and Global

When Gmapping has created a map the global costmap is constructed. The costmaps are used for the planners to be able to calculate a path from the current position and the set goal. The Global costmap contains all the stationary obstacles that were found while using GMapping and creating a map, e.g. walls, table. The Global costmap does not take in any sensor data except for the map provided by GMapping.

The Local costmap on the other hand only uses sensor data that are provided from Charlie’s sensors, i.e. LIDAR, camera, and ultrasonic rangefinders. The local costmap updates whenever it finds a new obstacle that is not marked on the global costmap. But it will not write it to the global costmap since the obstacle is a dynamical obstacle, i.e. it can move or be moved, and thus it should not be put on the map with the stationary obstacles. A more detailed explication on Global and local costmaps can be found in Section4.2.

5.3.4 Global- And Local Planner

Both the planners are used to create a path from the current position of the robot to the targeted location. In section4.5describes the planners purposes more profound both local- and global path planners. Initially, the global path planner is looking at the global costmap and calculates the shortest path to the targeted location. While the robot is driving towards the goal, on the global path, the local planner is planning in case of dynamical obstacles that the robot has encountered during under the path.

(14)

6

Method

The first step was to get to know the requirements of the office. These were obtained through a survey by the employees at the office. Later on, when the requirements were identified, specifica-tions of the system was specified, and a literature study was started with the goal of understanding what specs are required for the system to fulfil its task. After all specifications were set another survey was made, ensuring that nothing was left out or redundant. With the gathered informa-tion, design and implementation were started. With a partly finished soluinforma-tion, a new survey was distributed amongst the employees regarding the experience of the system and its functionality. Changes in the implementation was made after the survey, and further development was made to create the complete solution.

A literature regarding how autonomous vehicles communicates with humans in the industry were investigated. To answer RQ2 to RQ5, literature studies and experiments were conducted to confirm or disprove the findings.

6.1

Waste Bin

It has been decided between all the collaborators in the Unicorn project that the bins will consist of a 21-litre bin from PWS 5 as a base, then later it will be modified so it can be hanged upon

a wall. Two types of racks will be designed and build, one model out in the office landscape and another model where the bins will be delivered to when they have been collected.

6.1.1 Empty the waste bin

When the robot is collecting the full waste bins in the office, a lifting device needs to be constructed and built so the robot can pick up the container and move it to the designated area for the full bins and take a new empty bin to the office. The lifting device will also act as a placing device since it will place back the bins on the wall with empty bins. To create such a device, inspiration might be taken from how trucks load their cargo container.

A suggested solution to the lifting- and placing device is to create a solid frame at the edge of the platform body that will act as a stop for the bin when it has been placed upon the robot. To lift up and down the bin a horizontal plane with a threaded cylinder and a screw underneath will allow the lid to run in the vertical plane, to place or collect the bin.

6.2

Hardware

New hardware needs to be decided and implemented on Charlie to make it possible for Charlie to fulfil the new tasks, i.e. to fetch and retrieve waste bins in an office environment. Some examples of new hardware are collision sensors since the old ones did not work in the new application that is discussed in Section5, a lift system for the bins. Some existing hardware might be replaced with something else or removed since they do not meet the requirements of the system or to reduce manufacturing costs of the system.

6.2.1 LIDAR

Originally a LMS111 LIDAR was used for the Charlie platform but was considered too expensive for mass production purposes, so a more reasonable priced LIDAR was chosen, RPLIDAR A2. The specifications of LSM111 can be found in Appendix E and RPLIDAR A2 in Appendix F. The provided datasheets demonstrates that the LSM111 lidar is far superior to the RPLIDAR A2 in terms of angular resolution, range and update frequency. The specifications differences can be seen Appendix Bin Table1. RPLIDAR A2 does not possess the best qualifications but does an excellent job at its task of mapping the ambient. Although the update frequency is low, fortunately the agent maintains a low speed thereof a stable mapping can be yielded. RPLIDAR A2 requires less power, hence the application can maintain a longer run-time and facilitate the work load on the Jetson TX2.

5

(15)

6.2.2 Stereo camera

The camera that were implemented on the agent are a ZED stereo camera from Stereolabs. The stereo camera consist of two monocular cameras and are able to create a depth map when com-paring the images from the cameras. A Software development kit (SDK) has been developed by the manufactures and can be found in [33] and examples are made and uploaded on Github6. Implementations of a point cloud and for visual odometry are predefined in the SDK and are free to use. A ROS wrapper are also been developed by Stereolabs in order to be able to create a fast prototype, although they claim that if higher performance is needed the SDK library should be used[34]. The specifications of the camera can be found in AppendixD.

6.2.3 Ultrasonic rangefinder

For detecting objects near the floor, ultrasonic rangefinder was implemented. The sensors are measuring distance with the help of ultrasonic sound. It measures the travelling time for the sound from the sensor to an object and back; hence it can calculate the distance to the object. The SRF02 is a single transducer ultrasonic rangefinder that can be connected via I2C and a Serial interfaces. Specifications of the sensor can be found in Appendix Bin table2 and on the website[35].

6.2.4 Bumper sensor

The bumper sensor functionality is to stop the robot when the sensor is struck immediately. In case of the other sensors starts to malfunctioning during the run-time, the bumper sensor can be the saviour and minimise the harm done. A safety system is always necessary when humans are playing a role in the environment where the robot is located. The bumper sensor is shown in fig.1.

Figure 1: The bumper sensor

6.3

ROS Master

To create a stable system containing several robots in a ROS network and one ROS master it is essential that the ROS master cannot be terminated or lost. If the ROS master stops functioning, the entire system will crash following that the ROS network will be terminated and the agent will not be able to fulfil its task since it will not receive any orders from the master. If the agents’ connection to the ROS master is lost, the agent will stop and wait until it gets either a connection with the master, or that it is given an order manually, but the network and the other agents will not be affected by this error. Both these cases are examples of an unstable system and therefore needs to be fixed. A suggestion on a ROS master is a Raspberry Pi that will hold the ROS network. The Raspberry Pi will then be connected to a router, with great Wi-Fi range, through wire and therefore achieve greater Wi-Fi range and stability, for the robots to connect to the master. In this way, new devices, e.g. a camera mounted on a wall, that has ROS and has access to the Wi-Fi can be connected to the network and extend the functionality of the system, and a more stable system can be constructed.

(16)

6.4

Mapping

Of the different SLAM algorithms that were investigated in section4.3, by adopting the conclu-sions in previous works done, a selection was made which was Gmapping. Since the mapping only will take place one time, the execution time of the mapping is not taken into consideration instead only the quality of the map. With the differences between HectorSLAM and Gmapping on how they obtain information from the different sensors, i.e. HectorSLAM satifies with only LIDAR data but can be combined with odometry while Gmapping need both odometry and LIDAR data. A benchmark test was made by J. M. Santos et.al. [36] were they conducted different tests with different SLAM algorithms in terms of CPU load, error estimation and real world experiments. In conclusion GMapping had less error estimation and maintained acceptable CPU load compared to the other algorithms which was KartoSLAM,LagoSLAM and HectorSLAM. For the given appli-cation a low error estimation on the map construction is substantial since the office environment have tough conditions i.e. glass walls and reflective objects. By this inference Gmapping was implemented.

6.5

ROS Navigation Stack

ROS navigation stack is a 2D stack that has inputs from odometry and sensor data7to create safe

velocity commands for the robot base to reach the goal from the position of the robot8. The ROS

navigation stack makes use of both the costmap4.2 and a path planner4.5. Sensor data that is provided by the agent are connected both to the path planner and the map representation by the ROS navigation stack and drives the robot towards the goal in a safe way.

Originally the navigation stack was developed for a square robot so the performance will execute best on nearly square or circular robots. It can function on robots with different shapes, but can have difficulties with large rectangular shapes, especially when traversing through narrow spaces e.g. doorways. Due to this criteria the Charlie platform might create unwanted behaviour because of its rectangular shape. Charlie is represented as two circles in the map and may not operate properly when navigating in narrow pathways.

6.5.1 Map representation

The map representation that was chosen was the layered costmap to be able to use the ROS Navigation stack6.5. With the costmap, the different sensors could be implemented with different settings. e.g. that if the LIDAR finds an obstacle, the camera can clear the obstacle if it does not detect it, but the LIDAR cannot clear obstacles found by the camera since the LIDAR only scans in one plane while the camera has the ability to scan through several planes. The layered costmap was suggested by David V. Lu et.al.[4]

6.5.2 Navigation

The TEB planner was chosen as the path planner to be implemented. Due to that performed the best of the planners during the development of Charlie. TEB as local planner managed to construct alternative pathways in areas where obstacles can appear sporadically. TEB algorithm takes into account the geometric constraints and the kinodynamics of the robot mentioned in section4.5.2. Making it a suitable path planner for narrow passageways and dynamic appearances of obstacles which the office environment has and it is compatible with the Ros Navigation stack.

6.6

Test Setup

Several different tests were conducted to investigate if the implementations of the map representa-tion and path planner give the agent the desired behaviour and ability to detect and avoid obstacles that are obstruction the path and reliably reach the goal. The experiments check if the obstacles that are detected are of correct size and in the right position in the map and that the path planner plans a safe path from the starting position to the desired goal. Also, the driving is tested if the

7Sensor data - LIDAR, RGB-D camera and ultrasonic rangefinder. 8http://wiki.ros.org/navigation

(17)

agent can run the calculated path, or if it will collide with the obstacles due to that the agent is utilising differential drive, and might not be able to handle turns in narrow pathways.

All experiments were different obstacle courses with various difficulties, but with the premise that all obstacles are of the height that both the camera and LIDAR can detect them.

The tests conducted were: Obstacle course with 1 obstacle

This test is to verify the basic functionality of the robot, that is to detect and avoid a simple obstacle.

Obstacle course with 2 obstacles

The agents needs to be able to see the first obstacles and avoid it, a second obstacle approaches, when detected a recalculation of the path is done in order to not collide with the object. If this test is successful, it shows that the robot can handle multiple obstacles and maintain a refined path.

Obstacle course around a corner

Investigates if the robot can reach a goal that is around a corner and in that way it can be deter-mined if the agent can create a path around a corner and operate reliably.

Obstacle course with partially blocked path

The goal of this test is to see confirm the behaviour of the agent when the path is not entirely blocked and the agent has to run up to the obstacles to getting more sensor input if it can pass the obstacle safely. In this course, there are two possible paths around the obstacle, but either path is to narrow for the agent to pass through.

Obstacle course with totally blocked path

This test ensures that the agent can determine that a path is blocked entirely and that the given goal is unreachable.

Slalom

The slalom experiment investigates the behaviour of Charlie when several obstacles are found where the path narrows between the obstacles. This test shows that Charlie can handle multiple obstacles in a narrow path and that it can operate without colliding with the obstacles.

Reversing test

Reversing test checks if the robot can reverse until its rear bumper sensor becomes active, then the agent should run to a stop. This test simulates that the robot has reached a waste bin and are to dock with it to either fetch or retrieve it.

7

Implementation

The implementation consists of several steps. First, the map representation is presented in Section

7.1, how the robots world looks like given a map. A state machine to handle mission planning

7.2. Section7.3 presents an enabled path planner, which gives the robot the ability to start from a position in the map and go to a goal. To give the agent its missions to perform a ROS master is introduced in Section7.4. The lifting system that will fetch and place bins is in Section7.5. The last section in implementation is the Arduino section7.6, which controls the ultrasonic sensors and the lift system.

7.1

Costmap

The default navigation algorithm layered-costmap4.2 was already adopted in Charlie5 from the beginning as ROS plugins9. The results from that implementation demonstrated that the

(18)

costmap worked as intended and therefore it was kept. Some parameter changes were made for the agent to act more smoothly around obstacles. Prior to the change the objects were interpreted as much larger than their actual size. Hence the inflation layer was reduced in order to scale down the obstacles size in the costmap grid, allowing the robot to move more smoothly in the narrow ambient e.g. the office environment. This change allowed a more reliable experience for the humans in its surrounding.

7.2

Mission Planning

A state machine was implemented to simplify mission planning. The different states were imple-mented and their functionality will be used in the following manners: BINFetching, BINPlaceing, Reversing, MissionCancel,and GoHome. A flowchart of the state machine is illustrated in Ap-pendixF

BINFETCHING

The bin fetching state takes a world coordinate and also a pose for the robot to take. When the robot has reached the desired coordinate and pose, it, the agent turns 180◦and start reversing until the rear bumper hits the wall. Then the lift is raised to grab the bin; the agent runs forward a small distance then lowers the lift with the bin to then go to the state GoHome. An illustration of the entire system can found in AppendixA

BINPLACEING

For the bin placing, its functionality is the same as BINFetching, but when the agent has reached the goal, it turns around 180◦and raises the lift. When it enters the Reversing state and reverse until the rear bumper sends a signal, then it lowers the lift and then goes to either the state BIN-Fetching or GoHome depending if the robot is to fetch another bin or not.

GOHOME

This state sends the robot back to the loading station for either leaving a bin, fetching a new empty bin or to waits for new tasks.

MISSIONCANCEL

Cancels the current mission and places the agent in an idle state, waiting for a new mission. REVERSING

The Reversing state is only used when the agent is supposed to fetch or place a waste bin. The robot will be given a set velocity and will just reverse until the rear bumper is activated. When the bumper is activated the robot has reached its goal and wait for a new task to perform.

7.3

Path Planner

The global planner10has the option to choose between Dijkstra, Dijkstra gradient descent, and A* for finding the shortest path in the world frame. Dijkstra’s algorithm is an algorithm that calculates all possible solutions and among these solutions with the least number of nodes is considered the shortest path. M. Alajlan and A. Koubaa [37] made a comparison between A* and ROS-Dijkstra in two different methods, grid path and gradient descent respectively. The result of the comparison showed that the ROS-Dijkstra with gradient descent method excelled in finding a shorter path with finer granularity (smaller step-size), allowing it to act more smoothly due to the smaller step-size than the ROS-A*. By this information Dijkstra gradient descent was chosen.

The local planner that was chosen was the teb local planner11. Weights in the TEB planner

4.5.2were changed through trial-and-error to find what was appropriate for the agent. The obstacle avoidance can be expressed by the equations1 and2. dminj is the separation between TEB and

the obstacles Zj. Maximal target radius rpmax is bounded by the distance from the way points, 10The global planner ROS plugin websitehttp://wiki.ros.org/global_planner

(19)

and when encountering an obstacle romin, describes the minimal distance to the hindrance. S and

n affects the approximation to the way points.

fpath= eΓ(dmin,j, rpmax, , S, n) (1)

fob= eΓ(−dmin,j, −romin, , S, n) (2)

The weights that was adapted from an earlier iteration of Charlie 5 was how close it may be to the obstacles and walls, i.e. dminj and romin, as well as how often the path should be updated.

These changes was to create a smoother experience with the robot. It increased the reliability of the robot since the number of recalculations of the path, decreased when traversing the path, giving it a more straight forward approach to the goal. Both planners were already implemented in Charlie from the start as ROS plugins.

7.4

ROS Master

The ROS master in the implementation hands out tasks to the agents to perform. The physical master is a Raspberry Pi connected by wire to a router that can supply Wi-Fi for the robots to connect to. It also serves as the core of the network, meaning that if an agent loses the connection to the Wi-Fi the other agent is not affected by this event.

7.5

Lift System

The lift system is used for picking up bins and placing them in their mounts. It contains a box with a lid for, a screw, a threaded cylinder, and a motor. The motor is turning the screw which is raising the cylinder and the lid is attached to the cylinder. The cover acts as a platform that lifts the bin on or off the mount. An Arduino is controlling the motor of the lift system. A force sensor is also applied to the lid to detect if a container is placed on the platform. Figure2 illustrates the lift system mechanics as one unit.

Figure 2: The suggested lift system

When the Jetson TX2 sends a signal to the Arduino to raise the platform, the platform is raised to a set height. If the force sensor does not register the bin, the bin is not mounted on the wall, and a new bin needs to be fetched. If it registered the bin, it sends a signal to the Jetson TX2 that it has raised the platform and that the force sensor is sensing a bin the Jetson TX2 will take action based on that information. An illustration of the lift system can be seen in Figure3.

7.6

Arduino

The reasoning behind using Arduinos12 is because ROS allows the Arduinos to publish and

sub-scribe to topics on the ROS node network. Two Arduinos are implemented on the robot, one for the ultrasonic sensors6.2.3and one for the bumper sensor 6.2.4. The Arduino for the ultra-sonic sensors was implemented from the start, but the Arduino for the bumper sensor is newly

(20)

Figure 3: Flowchart of the lift system

implemented. The bumper sensor sends a signal to the Arduino if it has been pressed or released. The Arduino forwards that signal to the Jetson TX2 that immediately stops the motors until the bumper is no longer pressed. Further development is needed to handle the case of the bumper sensor is affected and what actions the agent needs to take.

8

Result

The conducted tests are described in the preceding Section6.6. The experiments are illustrated in figure4.

Obstacle course with 1 obstacle Figure4a

The obstacle course for the first test is a simple one, run through the hallway and detect the obstacle and avoid it. Then turn around and rerun the course and park at its original position. When the agent approaches the obstacle, the LIDAR and the camera is detecting it, places the obstacle on the costmap, and a new path is calculated around the obstacle. This test was cleared successfully.

Obstacle course with 2 obstacles Figure4b

When the first obstacle was encountered the agent swiftly recalculated a new path around the object. When the next obstacle was detected the robot ran to a stop and had to calculate a new path with the regards to both of the obstacles that were found in order to reach the goal. The robot made it to the goal, but it did not do it smoothly since it had to stop its movements and recalculate the path. Even with the stops the test was successful and gave an acceptable result.

Obstacle course around a corner Figure4a

The robot ran along the calculated path until it was about to turn around the corner, then the obstacle was detected. When the obstacle was detected the path was rescheduled and the robot reached the target position. The robot made it through the course and cleared the test successfully.

Obstacle course with partially blocked path Figure4c

The agent went up to one of the paths, made the decision that it cannot take that path, since it is too narrow. Then it tried the alternative path and came to the same conclusion. At this time the costmap is now updated, and the hallway is deemed blocked, and the agent cancelled its current mission and awaited new orders. The result from this test were not an expected result and a failure since it could not complete the course.

(21)

(a) (b) (c) (d)

Figure 4: The light green and green square depicts the robot, red squares are obstacles and the blue is the goal.In4ais the obstacle course made in the office at Volvo GTO. Image4bshows the obstacle course containing 2 obstacles. Figure 4c presents the obstacle course with the partially blocked path and image4dillustraties the totally blocked obstacle course.

Obstacle course with totally blocked path Figure4d

The agent came directly to the conclusion that the path was blocked and cancelled the mission, due to that the given mission were impossible to execute. This test was successful since the robot came to the right conclusion.

Slalom Figure4a

A pathway between the obstacles was found, but several recalculations of the path were made when obstacles were encountered along the path, resulting in the agent needing to stop several times when calculating the path. The test was successful, but with the same pointers as for the course with 2 obstacles.

Reversing test

When the agent is reversing it is supposed to be at the mount of the bins, and therefore all sensor output except the bumper sensor is ignored. The test run was successful, and the agent stopped at the wall when the bumper was pushed.

Path planner

The experiments done in the office was successful, and it did pass all the trajectory courses. The TEB maintained an average speed throughout its mission, from start position to end goal. The precision of TEB was more than satisfying when reaching the end goal. This is crucial if its task is to grab waste bins in a located position in the near future. The drawback with TEB is its high demand for power but compensates it with safe navigation. Altering the parameters even further could create a more satisfying result.

9

Discussion

In this section the research questions from Section3is answered in Section9.1and various problems that was found during the experiments are discussed later in this section.

9.1

Research Questions

The machine-human interaction was investigated, and a light-ray that illuminates in front of the robot might be a solution to the problem. Another solution would be to attach a series of LEDs to indicate its intentions to the employees in the office by displaying different colours. The humans in the surroundings of the agent would then know the intentions of the robot and thus answering

(22)

RQ1. Neither the light-ray or LEDs were implemented since the robot does not chassis that the various lamps could be attached to.

Since the robot can perform object detection and avoid the found obstacles, the implemented sensors are appropriate for this application. The combination of LIDAR, stereo camera, and ultrasonic rangefinder were able to find every obstacle in the test scenarios. Also the bumper sensor gives a reliability to the robot in terms of security measures. These sensors are adequate for its purpose and answers RQ2.

As the experiments showed in the result section8, the robot can start at any given position in the world and reach the targeted destination. Thus answering RQ3.

Since RQ3 was answered by the test results, it shows the robot’s capabilities of reaching the designated area, e.g. where the waste bin is located or to be located. With the suggested lift system and reverse function the agent would be able to place and fetch waste bins, i.e. answering RQ4.

With the ROS master, several robots would be able to run in the network. One problem that occurs though is that all the ROS topics from each agent would be in the network, and thus con-fusing the robots since they have the same name for the topics, and in that way, they might get data from the other robot and lose the location of itself in the world. To solve this, the robots topics needs to be restricted to only the agent itself, and be open to the ROS master only and the robot that publishes the topic. Further investigation is needed to answer RQ5 if it is possible to make the communication between the robots within the ROS system.

9.2

LIDAR and Mapping issues

A problem that occurred during the run-time in the office was that the acquired map was not fully represented. Examples of the problem are when there are small openings in a solid wall or if a temporarily object has been placed during the mapping. The reason for not finding all the points in the wall, is that the LIDAR suffers from reflective objects e.g. coated walls. These caused faulty readings due to that the laser gets reflected by the surface. The open wall problem is illustrated in Figure.5a. The temporarily object issue can be seen in Figure.5b, shows two blobs that should not be on the map. These two blobs are in fact the operators, of the robot, standing still while driving the robot and therefore seen as part of the layout in the office.

While reversing, the agent can only detect obstacles that are at the height of the LIDAR or the ultrasonic sensors. Objects that are lower than the LIDAR and higher than the ultrasonic transducers, while not connected to the ground, are invisible for the robot and a collision will happen if such an obstacle is in the path of the agent. Other blind spots exist around the robot for objects lower than the LIDAR, which may cause damage to human beings or possessions since the robot might make a turn and collide with unseen obstacles. A suggestion to solve this problem is to have a LIDAR underneath the robot and have ultrasonic sensor higher up, to detect objects that are between the upper and lower layer of detection. The problem with the faulty map was not solved. Instead, a more careful mapping needs to be executed to avoid these problems.

Although the tests were successful, problems occurred. If the agent was turning in the same direction as the LIDAR, traces of obstacles got stuck on the costmap and remained on the costmap until either a sensor were able to clear the space but, more often than not, remnant of the obstacle remained. This error created far more difficult or impossible obstacle courses in the eyes of the robot. It was solved by setting the local costmap, in which the remnants exist in, to be dependent on the world map, instead of the odometry of the agent. This solution might cause problems in larger worlds due to the amount of data it needs to check in the whole world instead of a smaller area around the robot depending on the odometry.

9.3

Localisation and wheel odometry problems

A localisation problem that occurs during long run-times is when the wheels are slipping. This causes inaccuracies in the wheel odometry and is known as slippage. When slippage occurs a recovery function is needed for the robot to not lose its position in the world frame. The imple-mented localisation algorithm, Adaptive Monte-Carlo Localisation (AMCL), was used to minimise

(23)

(a) (b)

Figure 5: Error that occurred during mapping

the slippage problem. Although AMCL did not achieve satisfactory results it did in fact reduce the slippage problem. Another solution is changing the driving wheels to wheels that are meant to be used indoors, instead of a lawn. The attachment to the driving wheels needs to be improved, since the wheels are stuttering, this in turns causes the wheels to loosening and contributes to the slippage. An alternative solution for reducing the slippage is by adding an IMU (Intertial Measure-ment Unit) by combining it to a EKF. This can monitor the acceleration of the robot, therefore discover slippage in a earlier stage and take the slippage into consideration when calculating the robot’s localisation.

9.4

Path planning

The Dynamic Window Approach local planner was not excluded by any means. Some tests were conducted in the simulation platform RViz13. The DWA did have some unwanted behaviours

as going into local minima and reaching the obstacles far too close. It maintained high speed throughout till imminent obstacles appeared, then it reduced its speed significantly. DWA is far less sophisticated than TEB and demands less computational load. With the uncertainties that the DWA generated, a more stable and safe navigation is what is sought after especially when the agent is going to perform its daily tasks in an office environment. According to Cristoph R¨osmann14, ”The model is crucial for the complexity of distance calculations and hence for the computation time”. Therefore the robot footprint model can be crucial for obstacle avoidance and a liability for the Jetson TX2 in terms of power consumption and changes might further improve the path planning. Further investigation is needed.

10

Future Work

Bin handling

When the robot has reversed into a bin mount, the bumper sensor is active and prevents any movement made by the robot. In order for the robot to drive out from the waste bin mount, two cases need to be developed. The first case is when the agent is to pick up a bin, when the lift has been raised and the force sensor is activated by the weight of the bin the agent should drive forward until it has left the mount. After the agent has left the mount, it should stop and await new orders. The other case is when the robot is to leave a bin. When the lift is lowered, and the force sensor is not active, it should run forward until the bumper sensor is no longer active and wait until it is given a new mission.

13RViz is a simulation tool in ROS

(24)

Path planner

Further comparisons and investigations between TEB and DWA needs to be done in order to get an apprehension of these planners. By adjusting the parameters of the DWA to make it suitable for the platform could cause DWA to perform better than TEB, pursuant to the benchmark test in [28]. The DWA planner had to alter the global planner in order to fulfil its objective and TEB did not have to, this stores calculation time. A simplified local path planner that follows the global path could be done, but that would make the system less intelligent and would not take alternative paths when hindrances occurs as the proposed methods, because they are meant for that type of work. This simplified local planner could save calculation time and power.

Machine-Human interaction device

To implement the suggested light-ray and LED strip, a chassis needs to be manufactured to the robot in order to attach the various solutions. It has to be investigated on which types of lamps the light-ray should be, so it does not disturb the employees at the office.

IMU

In Section 9 is was suggested to implement an IMU in order to improve the localisation of the robot. To add an IMU to the robot, two criteria need to be fulfilled. First, a suggestion on which IMU that should be implemented and secondly, how can the IMU be implemented in the ROS system.

Lift system

A suggestion of the lift system has been made in Section7.5. The requirements of the motor has to be further investigated, in terms of holding- and rated torque. Also, the mechanical structure needs to be manufactured. The software for the lift system has been developed, but it needs to be further tested with the actual lift system.

11

Conclusion

Initially the project started with the Charlie platform. Changes were made to the platform in order to make it useful in an indoor office environment. How to make Charlie aware of its surroundings, create a path from any given position to any given location in the world map and run the calculated path reliably. Different map representations and path planners were discussed, and appropriate implementations were made.

Difficulties that were encountered during the project are discussed and solutions or suggestions to solutions are presented. After the alteration of the path planner and costmap, the robot started to have a satisfactory behaviour. Still some problems remained unsolved, but they are narrowed down. Even with the unsolved problems, the robot are able to go from any given position to any desired location while detecting and avoiding obstacles during the path.

(25)

References

[1] A. Elfes, “Using occupancy grids for mobile robot perception and navigation,” Computer, vol. 22, no. 6, pp. 46–57, June 1989.

[2] D. V. Lu, D. Hershberger, and W. D. Smart, “Layered costmaps for context-sensitive naviga-tion,” in 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems, Sept 2014, pp. 709–715.

[3] F. Bl¨ochliger, M. Fehr, M. Dymczyk, T. Schneider, and R. Siegwart, “Topomap: Topological mapping and navigation based on visual SLAM maps,” CoRR, vol. abs/1709.05533, 2017. [Online]. Available: http://arxiv.org/abs/1709.05533

[4] D. V. Lu, D. Hershberger, and W. D. Smart, “Layered costmaps for context-sensitive naviga-tion,” in 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems, Sept 2014, pp. 709–715.

[5] A. Doucet, N. d. Freitas, K. P. Murphy, and S. J. Russell, “Rao-blackwellised particle filtering for dynamic bayesian networks,” in Proceedings of the 16th Conference on Uncertainty in Artificial Intelligence, ser. UAI ’00. San Francisco, CA, USA: Morgan Kaufmann Publishers Inc., 2000, pp. 176–183. [Online]. Available: http: //dl.acm.org/citation.cfm?id=647234.720075

[6] G. Grisetti, R. Kuemmerle, C. Stachniss, and W. Burgard, “A tutorial on graph-based SLAM,” Intelligent Transportation Systems Magazine, IEEE, vol. 2, no. 4, pp. 31–43, 2010.

[7] S. Thrun, W. Burgard, and D. Fox, Probabilistic Robotics (Intelligent Robotics and Au-tonomous Agents). The MIT Press, 2005.

[8] J. M. Santos, D. Portugal, and R. P. Rocha, “An evaluation of 2d slam techniques available in robot operating system,” in 2013 IEEE International Symposium on Safety, Security, and Rescue Robotics (SSRR), Oct 2013, pp. 1–6.

[9] G. Grisetti, C. Stachniss, and W. Burgard, “Improved techniques for grid mapping with rao-blackwellized particle filters,” IEEE Transactions on Robotics, vol. 23, no. 1, pp. 34–46, Feb 2007.

[10] H. Jo, H. M. Cho, S. Jo, and E. Kim, “Efficient grid-based rao-blackwellized particle filter slam with inter-particle map sharing,” IEEE/ASME Transactions on Mechatronics, vol. PP, no. 99, pp. 1–1, 2018.

[11] S. Kohlbrecher, O. von Stryk, J. Meyer, and U. Klingauf, “A flexible and scalable slam system with full 3d motion estimation,” in 2011 IEEE International Symposium on Safety, Security, and Rescue Robotics, Nov 2011, pp. 155–160.

[12] A. Watanabe, T. Ikeda, Y. Morales, K. Shinozawa, T. Miyashita, and N. Hagita, “Com-municating robotic navigational intentions,” in 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Sept 2015, pp. 5763–5769.

[13] T. Matsumaru, T. Kusada, and K. Iwase, “Mobile robot with preliminary-announcement function of forthcoming motion using light-ray,” in 2006 IEEE/RSJ International Conference on Intelligent Robots and Systems, Oct 2006, pp. 1516–1523.

[14] A. Correa, M. R. Walter, L. Fletcher, J. Glass, S. Teller, and R. Davis, “Multimodal interaction with an autonomous forklift,” in 2010 5th ACM/IEEE International Conference on Human-Robot Interaction (HRI), March 2010, pp. 243–250.

[15] P. Marin-Plaza, A. Hussein, D. Martin, and A. d. l. Escalera, “Global and local path plan-ning study in a ros-based research platform for autonomous vehicles,” Journal of Advanced Transportation, vol. 2018, pp. 1–10, 2018.

Figure

Figure 1: The bumper sensor
Figure 2: The suggested lift system
Figure 3: Flowchart of the lift system
Figure 4: The light green and green square depicts the robot, red squares are obstacles and the blue is the goal.In 4a is the obstacle course made in the office at Volvo GTO
+5

References

Related documents

Alexander Oskarsson ( Länsstyrelsen Västra Götaland; Arbetsförmedlingen caseworkers and administrators: Jack Jarschild ( came up with concept for labor market geared supplementary

Iceland’s Presidency of the Nordic Council of Ministers emphasises that the Nordic countries should continue to take an active part in international environmental

[r]

variables in common, there is an interaction that is ignored by our algorithm. We illustrate the previous algorithm with an example of the cyclic_change constraint that was

JPMC to negotiate military elements while having peace negotiations continue; the representation in the government delegation to Arusha of the major power groupings in Kigali

We formulated this as an optimization problem and solved it by linearizing the dynamics. We also applied this methodology on two dierent reference paths provided by Volvo

This modified formalism is then finally applied in Section 6 to the two- and three-dimensional Hydrogen atoms, for which we solve the corresponding modified path integral formulas

However, they are not about Swedish multinational retailers and do not answer the question of how they (Swedish MNE retailers) determine suitable markets and it is our