Implementation of EKF-SLAM on NAO Humanoid Robot

Date created: 
Extended Kalman Filter
NAO humanoid robot

Autonomous navigation is among the most important areas within the robotic community and has gained significant interest in the last three decades. At its core, autonomous navigation depends on whether or not the Simultaneous Localization And Mapping (SLAM) problem is properly addressed. SLAM is the mobile robot’s ability to navigate in an unknown (indoor or outdoor) environment. The process includes building a map of the environment while concurrently the mobile robot position is being updated. This thesis focuses on the implementation of SLAM on NAO humanoid robot. The ubiquitous method of Extended Kalman Filter (EKF) is employed in this project. The central focus of the thesis is on simulation and the real time implementation of EKF-SLAM with the entire coding in python. I have adopted the feature-based map (landmarks) along with updating the robot position in an indoor area. The main contribution of this work is the real time implementation of EKF-SLAM on the NAO humanoid robot, which is manufactured by Aldebaran Robotics. The NAO humanoid robot has been programmed in python through the interfacing with the main software of NAO that is called NAOqi. The details of implementing EKF-SLAM on NAO are explained and discussed in this thesis. The main two sensors used for addressing SLAM on the NAO humanoid robot were odometry and laser sensors. In addition, this thesis has practically solved the data association problem, which is considered one of the main issues of EKF-SLAM, using Mahalanobis Distance likelihood technique. Data association is the ability of the robot to correspond the detected landmarks from sensors at any time with the pre-observed landmarks in the map. Throughout the experimental studies, I have detected and successfully resolved several problems. First, the deviation in NAO robot motion function is solved by designing a closed loop motion control of the robot. Second, the Agglomerative Hierarchical Clustering (AHC) method is used to let the laser sensor detects and differentiates between different landmarks at one time. The laser in NAO generates the world around it via 683 points without differentiation between different objects in the scene. Third, obstacle avoidance function is designed.

Document type: 
Copyright remains with the author. The author granted permission for the file to be printed and for the text to be copied and pasted.
Ahmad Rad
Applied Sciences: School of Mechatronic Systems Engineering
Thesis type: 
(Thesis) M.A.Sc.