Rover autonomy and manual control
I built React/TypeScript and Foxglove interfaces for rover autonomy and manual control, supporting engineers, chemists, and physicists conducting science tests. The interfaces presented vehicle telemetry, waypoint commands, and Jetson video over a radio link.
I connected operator commands to STM32 through an asynchronous Rust driver and ODrive CAN controls, then investigated failures during field tests and rosbag replay.
Interactive simulation built from repository arm geometry. The route, sample, fixtures, and proposed tool-camera view are simulated. The arm geometry comes from the repository; no recorded camera feed is shown.
My contribution
I co-led ROS 2 autonomy through two competition seasons and worked on interfaces for autonomous and manual operation. That work connected navigation and vehicle state to the controls available to the operator, while supporting teammates running science tests.
Software and hardware integration
An asynchronous Rust driver connected the ROS 2 system to STM32 controls. ODrive motor controllers communicated over CAN. I worked across the rover software and operator tools to investigate control behavior and coordinate changes with the team.
Testing in the field
I tested transitions between autonomous and manual control, radio loss and sensor failures during field trials. Recorded data supported investigation after a run. The focus was whether commands and failure handling produced the expected vehicle behavior.