Our Bot – Eternis CareTech Foundation
EternisBot Companion Robot EternisBot Companion Robot EternisBot Companion Robot EternisBot Companion Robot

Meet EternisBot

EternisBot is a lightweight companion robot designed to support elderly individuals in daily life. Built with simplicity, safety, and accessibility in mind, it offers practical assistance without complicated controls or overwhelming features.

EternisBot focuses on two core goals: emotional companionship and daily support. Through voice-activated interaction, senior-friendly sound and display settings, reminders, and assistive features, it helps reduce loneliness, support independence, and provide greater peace of mind for families and caregivers.

Voice-Activated Interaction Easy to use without complex buttons or technical steps.
Senior-Friendly Design Clear audio, readable text display, and simple interaction for older adults.
Daily Assistance Supports reminders, item-location help, safety alerts, and companionship.
User-Driven Improvement Continuously refined through real feedback from seniors, families, and caregivers.
Smart Companion Robot

Spherical Shell Design

High-strength spherical shell enables 360-degree omnidirectional rolling, easily navigating various terrains, designed specifically for home environments.

Smart Sensor System

Built-in HD camera, infrared sensors, distance detectors, color recognition, microphones, and speakers for comprehensive environmental awareness.

Intelligent Companion

Rich library of stories and entertainment content, chatting with elders, telling jokes, playing music to dispel loneliness.

Auto-Follow Technology

Advanced visual tracking algorithm automatically follows elders’ movements, always staying within safe companionship range.

Object Recognition

AI object recognition technology helps elders quickly find glasses, phones and other daily items with intelligent positioning.

Remote Communication

One-touch video calling feature helps elders easily video chat with their children, bridging the distance between family.

Unique Technology

Our core technical innovations

Pathfinding Algorithm

After testing A* pathfinding algorithm with UWb positioning, we discovered its limitations with coordinate drift. We ultimately selected Q-learning algorithm, which doesn’t rely on precise maps and allows the robot to learn through trial and error using infrared sensors for autonomous obstacle avoidance and optimal path planning.

Positioning System

After testing Bluetooth positioning, we found signal instability due to interference from furniture, walls, and motors. We switched to UWB (Ultra-Wideband) technology, which uses signal flight time rather than signal strength for more accurate positioning with minimal environmental interference.

Steering Stabilization

We’ve developed a unique “post-steer oscillating stabilization” algorithm for spherical robots. After the main steering action, the robot performs brief, low-amplitude oscillations to re-establish stable friction between internal wheels and the outer shell, effectively reducing post-steer drift.

Pathfinding Algorithm
Positioning System
Steering Stabilization

Pathfinding Algorithm

Given that obstacle avoidance was a top priority, I initially implemented the classic A* pathfinding algorithm. Using two UWB base stations, a UWB module on the robot, and UWB tags attached to objects, I was able to estimate the robot’s coordinates, the coordinates of target objects, and the relative height of objects with respect to the base stations. Combining this information with a basic environmental scan allowed me to construct a 2D Cartesian coordinate system and map the positions of furniture, objects, and the robot. With this setup, A* pathfinding became feasible. However, I quickly discovered its limitations in this scenario. A* requires a highly accurate, drift-free coordinate system. Even after applying Kalman filtering, UWB measurements still exhibited errors on the order of several centimeters to over ten centimeters. As a result, A* produced unstable behavior in practice, including oscillating paths and repeated replanning. In addition, A* relies on a highly precise and static map. Even minor changes in furniture placement would invalidate the path and cause the algorithm to fail. For these reasons, I ultimately transitioned to a Q-learning approach. This method performed significantly better in practice. Unlike A*, Q-learning does not depend on a perfectly accurate global map. Instead, it enables the robot to learn through trial and error, receiving rewards or penalties based on its actions. Using onboard infrared sensors, the robot was able to learn obstacle avoidance and approximate optimal navigation strategies. However, Q-learning is computationally expensive. To address this, I first implemented a lightweight version by encoding the system into a 120-state Q-table stored locally on an ESP32. This state space was constructed from: 8 combinations of three infrared sensors 3 yaw states from an MPU6050 IMU 5 basic robot actions However, this approach limited the system’s intelligence, causing inefficient exploration and excessive time spent on obstacle avoidance. As a result, I adopted a hybrid approach: sensor data is transmitted in real time to a host computer, where the Q-learning computation is performed, and the resulting action is sent back to the robot.

