• Tidak ada hasil yang ditemukan

PDF Simultaneous Localization and Mapping (SLAM) on NAO

N/A
N/A
Nguyễn Gia Hào

Academic year: 2023

Membagikan "PDF Simultaneous Localization and Mapping (SLAM) on NAO"

Copied!
51
0
0

Teks penuh

Simultaneous localization and mapping (SLAM) is a navigation and mapping method used by autonomous robots and moving vehicles. SLAM has been proposed by previous research as a solution to provide more accurate localization and mapping on robots. This project involves the implementation of the SLAM algorithm in the humanoid robot NAO by Aldebaran Robotics.

The SLAM technique will be implemented using the vision of the single camera attached to the robot to map and locate NAO's position in the environment. The algorithm appears to perform well with smooth movements, but on the humanoid NAO the sudden changes in movement produce undesirable results. This research into SLAM will be useful because this technique could be widely used to enable mobile robots to map and navigate areas considered unsafe for humans.

INTRODUCTION

  • Background of Study
  • Problem Statement
  • Objective and Scope of study
  • Relevancy and Feasibility of Project

Although this can easily be done using sonar or laser sensors in an unfamiliar environment, without a map the robot will only perform simple obstacle avoidance without knowing its direction and position. By implementing SLAM on a robot, the robot will be consistently aware of its position relative to orientation points in the environment. In this way, it will be able to navigate precisely on the map, as SLAM enables the robot to effectively localize using the measured data from the camera and its predicted position based on the given control input.

The scope of the study in this project first involves familiarity with the robot in order to program it. The kinematic modeling of the robot is not undertaken and has been replaced with a simpler model which is assumed.

Figure 1: Error from raw odometry [2]
Figure 1: Error from raw odometry [2]

LITERATURE REVIEW & THEORY

Overview of SLAM

Most of the implemented SLAM algorithm has been done in wheeled[8] or vehicle[9] robots, unmanned aerial vehicles (UAVs) and autonomous underwater vehicles[10]. The implementation of SLAM consists of several main parts which are kinematic modeling, landmark extraction, data association; condition assessment and benchmark update[12]. Data binding will be used after the reference points have been extracted to match the reference points after each repeated observation.

Updating of landmarks will be done after obtaining estimates for the countries by repeating the observation of the surroundings and adding new landmarks to the map. Another algorithm used for SLAM is graph-based SLAM, which has seen a revival and is currently among the state-of-the-art techniques in terms of speed and accuracy [22].

Figure 2: The essential SLAM problem. [4]
Figure 2: The essential SLAM problem. [4]

EKF SLAM

For a basic SLAM, the first step consists of predicting the next position of the robot using a given control input, for example, the command to move the robot to the right by one meter and to the front by 0.5 meter, which which will result in a change in the robot's state position (x + 1m, y + 0.5m). Reference points that were previously observed will be used to update the robot's position since the reference points are assumed to be fixed, unchanging installations. The map is initialized with the position of the landmarks based on the initial position of the robot, which is assumed to be error-free.

The robot moves and assumes, based on the odometry, that it is now in the red-coded position. The robot's location is updated after merging the information from the robot's sensors and the odometry data.

Figure 3: EKF SLAM flowchart for single iteration [23]
Figure 3: EKF SLAM flowchart for single iteration [23]

MonoSLAM

When the camera moves, the landmarks disappear from the camera's view and thus new landmarks are initialized to ensure that a sparse set of 10 landmarks is maintained. Landmarks with too many failed observations are removed to add newer, more reliable landmarks. However, due to the sparse set of landmarks, the Davison system can be further improved if more landmarks can be observed without affecting the necessary frame rate for real-time operation.

This system can be a good starting point for our project, although it is limited to a small space due to the limitation of the total number of landmarks. The system was improved by Williams[26] and his thesis is used as a reference in our review here. In the system implemented by Williams, landmarks are represented using inverse depth parameterization [27], which allows multiple landmarks to be initialized simultaneously.

This improvement eliminates the need for a known target, as used in the Davison system to determine scale. The system uses the FAST angle detector and then performs the same thresholding as in the Davison system by using the Shi-Tomasi score. The contribution of this article lies in the section on data association which was previously limited for quite some time to the Joint Compatibility Branch and Bound (JCBB) method of Jose Neira in 2001[30], especially for use with the EKF framework.

JCBB eliminates false positives by selecting the hypothesis that has the largest number of compatible pairings. However, the 1-point RANSAC method proposed by Civera serves to overcome some of the shortcomings faced by the widely used JCBB method. On the other hand, 1-point RANSAC is linear in measurement state and magnitude, thus having a lower cost variation with the number of outliers.

Figure 5: Flow chart of the MonoSLAM implementation [23]
Figure 5: Flow chart of the MonoSLAM implementation [23]

METHODOLOGY

Flow of activities

