{'fraction_non_alphanumeric': 0.030936118923262354, 'fraction_numerical': 0.010445962233828847, 'mean_word_length': 5.148148148148148, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
The KCLBOT: A Framework of the Nonholonomic Mobile Robot Platform Using Double Compass Self-Localisation

The key to effective autonomous mobile robot navigation is accurate self-localization. Without self-localization or with inaccurate self-localization, any non-holonomic autonomous mobile robot is blind in a navigation environment. The KCLBOT [1] is a nonholonomic two wheeled mobile robot that is built around the specifications for ‘Micromouse Robot’ and the ‘RoboCup’ competition. These specifications contribute to the mobile robot’s form factor and size. The mobile robot holds a complex electronic system to support on-line path planning, self-localization, and even simultaneous localization and mapping (SLAM), which is made possible by an onboard sensor array. The mobile robot is loaded with eight Robot-Electronics SRF05 [2] ultrasonic rangers, and its drive system is supported by Nubotics WC-132 [3] WheelCommander Motion Controller and two WW-01 [4] WheelWatcher Encoders. The motors for robot are modified continuous rotation servo motors, which are required for the WheelCommander Motion Controller. The rotation of the mobile robot is measured by Robot-Electronics CMPS03 [5] Compass Module. These two modules make the double compass configuration, which supports the self-localization theory presented in this paper. Each individual module provides the bearing of the mobile robot relative to the magnetic field of the earth. The central processing for the mobile robot is managed by a Savage Innovations OOPic-R microcontroller. The OOPic-R has advanced communication modules to enable data exchange between the sensors and motion controller. Communication is managed via a serial bus and an 2 I C bus. The electronics are all mounted on two aluminium bases, which make the square structure of the mobile robot. To support the hardware requirements of the novel localisation methodology, the cutting edge technology of a 200 MHz 32-bit ARM 9 processor on a GHI ChipworkX module [6] is employed. The software architecture is based on the Microsoft .NET Micro Framework 4.1 using C# and the Windows Presentation Foundation (WPF). The combination of hardware electronics and drive mechanics, makes the KCLBOT, as represented in Fig. 1, a suitable platform for autonomous self-localization. Many different systems have been considered for self-location, from using visual odometry [7] to using a GPS method. While all of these have benefits and detriments, the solution