Table of Contents
Fetching ...

Co-Design of a Robot Controller Board and Indoor Positioning System for IoT-Enabled Applications

Ali Safa, Ali Al-Zawqari

TL;DR

This work addresses the need for precise yet affordable indoor robot navigation for IoT‑enabled applications by co‑designing a WIFI‑enabled, $6$‑Amp motor‑controller board and a camera‑based indoor positioning system. The controller uses a PID loop with anti‑windup, driven by encoder feedback, while the positioning system uses a ceiling‑mounted down‑looking webcam and color markers to estimate the robot's real‑world location via a calibrated pinhole camera model, communicating with the controller over WIFI. Empirical results from goal‑steering and trajectory‑tracking experiments show positioning errors as low as $0.125$ m, with trajectory deviations of $0.1$ m, $0.068$ m, and $0.106$ m on different sine trajectories, all at a cost (~$1600$ QAR) two orders of magnitude lower than commercial MOCAP solutions (~$120{,}000$ QAR). The approach provides a practical, scalable framework for IoT and AI applications at the robot edge, reducing reliance on expensive localization systems.

Abstract

This paper describes the development of a cost-effective yet precise indoor robot navigation system composed of a custom robot controller board and an indoor positioning system. First, the proposed robot controller board has been specially designed for emerging IoT-based robot applications and is capable of driving two 6-Amp motor channels. The controller board also embeds an on-board micro-controller with WIFI connectivity, enabling robot-to-server communications for IoT applications. Then, working together with the robot controller board, the proposed positioning system detects the robot's location using a down-looking webcam and uses the robot's position on the webcam images to estimate the real-world position of the robot in the environment. The positioning system can then send commands via WIFI to the robot in order to steer it to any arbitrary location in the environment. Our experiments show that the proposed system reaches a navigation error smaller or equal to 0.125 meters while being more than two orders of magnitude more cost-effective compared to off-the-shelve motion capture (MOCAP) positioning systems.

Co-Design of a Robot Controller Board and Indoor Positioning System for IoT-Enabled Applications

TL;DR

This work addresses the need for precise yet affordable indoor robot navigation for IoT‑enabled applications by co‑designing a WIFI‑enabled, ‑Amp motor‑controller board and a camera‑based indoor positioning system. The controller uses a PID loop with anti‑windup, driven by encoder feedback, while the positioning system uses a ceiling‑mounted down‑looking webcam and color markers to estimate the robot's real‑world location via a calibrated pinhole camera model, communicating with the controller over WIFI. Empirical results from goal‑steering and trajectory‑tracking experiments show positioning errors as low as m, with trajectory deviations of m, m, and m on different sine trajectories, all at a cost (~ QAR) two orders of magnitude lower than commercial MOCAP solutions (~ QAR). The approach provides a practical, scalable framework for IoT and AI applications at the robot edge, reducing reliance on expensive localization systems.

Abstract

This paper describes the development of a cost-effective yet precise indoor robot navigation system composed of a custom robot controller board and an indoor positioning system. First, the proposed robot controller board has been specially designed for emerging IoT-based robot applications and is capable of driving two 6-Amp motor channels. The controller board also embeds an on-board micro-controller with WIFI connectivity, enabling robot-to-server communications for IoT applications. Then, working together with the robot controller board, the proposed positioning system detects the robot's location using a down-looking webcam and uses the robot's position on the webcam images to estimate the real-world position of the robot in the environment. The positioning system can then send commands via WIFI to the robot in order to steer it to any arbitrary location in the environment. Our experiments show that the proposed system reaches a navigation error smaller or equal to 0.125 meters while being more than two orders of magnitude more cost-effective compared to off-the-shelve motion capture (MOCAP) positioning systems.
Paper Structure (8 sections, 5 equations, 8 figures, 3 tables, 1 algorithm)

This paper contains 8 sections, 5 equations, 8 figures, 3 tables, 1 algorithm.

Figures (8)

  • Figure 1: View of the robot controller and indoor positioning system proposed in this work. A custom robot motor controller board is used to drive the robot's wheels while providing WIFI connectivity for enabling the study of IoT-based applications. Color markers mounted on the robot are used by a down-looking webcam connected to a laptop for visually determining the position of the robot in the environment. The camera-based positioning system transmits the robot's position to the custom controller board via WIFI.
  • Figure 2: H-bridge circuit design. The PWM signals for controlling the speed of the right and left motors are fed through the ports PWM-A,PWM-B, PWM-C and PWM-D. The motor turns clock-wise when feeding the PWM signal to PWM-A (PWM-C) while keeping PWM-B (PWM-D) to GND, and vice-versa for counter-clock-wise rotation.
  • Figure 3: Custom robot controller board. The board embarks a H-bridge circuit capable of driving motors with up to 6 Amps of current. The H-bridge is controlled via PWM by the on-board ESP8266 micro-controller chip which also provides WIFI connectivity to the board.
  • Figure 4: Anti-windup PID motor speed controller. The error signal $e[k]$ at time-step $k$ is obtained by subtracting the measured rotation speed from the desired set-point speed. The error signal $e[k]$ is then fed to a proportional, a derivative and an integral pipeline with coefficients $K_p, K_d, K_i$. The anti-windup mechanism applies a decay $I\xleftarrow{} I\times \alpha_{decay}$ to the integrator if the error is larger than a certain threshold $L_{anti}$. The integrator is further clamped between $(-\beta_{anti}, \beta_{anti})$ to prevent large bursts in the PWM commands.
  • Figure 5: Calibration setup. The white markers placed on the floor indicate the location of the calibration points (with known real-world coordinate $(X_c^i,Y_c^i)$). During calibration, the robot is placed on top of a marker and its location on the camera image plane $(x_c^i,y_c^i)$ is determined by detecting the green and orange markers mounted on the robot (see Fig. \ref{['systemview']}).
  • ...and 3 more figures