Project

# Title Team Members TA Documents Sponsor
75 RailRider (Reaction-Wheel Uni-Wheel Inspection Robot with Vision)
James Recera
Varun Sharma
Zhanshuo Zhang
Abdullah Alawad proposal1.pdf
# Title
RailRider (Reaction-Wheel Uni-Wheel Inspection Robot with Vision)

# Team Members
- Zhanshuo Zhang (zz128)
- Varun Sharma (varuns10)
- James Recera (jrecera2)

# Problem
A lot of important inspection locations are basically “thin-structure environments” where a normal robot is awkward or unsafe: narrow beams, cable trays, ladder racks, pipe-rack edges, and long tunnel-like spaces. These places show up in real settings like data centers (overhead cable management and airflow issues), HVAC/ventilation runs (debris, blockages, moisture), industrial facilities (leaks/labels/fasteners), and even “space-inspired” scenarios like a lunar/martian tunnel scout where falling off an edge or getting stuck could mean mission failure. A typical RC car is too wide and needs turning radius, and a drone is loud, short battery life, and often not allowed indoors (plus it struggles in confined, dusty, GPS-denied spaces). We want a compact platform that can move on narrow structures and produce useful inspection results instead of only streaming video.

# Solution
We will build a reaction-wheel stabilized uni-wheel robot that can travel along a narrow beam/rail while carrying a camera-based perception payload. The core idea is that the robot can balance itself with a tiny contact footprint, so it can ride on structures that would make a 4-wheel robot fall off. Our robot will support two main modes:

1. Teleop + safety override: user drives it, but the robot prevents unsafe motions near edges/obstacles.

2. Assisted inspection: the robot follows a beam/rail direction using perception cues and logs simple “inspection events” (marker reached, obstacle detected, possible defect).

The perception system could detecting drop-offs or obstacles early enough to stop, and flagging inspection targets for different missions (some object detection and segmentation maybe using ai).

# Solution Components
**Subsystem 1: Main Control PCB**

Custom PCB that does: power distribution, motor control, sensor IO, and communication.
- MCU: ESP32-S3 (WiFi/BLE + good performance for control + telemetry)
- IMU: BNO055 (easier) or ICM-20948 (harder but common) for orientation feedback
- Reaction wheel motor driver: 3-phase BLDC driver stage (selected based on motor choice; goal is closed-loop reaction wheel torque control)
- Wheel motor driver: brushed DC driver or BLDC driver depending on drivetrain
- Power rails: battery → buck converters (example: 2S LiPo to regulated 5V + 3.3V)
- Current/voltage sensing: measure battery + motor current for safety cutoff / stall detection
- Connectors: I2C header for ToF/thermal, UART/USB header for perception module, debug header, kill switch
- Safety + reliability: heartbeat/watchdog input from the CV module so the MCU can default to “safe stop” if perception freezes

**Subsystem 2: Balancing and Moving**

This subsystem keeps the robot upright and moves it forward.
- Reaction wheel assembly: BLDC motor + flywheel disk (hub + added rim mass for inertia)
- Drive wheel: geared motor or hub motor depending on size and torque needs
- Control loop: IMU → controller → reaction wheel torque (and wheel torque as needed)

**Subsystem 3: CV Perception Payload (camera or optional radar)**
- Forward-facing camera for obstacle detection and logging markers/labels for missions
- Onboard lighting (LED ring/light bar) for dark environments
- Multizone ToF mounted as a hard safety override, when encounter sudden gaps or obstacles
- (Optional) Thermal array (e.g., MLX90640) to flag hotspots
- Possibly replace the camera with radar

**Subsystem 4: Communications with users**
- WiFi video/telemetry stream (ESP32 + CV module stream)
- Simple laptop dashboard: live video, distance/edge warnings, “event log” (marker reached, obstacle, stop triggered)

**Subsystem 5: Mechanical Structure**
- Protective cage so if it tips it doesn’t destroy the camera
- Modular mounting plate for sensors

# Criteria For Success
1. Balance: robot can self-balance in place for ≥ 60 seconds without external support.

2. Narrow-structure traversal: robot can traverse a 2 m rail/beam (target width chosen for our demo rig) at slow speed without falling off.