Project Activities

The calibrated parameters are important as they determine the accuracy of the SLAM later. With the camera parameters calibrated, the algorithm is tested on video sequences recorded using the camera on the robot. The corner detection algorithm is compared using the same image to compare the performance of these algorithms.

Even at this stage several methods were attempted to speed up the coding and one was to convert the entire MATLAB coding platform to use C++ which was never completed due to insufficient time and some programming shortcomings. For the implementation, python code is no longer used, and instead, MATLAB code is used from the libraries provided by Aldebaran Robotics to communicate with the robot. The images are captured by the robot while it is in motion and the SLAM accuracy is evaluated.

Before the report is made, a presentation was also made for the Electrex and SEDEX exhibition in UTP.

Gantt Chart

  • FYP I
  • FYP II

RESULTS AND DISCUSSIONS

  • Calibration
  • Feature detector benchmark
  • MATLAB profiling
  • Implementation of SLAM
    • Result obtained from a smooth displacement (offline)
    • Results obtained from a displacement from robot walk (real
    • Results obtained from a displacement from robot walk

The inaccurate result from the python open cv implementation may me due to the fact that the board is moving when the capture occurs, causing blurry motions to be captured. Finally, the MATLAB Calibration ToolBox is the chosen method to calibrate the camera on the robot NAO. The results above were before implementing the MEX files for the corner detection.

This is due to the computational cost spent on matrix multiplications, usually in the EKF update step. The figure below shows the top view of the laboratory environment setup. Throughout the movement, the robot's head is directed toward the feature-filled environment.

Landmarks are also drawn correctly as there is a section with landmarks that are further away and objects that are placed closer to the robot's path (the box with three bowling pins) are correctly positioned. Due to the use of a monocular camera, the scene and camera movement can only be recovered up to a scale factor and here, the correct scale factor is about 1.5x since 1.5 meter displacement is taken as 1 meter displacement. Real-time capability is not obtained through computation speed, but by setting the robot to receive frames at each step.

The algorithm gives a good approximation of the orientation of the landmarks, but the scale factor and motion estimation are very poor. In this third test, the robot is programmed to walk straight, but when walking, with NAO's terrible motion control, the movement was actually not that straight. The results show that the robot has moved through the entire area and that the observed landmarks are spread throughout the robot, when in fact the landmarks should only be in front of NAO.

As a result, many landmarks and initialized and more points are added to the map, although they may be the same observed points from previous frames. The results are better when the blurred frames are removed, but still insufficiently accurate for the landmarks and the motion estimation.

Figure 9: Reprojection on image
Figure 9: Reprojection on image

CONCLUSION & RECOMMENDATIONS

Kleeman, “Advanced sonar and odometry error modeling for simultaneous localization and map building,” in Intelligent Robots and Systems, 2003. Kleeman, “Advanced sonar and laser rangefinder fusion for simultaneous localization and mapping,” in Intelligent Robots and Systems, 2004. Murray, “Simultaneous localization and map building using active vision", Pattern Analysis and Machine Intelligence, IEEE Transactions, vol.

Yokoi, "Real-time 3D SLAM for Humanoid Robot considering Pattern Generator Information," in Intelligent Robots and Systems, 2006 IEEE/RSJ International Conference, 2006. Zhang, "Performance evaluation of visual SLAM using various feature extractions," in Intelligent Robots and Systems, 2009. Nebot, "Consistency of the EKF-SLAM Algorithm," in Intelligent Robots and Systems, 2006 IEEE/RSJ International Conference, 2006.

Thrun, "Simultaneous localization and mapping with unknown data association using FastSLAM," v Robotics and Automation, 2003. Montemerlo, "FastSLAM: A Factored Solution to the Simultaneous Localization and Mapping Problem with Unknown Data Association," Robotics Institute, Carnegie Mellon University, 2003. Drummond, "Fusing points and lines for high performance tracking.," na mednarodni konferenci IEEE o računalniškem vidu, 2005.

Montiel, "1-point RANSAC for EKF-based Structure from Motion", in IEEE/RSJ International Conference on Intelligent Robots and Systems, 2009. Nicolas, "The Blur Effect: Perception and Estimation with a New No-Reference", in SPIE Electronic Imaging Symposium Conf Human Vision and Electronic Imaging, San Jose, 2007. 1-punts RANSAC-hypothese en selectie van inliers met weinig innovatie features_info = ransac_hypotheses( filter, features_info, cam.

Gambar

Figure 1: Error from raw odometry [2]
Figure 2: The essential SLAM problem. [4]
Figure 3: EKF SLAM flowchart for single iteration [23]
Figure 4: Known target used by Davison to initialize system
+7

Referensi

Dokumen terkait

Broadly defined as a collaboration of medical services with the tourism industry, healthcare tourism offers cost effective medical services for individuals who cannot afford these