Over the years, we have designed and built many robots. We've been through the process of
designing two robot families, fabricating eight physical robots, upgrading two
fabricated robots heavily, building five generations of control hardware (C++ code to current-out+encoder-in),
and developing a software framework for real-time or asynchronous torque control.
Doing so forced me to step out of abstract theory-land and focus my efforts on real and concrete problems.
Here are a few pictures of robots we've built. If you're wondering what happened to HFI-1, here's
a photo. I'm not
including it in the list because it didn't quite work till we upgraded it to HFI-2.
On another note, feel free to shoot me an email if you'd like tips on how
to build and control robots. You'll hear not about what to do, but what not to do...
We focus on torque control while controlling robots. Doing so offers many advantages but requires torque sensing or well calibrated motor current control. In addition, it requires careful programming to avoid instabilities when the control rate isn't high enough (less than 1Khz). Once we have torque control, we realize robot agnostic control by specifying closed loop control tasks in operational space, which can then be projected on to the articulated body dynamics for arbitrary robots. Multiple control tasks are readily accommodated using a prioritized control subspaces, which disallow competing control tasks from interfering and destabilizing the controller.
While realizing fluid torque control for arbitrary remains a research challenge, we have made much progress in simplifying torque control interfaces for a variety of robots. Here are a few demonstrations...
Robotics research always involves a group of folks who work hard behind the scenes.
We had many outstanding students over the years who contributed to what you see above.
The robots mentioned earlier were built with major contributions from
Gerald Brantner (HFI-1, HFI-2),
Chris Aholt (HFI-1, HFI-2, Neuroarm-1, Neuroarm-2a,b),
Hari Ganti (HFI-2.5, HFI-3, HFI-3.5, HFI-5),
Jack Zhu (HFI-3, HFI-3.5),
Alok Subbarao (HFI-5),
Jihee Hwang (HFI-5),
Fahad Al Shaibani (HFI-5),
Scott Bertics (Neuroarm-1),
Travis Dewolf (Neuroarm-2c), and
Karan Handa (Neuroarm-2b).
The robot electrical systems were developed and calibrated with help from
Scott Bertics (Neuroarm Ethercat control system V1),
Gerald Brantner (HFI Ethernet control system V1),
Alec Joel Tarashansky (Neuroarm PCIe control system V1),
Jack Zhu (HFI PCIe control system V1),
Deeksha Goyal (PCIe control system V1),
Valerie Hau (PCIe control system V2,V3),
Sahaana Suri (PCIe control system V2,V3), and
Jananan Mithrakumar (PCIe control system V2,V3).
I would also like to highlight programming and calibration contributions from
Vinay Sriram, Jack Zhu, Keegan Go, Hayk Martirosyan, Toki Migimatsu,
Mohammad Khansari, Brian Soe, Torsten Kroeger, and
Ellen Klingbeil.