3. Safety override: perception-based override stops the robot before a drop/obstacle with ≤ 20 cm stopping distance at test speed.

4. Inspection output: robot produces a structured event log with 3 event types, for example: “marker reached / tag detected,”; “obstacle detected / stop triggered,”; “possible anomaly (debris/loose cable) flagged,”; (optional) “thermal hotspot flagged.”

# References:
(for future project implementation)

(1) “The Wheelbot: A Jumping Reaction Wheel Unicycle” (IEEE Robotics and Automation Letters, Vol. 7, No. 4, pp. 9683–9690, Oct. 2022).

(2) https://github.com/peng-zhihui/ONE-Robot

UV Sensor and Alert System - Skin Protection

Liz Boehning, Gavin Chan, Jimmy Huh

UV Sensor and Alert System - Skin Protection

Featured Project

Team Members:

- Elizabeth Boehning (elb5)

- Gavin Chan (gavintc2)

- Jimmy Huh (yeaho2)

# Problem

Too much sun exposure can lead to sunburn and an increased risk of skin cancer. Without active and mindful monitoring, it can be difficult to tell how much sun exposure one is getting and when one needs to seek protection from the sun, such as applying sunscreen or getting into shady areas. This is even more of an issue for those with fair skin, but also can be applicable to prevent skin damage for everyone, specifically for those who spend a lot of time outside for work (construction) or leisure activities (runners, outdoor athletes).

# Solution

Our solution is to create a wristband that tracks UV exposure and alerts the user to reapply sunscreen or seek shade to prevent skin damage. By creating a device that tracks intensity and exposure to harmful UV light from the sun, the user can limit their time in the sun (especially during periods of increased UV exposure) and apply sunscreen or seek shade when necessary, without the need of manually tracking how long the user is exposed to sunlight. By doing so, the short-term risk of sunburn and long-term risk of skin cancer is decreased.

The sensors/wristbands that we have seen only provide feedback in the sense of color changing once a certain exposure limit has been reached. For our device, we would like to also input user feedback to actively alert the user repeatedly to ensure safe extended sun exposure.

# Solution Components

## Subsystem 1 - Sensor Interface

This subsystem contains the UV sensors. There are two types of UV wavelengths that are damaging to human skin and reach the surface of Earth: UV-A and UV-B. Therefore, this subsystem will contain two sensors to measure each of those wavelengths and output a voltage for the MCU subsystem to interpret as energy intensity. The following sensors will be used:

- GUVA-T21GH - https://www.digikey.com/en/products/detail/genicom-co-ltd/GUVA-T21GH/10474931

- GUVB-T21GH - https://www.digikey.com/en/products/detail/genicom-co-ltd/GUVB-T21GH/10474933

## Subsystem 2 - MCU

This subsystem will include a microcontroller for controlling the device. It will take input from the sensor interface, interpret the input as energy intensity, and track how long the sensor is exposed to UV. When applicable, the MCU will output signals to the User Interface subsystem to notify the user to take action for sun exposure and will input signals from the User Interface subsystem if the user has put on sunscreen.

## Subsystem 3 - Power

This subsystem will provide power to the system through a rechargeable, lithium-ion battery, and a switching boost converter for the rest of the system. This section will require some consultation to ensure the best choice is made for our device.

## Subsystem 4 - User Interface

This subsystem will provide feedback to the user and accept feedback from the user. Once the user has been exposed to significant UV light, this subsystem will use a vibration motor to vibrate and notify the user to put on more sunscreen or get into the shade. Once they have done so, they can press a button to notify the system that they have put on more sunscreen, which will be sent as an output to the MCU subsystem.

We are looking into using one of the following vibration motors:

- TEK002 - https://www.digikey.com/en/products/detail/sparkfun-electronics/DEV-11008/5768371

- DEV-11008 - https://www.digikey.com/en/products/detail/pimoroni-ltd/TEK002/7933302

# Criterion For Success

- Last at least 16 hours on battery power

- Accurately measures amount of time and intensity of harmful UV light

- Notifies user of sustained UV exposure (vibration motor) and resets exposure timer if more sunscreen is applied (button is pressed)