← All projects

Robotics / Mechanical / Software

Robot Grinding Testbed.

In progress

Mechanical, electrical, and ROS 2 development for a multi-robot grinding testbed, from shared robot interfaces to automatic tool changes.

The Robot Grinding Testbed with its robot arms, work surface, and tool rack

Building a shared platform

As an intern at the Manufacturing Futures Institute over the spring, summer, and fall semesters, I helped develop and maintain the Robot Grinding Testbed while supporting researchers using the system. My work spanned robot control, tool management, sensor integration, mechanical upgrades, and a web interface for operating the testbed.

Mechanical setup

Alongside the software work, I designed and manufactured the individual tool-side assemblies, robot-side connectors, and tool racks.

CAD model of the testbed tool rack with mounted tool changers and tools
The tool rack and tool-changing hardware.
Testbed electronics and cable routing mounted beside the robot work surface
Electronics organization and cable management beside the testbed.

Robot-agnostic control infrastructure

The core software challenge was making different robots usable through the same interface. I developed ur_robot_manager for the UR20 and ynx_robot_manager for the NEX10, exposing a common set of ROS 2 actions, topics, and services. This lets researchers use the same commands for joint and pose goals, I/O, named positions, and payload configuration in higher-level scripts across both platforms.

Controlling the NEX10 with a SpaceMouse.

Automatic tool changing

I developed rgt_manager to coordinate the testbed. It maintains system state, tracks robots and tools, generates visualizations, and exposes high-level services. Its change_tool service lets a script request a tool for a robot, then coordinates the motions needed to exchange it.

To support those operations, I added testbed configuration storage and calibration scripts for robot positions and the tool-changer tray. I also wrote examples and documentation to help other users get started.

Both robots completing an automatic tool-change sequence.
A closer look at the tool change.
The tool-change sequence visualized in Foxglove.

Hardware and research support

When the testbed moved to a new area of the building, I helped plan and carry out the relocation. I relocated, strengthened, and extended the tool-tray brackets, fabricated custom fixtures, and added cable management for the testbed electronics.

I also supported researchers in Prof. Kroemer’s and Prof. Farimani’s groups through teaching, debugging, and feature development. This included a thermal-camera package and hardware and software setup for tool-side GelSight and RealSense sensors.

Data collection on the testbed.

RGT Desk

To bring day-to-day operations into one place, I developed the frontend and backend for RGT Desk. The web interface monitors testbed software, manages system states, and gives users quick access to essential services and programs.

RGT Desk dashboard showing status indicators and start and stop controls for the UR20, NEX10, RGT Manager, and Foxglove Bridge
The RGT Desk interface for monitoring and controlling testbed software.

Full demos

These demos show the UR20 and NEX10 performing grinding tasks with the full system.

Grinding with the UR20.
Grinding with the NEX10.
More builds. More experiments.Back to the collection