Robots are made to do what human cannot or to reduce human effort and time. With the advent of robots, every day to day activities are becoming automated. The primary component of any autonomous mobile robot is positioning, obstacle detection, navigation, and control. In order for all these components to work together effectively in an autonomous project, pre-planning is necessary. Choosing the correct sensors to supply positioning or obstacle detection, given the platform’s environment, will make navigation and control implementation a much smoother process.
A limitation after making the mobile robot autonomous is that they are not able to understand the real world as humans or animals. Sensing alone does not help in perception. For meaningful study, interpretation of sensor values and its careful analysis is required. This will equip the robot to perform real time jobs like supervising, exploring, manipulating or any desired task.
Navigating an autonomous mobile shopping robot in a completely unknown area is a challenging task to do. Since the area is unfamiliar, robot has to first get trained with the area before it can do navigation. A map depicting the location of obstacles is necessary to help the robot decide its path. Maps can be of any type like feature based, grid based or topological. So, the project has two parts, training the robot and navigation.
Navigation methods are classified into two categories as absolute positioning and relative positioning. Absolute positioning uses external landmarks and beacons like Wi-Fi or Bluetooth for tracking. Global Positioning System (GPS) is an efficient absolute positioning method for outdoors, but not for indoor. Also, for using absolute positioning system, various sensors have to be implemented in the desired environment. We rely on relative positioning methods using different sensors inbuilt into the robot itself for navigation here.
In this project, a robot interfaced with accelerometer, magnetometer, photoelectric encoder and ultrasonic sensors are used for navigation and shopping. After studying the area and location of obstacles with the help of these sensors, a grid is formed based on the area could be traversed. Obstacle locations are stored in the form of X and Y coordinates. The algorithm used for finding shortest path to a given destination from the origin is A star search algorithm. A star algorithm is used because it combines the pieces of information that Dijkstra’s Algorithm uses (favouring positions that are close to the starting point) and information that Greedy Best-First-Search uses (favouring positions that are close to the destination). Upon finding the shortest path, control signals ae given to the robot to take this path to reach the desired destination.
Apart from reduced time consumption and increased customer satisfaction, the suggested system helps the disabled greatly. The proposed system could be used for any type of service robot to move independently or for navigation. There are many path- finding algorithms using various sensors to navigate and for obstacle detection. All these algorithms are based on locating position of an object in a known area. But for an unknown territory, map making should be automated and navigation is performed with the developed map. Such automations help in using the proposed robot as a standard bot for navigation in any platform. Autonomous navigation find application in various sectors like industries, houses, offices, to do any given task.
Given any destination in the form of X Y coordinates, the robot has to reach there through the shortest route. Before navigation, robot has to study the environment about the location of obstacles. So, the main objectives of this project are:
Significant number of researches have focussed on mobile robot localization and floor planning. Zhao proposes a method to avoid drift errors of inertial sensors used in motion measurement of robots by magnetometers and ultrasonic sensors. Experimental results demonstrate that the multi-sensors can measure position and orientation with lower uncertainties after EKF data fusion.
Signal strength from beacons like Wi-Fi is also used extensively for indoor navigation. Here beacons are used to localize users and objects from long distances. Map construction and reconstruction based on hidden geometric structure help to create more flexible map. This paper explores the structure cues in indoor environments and leverage such prior information to optimize floor plans. The main limitation of this work is the generality of structure cues in complex indoor environments, such as big shopping malls, train stations.
Estimated position and orientation could be corrected for errors using an extended Kalman filter. This paper presents a novel methodology that estimates position and orientation using one position sensor and one inertial measurement unit. The proposed method estimates orientation using a particle filter and estimates position and velocity using a Kalman filter (KF).
Path finding algorithms implementing vision-based approach is also under greater research. The aim of this paper is to plan a path for autonomous robot, based on image processing techniques in the unknown environment. Wael proposes a method of using sonar for range detection and wheel encoders for tracking robot position and orientation using dead reckoning.
Work carried out by shows a continuous navigation and path planning algorithm with obstacle detection for both indoor and outdoor environment. The system currently focuses on the stationary objects, in near future it will be extended to cover up with moving obstacles. Research on dynamic indoor map construction through automatic mobile sensing is presented in. Hakan Koyunco put forward a survey of different indoor positioning and object locating systems in. This paper summarizes the wireless technologies and mathematical techniques that are used in recent literatures for indoor localization. Different technologies have its own pros and cons. The method to be adopted depends on the application, accuracy required, time sensitivity and many other factors.
The proposed robot has different sensors attached to it for safe and easy navigation. Entire system is built upon ARM Cortex M3 based microcontroller, LPC1769. Ultrasonic sensors are used for smooth navigation without collision. For position and orientation measurement, an accelerometer and magnetometer are used. Because of error in accelerometer output, another photoelectric encoder sensor is also used to get location information. The coordinate information obtained after floor planning is stored into a memory. Complete movement, decision making and actuation part is done by LPC1769 processor. Servo motors are used to perform pick and place action by robot. Block diagram of proposed hardware is shown in Figure 3.1
The LPC1769 is an ARM Cortex-M3 based microcontroller for embedded applications requiring a high level of integration and low power dissipation, running at frequencies of up to 120 MHz. LPC1769 includes up to 512 kB of flash memory, up to 64 kB of data memory, Ethernet MAC, a USB interface that can be configured as either Host, Device, or OTG, 8 channel general purpose DMA controller, 4 UARTs, 2 CAN channels, 2 SSP controllers, SPI interface, 3 I2C interfaces, 2-input plus 2-output I2S interface, 8 channel 12-bit ADC, 10-bit DAC, motor control PWM, Quadrature Encoder interface, 4 general purpose timers, 6 output general purpose PWM, ultra-low power RTC with separate battery supply, and up to 70 general purpose I/O pins.
Different sensors are interfaced with LPC1769 processor for implementing the suggested design. An accelerometer and magnetometer sensor are integrated into the system to obtain acceleration and orientation measurement respectively. These readings are further processed to obtain distance and direction details. Readings taken from an accelerometer will have accumulated errors. So as to improve the accuracy, an encoder sensor is also used for distance measurement. Here, we used a double speed measuring module with photoelectric encoders. Three ultrasonic sensors are interfaced at three directions for collision avoidance and obstacle detection.
For measuring acceleration and orientation, 3D digital linear acceleration and 3D digital magnetic field detection sensor is interfaced with LPC1769 using an I2C protocol. Here we use I2C1 of ARM microcontroller. The sensor used is LSM303DLHC E Compass 3 Axis Accelerometer and 3 Axis Magnetometer Module. This sensor outputs both acceleration and magnetic field values along all three axes which could be read into LPC 1769 microcontroller.
The sensor outputs both acceleration and magnetic field data along all three axes in two’s compliment form which is then converted to binary data. The signal obtained from these sensors require additional processing as there is no direct conversion between acceleration and position. In order to obtain position a double integral must be applied to the signal. A double integration could be viewed as a simple integration made twice. This allows velocity information to be obtained as well. Similarly, magnetometer output is also obtained along three axes. Magnetometer acts like a digital compass giving magnetic field intensity across X, Y and Z axis. By geometric functions, proposed system computes the angles and hence the orientation.
VDD 3.3 V regulator output or low-voltage logic power supply, depending on VIN. When VIN is supplied and greater than 3.3 V, VDD is a regulated 3.3 V output that can supply up to approximately 150 mA to external components. Alternatively, when interfacing with a 2.5–3.3 V system, VIN can be left disconnected and power can be supplied directly to VDD
VIN This is the main 2.5–5.5 V power supply connection. The SCL and SDA level shifters pull the I²C bus high bits up to this level.
GND The ground (0 V) connection for your power supply. Your I²C control source must also share a common ground with this board.
SCL Level-shifted I²C clock line: HIGH is VIN, LOW is 0 V
SDA Level-shifted I²C data line: HIGH is VIN, LOW is 0 V
DRDY Magnetometer data ready indicator, a 3.3V-logic-level output. HIGH (3.3 V) indicates magnetometer data can be read. LOW (0 V) indicates the magnetometer is writing new data to the data registers. This output is not level-shifted.
INT1 Inertial interrupt 1, a 3.3V-logic-level output. This output is not level-shifted.
INT2 Inertial interrupt 2, a 3.3V-logic-level output. This output is not level-shifted.
The LSM303DLHC readings can be queried and the device can be configured through the I²C bus. The module acts as two chained I²C slave devices, with the accelerometer and magnetometer clock and data lines tied together to the same I²C bus to ease communication. Additionally, level shifters on the I²C clock (SCL) and data lines (SDA) enable I²C communication with microcontrollers operating at the same voltage as VIN (2.5–5.5V).
This essay has been submitted by a student. This is not an example of the work written by our professional essay writers. You can order our professional work here.