Positioning System

Since localization was also a high-priority function, I initially experimented with a low-cost Bluetooth-based positioning method. Multiple Bluetooth beacons were deployed in the environment, and an ESP32 onboard the robot was used to measure RSSI signal strength from different beacons. The goal was to estimate the robot’s position using trilateration. To reduce noise, I applied both moving average filtering and Kalman filtering, and also created a lookup table mapping RSSI values to distance estimates at different ranges. However, in real-world testing, Bluetooth positioning proved highly unstable. RSSI values were heavily affected by occlusion, furniture reflections, wall interference, the robot’s spherical casing, and motor noise. Even at the same physical location, estimated positions could vary by tens of centimeters to over one meter. While filtering reduced short-term noise, it introduced latency, preventing the robot from responding quickly during motion. As a result, Bluetooth was deemed more suitable for communication or remote control rather than primary localization. I then switched to UWB (Ultra-Wideband) modules. Compared to Bluetooth RSSI-based estimation, UWB relies on time-of-flight measurements, which are significantly less affected by environmental interference and provide higher accuracy. Using two UWB base stations, a UWB module on the robot, and UWB tags on target objects, I was able to estimate their positions in a 2D Cartesian coordinate system. Since object height can vary, I also estimated vertical height during an initial calibration phase by observing changes in relative distance over time and applying trigonometric calculations. This height information was incorporated into the navigation system. Although UWB still exhibited errors on the order of around ten centimeters, after outlier rejection and Kalman filtering, its stability was significantly better than Bluetooth. Therefore, UWB was ultimately selected as the primary localization method.

Steering Stabilization

Due to the high priority of turning accuracy in a spherical robot, I designed a post-turn oscillation stabilization algorithm. Unlike traditional wheeled robots, the motion of a spherical robot is generated by internal wheel assemblies that drive the outer shell, which then contacts the ground to produce movement. Because of this structure, the system is highly sensitive to inertia of the shell, wheel slippage, and shifts in the internal center of mass. As a result, even when the MPU6050 indicates that the robot has reached the target orientation, the outer shell may continue to drift slightly due to residual inertia. Instead of performing a perfect in-place rotation, the robot often follows a curved trajectory, resulting in a non-negligible turning radius. While this error may appear small in a single turn, it accumulates over multiple obstacle avoidance and path correction steps, eventually causing significant deviation from the planned trajectory. To address this issue, the proposed algorithm introduces a short, low-amplitude, periodic left-right oscillation after each major turning action. The purpose of this oscillation is not to further change direction, but to re-establish stable frictional contact between the internal wheel assembly and the outer shell, while dissipating residual rotational inertia. Compared to simply stopping the motors, this approach significantly reduces post-turn drift and improves in-place rotation accuracy. Based on current literature review, while existing research on spherical robots discusses issues such as slippage, vibration, and turning instability, I have not found an identical approach that uses a “post-turn periodic oscillation” strategy for stabilization in internally driven spherical robots. Therefore, this method can be considered a novel stabilization strategy for reducing turning radius errors and cumulative trajectory drift in this type of robotic system, and serves as a key innovation of this project.

Development Status

Early-stage prototype testing

Prototype Robot

Prototype

Working prototype with core functionality including pathfinding, positioning, and companionship features. Currently testing with small groups of seniors.

Under Development

Advanced features including enhanced AI conversation, multi-robot coordination, and cloud integration are currently in development phases.