Toyota Research Institute (TRI) aims to improve the quality of human life by developing new tools and capabilities to amplify the human experience, specifically in the realm of automated driving, energy & materials, human-centered AI, human interactive driving, large behavior models, and robotics. The TRI Robotics department is focused on inventing and proving new robotic capabilities to enable home robots to address the challenges of an aging society, and a key part of this involves developing the open-source robotics software Drake.
Requirements
- Experience developing numerical methods and scientific software including physics-based simulation.
- Solid grasp in at least some of linear algebra, differential equations, partial differential equations, nonlinear equations, geometry, and related numerical methods.
- Excellent software development skills, preferably in C++ and/or Python.
- Strong understanding of scientific software accuracy and performance issues and tradeoffs.
- deep knowledge and expertise in one or more of the following: hybrid systems, multibody dynamics, numerical integration, discrete and differential computational geometry, contact mechanics, differential-algebraic equations, high performance computing, GPU programming.
Responsibilities
- develop Drake tools to model and simulate mobile robot dynamics, object manipulation, and perception
- develop physically-based, high-fidelity, high-performance software tools for simulation of robots and vehicles interacting with their environments
- develop multibody dynamics, rigid and soft body computational mechanics
- develop a unique hybrid dynamic system abstraction and infrastructure
- develop solvers for dynamic systems (numerical integration of DAEs, time stepping, event handling)
- develop computational geometry, rendering, and contact response (emphasizing manipulation)
- validation of simulation accuracy and verification of software and numerical methods
Other
- summer 2026 paid 12-week internship opportunity
- hybrid in-office role
- Bachelor's degree in Computer Science or equivalent; advanced degree, physics and engineering background a plus.
- collaborate with other software engineers and research scientists
- distill physical and mathematical phenomena into the clearest possible software model, and make it work!