RoboMate
Connecting a virtual robot to interaction and middleware.

RoboMate is a virtual robot environment that explores how a UR10e model can be manipulated in VR and connected to ROS-based systems. My contributions focused on the integration between the Unity scene, robot-body mapping and middleware, along with adapting inverse-kinematics output to articulation joints.
Connecting the robot model
- Mapped robot bodies
- Unity position + rotation → ROS FLU
- Registered per-body topics
- ROS-TCP Connector → configured endpoint
Publishing model poses
I extended the robot-body mapping so a publisher could read the mapped transforms, register the corresponding topics and publish position and rotation. Converting Unity coordinates to ROS FLU coordinates is important: sending the same numeric transform without the coordinate conversion would describe a different orientation and direction in ROS.
Adapting inverse kinematics
I integrated a third-party Hybrid IK solver through a custom adapter. The adapter translates solver rotations into ArticulationBody drive targets and clamps the results to joint limits. I also prototyped a separate CCD solver while exploring how target positions could be mapped onto the robot chain.
Connection settings across scenes
Network endpoint settings persist across scene transitions, avoiding repeated configuration when moving through the application. Keeping connection configuration separate from the individual scene also makes the integration easier to operate and test.
The demonstrated work concerns the simulated robot and Unity integration. It does not claim physical robot control or closed-loop hardware feedback. Hybrid IK is a third-party solver.