1) Robot Design and Fabrication

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...

The Haptic fMRI Interface (HFI) Family

HFI-5 (Torque mode)

The Neuroarm Family

Neuroarm-2 (3 built)

2) Torque Control

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...

Kinova Jaco 6 : Torque control

We developed a distributed torque control interface for the Kinova Jaco 6. Using a torque interface makes the robot naturally compliant, which reduces the risk of the robot inadvertently hurting a human. The robot applies appropriate torques to compensate for gravity.

Kuka LBR IIWA : Torque control

Like the Kinova, we use a torque control interface for the Kuka LBR IIWA. We demonstrate similar compliant torque control with gravity balancing.

Kinova Jaco 6 : Operational space control

We control a Kinova Jaco 6 in task space using a torque control interface. Our goal while writing control software is to provide a uniform high level control interface for all robots. As such, identical control code runs on all robots.


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.

    © Samir Menon. CCA 3.0 license.
    Valid HTML and CSS.
    Last updated on Oct 24th, 2016