The aim of this project is to implement Simultaneous Localization and Mapping (SLAM) with Quadcopter in indoor environments. While realizing this project, we will face some problems to be solved. Figure – 1 describes the overall system problem statements and constraints as a flow chart. Figure – 1 Problem Statement Chart 1. Simulation Before starting connecting parts and coding, we needed a simulation environment to observe the dynamics of the Quadcopter and the data flow from laser range finder unit. There are various tutorials and examples about this subject.
Most of these works are implemented on ROS (Robot Operating System) environment using Gazebo or Rviz. Simulation process involves several problems as follows: An indoor environment and should be created. A Quadcopter and sensing unit model implementation. Data flow from simulation environment should be extracted and processed. Visual observation of SLAM Simulation process is very important and the beginning process of our project to understand the behaviors of a Quadcopter and sensor unit and how to deal with them while realizing SLAM in indoor environments. . Hardware Selection and Assembly In that part of project includes mean elements of our work. Basically, we design a system which is flying and carrying some sensors on it for simultaneous localization and mapping (SLAM). We must put all elements on our frame and every piece has a weight and size. According to our researches, a Quadcopter requires motors, propellers, electronic speed controllers (ESC) for motors, battery and a flight control board. In order to implement SLAM with a Quadcopter, we also need a sensing unit and a ingle board computer to process sensor data and to communicate with local station. Figure – 2 shows the general Quadcopter structure that we are planning to construct. Figure – 2 Quadcopter Structure 3. Flight Test Before the Quadcopter could be tested in free flight, it had to be determined that it would not respond in a way which would damage itself. 1. 2. 3. 3. 1. Take Off We need to first take-off our Quadcopter from the ground safely, but before that some tests should be applied. This tests involve mechanic parts and electronic parts. Mechanical test contains:
Dimension parts, assembly verification, throttle control test, motor alignment, counterclockwise operation of engine, clockwise operation of engine, propeller balancing, Quadcopter balancing, wake interaction, vibration analysis, thrust and rotor check. Electronic test contains: Battery connection and test, motor and speed controller (ESC) test, flight control board calibration. 3. 2. Fly The main problem in Quadcopter is the balancing and stability while it’s flying. Most of Quadcopters will be unbalance and lost stability in case there are disturbance direct on it such as wind or have overweight problems.
Our project will be examined at indoor environments. So, there won’t be any wind in our test environment. However, we will face with some stability problems because of weight, construction, design, and big motors. Mostly, batteries cause weight problem on quadcopters. We will have multiple inputs and multiple outputs on our Quadcopter. Therefore, our Quadcopter absorbs more energy. To test a fully equipped Quadcopter productively, supply will be sufficient to overcome, and will be durable for more than 10 minutes. 3. 3. Landing After flying section, we face another problem, landing.
The landing procedure can also be broken down into three steps: moving into horizontal position, orienting the direction the Quadcopter is facing and decreasing altitude while maintaining orientation and location until the surface has been reached. It causes another problem that control by autonomous or control by a remote control switch. 4. Localization and Navigation Localization and map building in our project are key components in robot navigation are required to successfully execute a path. Both problems are closely linked, and learning maps required to solve simultaneously both problems.
These simultaneous problems are often referred as simultaneous localization and mapping (SLAM). In the SLAM case, uncertainty in measures, uncertainty in robot pose estimates and a partially learned map which contains the residual errors unsolved at integration or re-localization processes makes the SLAM problem complex. The Simultaneous Localization and Mapping (SLAM) problem asks if it is possible for a mobile robot to be placed at an unknown location in an unknown environment and for the robot to incrementally build a consistent map of this environment while simultaneously determining its location within this map.
In order to successfully locate and navigate the robot, we need to perform path planning and obstacle avoidance by using sensors. 1. 2. 3. 4. 4. 1. Sensing Unit Selection As described in Figure – 1, our sensing unit assumed to be a laser range finder because of its lower price, light weight and low power consumption which makes it suitable for an air vehicle like Quadcopter. This laser range finder will be used for SLAM process. However, path planning and obstacle avoidance can be performed with other types of sensors such as camera, GPS, ultrasonic sensors and IMU.
After studying the advantages and disadvantages of these sensors, we will decide which one should be used in our project for localization and navigation process. 4. 2. Path Planning SLAM is performed by scanning the environment. In order to scan the environment with the Quadcopter, it should has a path to follow, it needs to know where to go. This process requires a reliable path planning. The most important problem in path planning is to learn graph search algorithms and methods. General description of commonality and differences between methods composing this family.
Basic algorithm structure identification and introduction to the general features of these methods. We have to search about introduction to first approaches to path planning: manual path planning and Dubins curves. Also some simple applications developed for path planning. Several solutions were developed matching different planning requirements: performances optimization, collision avoidance, real-time planning or risk minimization etc. Several algorithms were designed for robotic systems and Quadcopters.
With these optimizations, as described In Figure – 1, our path planning will be random in the beginning. 4. 3. Obstacle Avoidance The most important threats for an unmanned air vehicle are obstacles around it. In order to fly safely and accomplish its mission, it should be able to avoid from obstacles autonomously. Although navigation of an autonomous UAV in an outdoor environment is possible using GPS data for positioning, in indoor this systems are not operational. Other approaches for indoor application use camera systems for obstacle detection, collision avoidance and positioning.
These systems lack of different drawbacks like dependency on external camera systems and heavy computation requirements. Further leading approaches use 3D-camera systems like the Kinect camera from Microsoft or laser scanners. However, any optical sensor is sensitive to light and a diaphanous environment. Therefore smoke, steam and every gas which absorbs light will cause optical sensor systems to fail. In contrast, ultrasonic sensors are not effected in such a harsh way, that’s what our project depends on.
Approaches using ultrasonic sensors exist, but are not sufficient to support fully autonomous flight as intended. Therefore, we need to implement some solutions for this problem, obstacle detection and collision avoidance. Theoretically in obstacle avoidance process, the ultrasonic raw data is filtered and fused altogether and with IMU (inertial measurement unit) data, before it is proceed to the obstacle detection module. The collision avoidance module uses the results of obstacle detection and enables a controlled flight.
Remote data from a computer or an RC (Radio Control) controller for activating and deactivating the system as well as sending steering commands are feed through. Figure – 3 shows the conceptual approach to obstacle avoidance is visually presented. Figure – 3 The conceptual approach to obstacle avoidance. 4. 4. Motion Measurement Motion measurement is another problem in designing and optimizing our Quadcopter. We need an answer to this question ‘ how can we understand how much our Quadcopter proceeds? ‘ We cannot use GPS system in our project.
Because, GPS does not work if an insufficient number of satellites are directly visible. Therefore, GPS cannot be used in indoor environments. Computer vision-based approaches offer substantial advantages with respect to GPS-based systems and constitute a promising alternative to address the problem. Recursive filters can estimate the pose and kinematics of a moving IMU system from camera and inertial measurements. The Extended Kalman Filter (EKF) is used to extract the relevant information from the respective measurements — 2 D /3 D point correspondences and optical flow measurements from image processing.
Optical flow is the relation of the motion field the 2D projection of the physical movement of points relative to the observer to 2D displacement of pixel patches on the image plane. We will use optical flow to understand how much our Quadcopter moves. We have assumed that neighboring points in the scene typically belong to the same surface and hence typically have similar motions, since they also project to nearby points in the image, we expect spatial coherence in image flow. We must add up the motion field and optical flow.
It’s called ‘Aperture Problem’. In simple way, it’s not easy to switch to 1D tracking to 2D tracking. 5. SLAM In this project work, we needed to set some constraints to SLAM process to make it more specific. As described in Figure – 1 our SLAM will be in 2D which requires Quadcopter to hold in a fixed altitude. For localization, we will have some priori knowledge about the environment and the initial position of the Quadcopter. With these constraints we will perform our SLAM with Quadcopter in indoor environments. 5. 1. Obtaining Sensor Data
Most work on the simultaneous localization and mapping (SLAM) problem assumes the frequent availability of dense information about the environment such as that provided by a laser range finder. We need to modify SLAM to group several scans taken as the robot moves into multi scans, achieving higher data density in exchange for greater measurement uncertainty due to odometry error. Using such a limited sensing array demands an approach that is somewhat different from the traditional SLAM sequence of moving, sensing, extracting features, finding correspondences, and then updating the map and pose estimates.
The methods using for categorizing based on their association rule such as feature to feature or point to point matching. Local maps will be used in our project both, in the localization process and for mapping the environment. Later, these maps will be used in SLAM to reconstruct a 2D map from which it is possible to recover the pose of the robot at each instant. 5. 2. Map Merging Mapping is another problem of our project. Mapping is the problem of integrating the information gathered by a set of sensors into a consistent model and depicting that information as a given representation.
It can be described by the question, what does the world look like? Central aspects in mapping are the representation of the environment and the interpretation of sensor data. However, merging those sensor data to compose a smooth map is a problem in our project. There are several algorithms and methods to merge map information, these will be studied according to our needs. 5. 3. Data Noise Quadcopter is an unmanned aerial vehicle and like most of the aerial vehicles, it vibrates while flying. This can cause data to arrive with error. Sensors can also cause those errors.
Since SLAM process requires precise and accurate data flow from sensors, noises can be an important problem for our project. By applying filters to sensor outputs, this problem can be solved. 5. 4. Online / Offline There are two types of SLAM for observation the result. These are named as online and offline solutions. In order to perform an online SLAM, the data flow from Quadcopter to the local station (personal computer) should be made on the fly meaning that both autonomously flight and visual observation of the SLAM are performed simultaneously.
Offline SLAM involves getting the stored data from Quadcopter after the flight, we cannot observe the SLAM process on the fly. Both online and offline SLAM have hassles and eases, these should be considered and chose the most suitable one for our project. 5. 5. User Interface Visually observing the mapping and localization process, we need to have a user interface program that runs on the local station. This can be Rviz on ROS, or it can be created from scratch. This user interface can also provide Quadcopter IMU data and battery level. As an assumption, our project will have a user interface. . 6. Process Termination The SLAM process in this project has some assumptions such as the initial place of the Quadcopter is known, the altitude of the Quadcopter is fixed, the motion of the Quadcopter is random and we have a priori knowledge of the environment. By having a priori knowledge of the environment, after scanning the %95 of the area, the SLAM process can be terminated. For example, if we have a 100m2 room to scan, after revealing 90-95m2, the Quadcopter can return its initial position or land on its current location safely.
The termination decision will be made by our personal computer (ground station) and send signals to the Quadcopter to terminate the process. 6. Communication In this project we have to do a hardware implementation of a flight communication system for an UAV. Communication process divided into two main statements in our project, first one is communication between SBC and FCB, second one is wireless communication. The communication hardware involves the on-board computer setup, implementation of control laws, sensing, data acquisition and filtering and actuation.
Wireless communication is another problem that we must interested in. The data flow between a flying object and a land station is the cause to do wireless communication in our assumption. Our assumption comes with a problem that Quadcopter has several sensors that wake up and wait for random periods of time before transmitting a packet of data to a SBC. The SBC should check the integrity of the communication, since more than one node can potentially transmit at the same time. 6. 1. Communication Protocol Communication architectures between the processing units is another problem in our project.
We assume that our Quadcopter will have a FCB and a SBC. So, we need to communicate FCB with our Single Board Computer. Thus, they can communicate each other with serial port. In addition, we need to know the communication protocol between SBC and land station. The data flows between SBC and FCB with serial port communication. Serial port communication architecture can be aligned in order of development: RS-232, RS-422, RS-423, RS-485, I? C, SPI, Universal Serial Bus, FireWire, Ethernet etc. To decide on the communication architecture we need data load between FCB and SBC. 6. . Data Size Considering the data size is crucial, while we are deciding communication protocol and deciding the hardware parts which are involved with communication. Supposing that, in our system, it is likely that data loss would increase with shorter transmission intervals due to a greater chance of collision from two transmissions occurring in the same time frame. This is a potential problem since the system includes no mechanism to recover lost data. Another limitation of this system is the small data storage capacity, since new data is rejected after reaching capacity. . 3. Communication Speed While deciding which communication protocol we will use, we need to consider the communication speed alongside the data size. Is that speed enough for our data flow ?. Assuming we use a laser range finder, its data flow should be examined and while deciding the communication protocol this data flow should be considered. 7. The Division of Labor Task / Project Participant Levent Hamza Enes Kaan Yunus Simulation X X Hardware Selection and Assembly X X X Flight Test X X X Localization and Navigation X X SLAM X X X X X Communication X X