Dirk Ruiken

PhD candidate
Laboratory for Perceptual Robotics
University of Massachusetts Amherst

ruiken at cs dot umass dot edu

Dirk Ruiken

Robots

During my time at TU Darmstadt and UMass Amherst, I have worked on numerous robot projects. My work ranged from being a member of the development team to leading several projects. I have worked on all aspects of robot design including mechanical and electronical design and built of robot platforms and sensors, embedded computing, motion control, and high level programming for learning and planning.


The lists below show the robots which I designed and built in reverse chronological order. The majority of my work is on the uBot series with uBot-4, uBot-5, and uBot-6 which are part of my dissertation work. uBot-7 is currently under development. The second list includes robots I worked with but did not take part in their design.

uBot-7

We are currently developing the next generation of uBot as part of a NASA grant. We have teamed with Professor Frank Sup and Jonathan Cummings from the Mechatronics and Robotics Research Laboratory. uBot-7 has been developed to incorporate series elastic actuators (SEAs) into a versatile platform such as predecessor uBot-6. It is a toddler-sized mobile manipulator with 14 degrees of freedom (DOF). It has two 4-DOF arms, a rotatable trunk, and a 3-DOF head. The robot weighs about 27 kg and is 95 cm tall.

In its primary form of locomotion the robot is a dynamic balancer on two wheels. The wheels provide non-holonomic drive capabilities with differential steering. Just like uBot-6, it is capable of transitioning to and between other postural configurations. The head has been extended with two more active degrees of freedom to support full pan-tilt view of the entire robot workspace that is independent of the postural configuration.


uBot-7

Component design for whole body mobile manipulation

Hand prototypes

I developed several hand prototypes for uBot-5 and uBot-6 that are aimed at incorporating the need for fine manipulation capabilities as well as robustness to allow the use in mobility modes such as knuckle-walking.

Hand design prototype for mobile manipulation

Head design

Neck design for mobile manipulation

With the introduction of different postural configurations and mobility modes for uBot-6 such as prone scooting or knuckle-walking, the requirements for the visual sensors changed. The 'normal' workspace of the hands changes drastically between modes and the robot needs to be able to provide visual sensor input for manipulation. Likewise the sensor coverage needs to be adjusted for navigation.

I created a novel head design which rotates and translates the mounted Asus Xtion RGBD camera with just one motor. As a result visual coverage is provided in all mobility modes. I supervised Maxim Brade in the creation of the CAD drawings.


Neck design for mobile manipulation

uBot-6

After the rest of the uBot team graduated, I evaluated the design of the uBot-5 platform to see how it could be improved. I redesigned the platform for uBot-6 to improve overall performance by adjusting arm strength and robot size. Compared to uBot-5, there has been at least a threefold increase in strength of all joints. A slightly increased size improves the workspace of the robot.

Like its predecessors, uBot-6 is a toddler-sized mobile manipulator that balances dynamically on two wheels. The robot has 12 degrees of freedom (DOF): two wheels, a rotatable trunk with two 4-DOF arms, and a 1-DOF head. Added in uBot-6, the elbows are equipped with small, unactuated wheels that enable additional postural configurations and corresponding forms of mobility.

The robot uses the same high performance low-level motor control based on custom FPGA boards as uBot-5, but on-board computing has been upgraded to a quadcore computer running linux and ROS.

uBot-5 and uBot-6 side by side uBot-6 in prone scooting configuration
uBot-6 in three-point contact pose
Possible postural transitions for uBot-6

Disney Balancing Character

During the summer of 2008, I did an internship at Walt Disney Imagineering's Research and Development group (now Disney Research) in Glendale, California. I worked with Lanny Smoot on several projects. My focus was the design and construction of a ball balancing robot using omni wheels. This involved the design and implementation of the complete mechanical, electrical, and software system. This platform has been the prototype for the later developed Rezero Ballbot at ETH Zurich.

Disney Balancing Character

uBot-5

The uBot-5 is the second incarnation of the uBot series that I worked on. When we implemented the hard and software system for uBot-4, it became quickly obvious that both the mechanical body as well as the embedded control hardware were limiting the robot's performance. Together Patrick Deegan and I designed a new body for uBot-5. The new design was more spacious in order to address the need of more embedded computing hardware, an onboard pc, and improved ease of maintenance.


Additionally, we redesigned the complete embedded control architecture for uBot-5. Ed Hannigan and I created an FPGA based high performance motor controller board capable of performing sensor processing and PID control of 12 DC motors at 2 KHz. The resources to deal with 1 motor consumed almost all FPGA resources. In order to have the capacity for all 12 motors, I implemented a processing pipeline with 7 stages which handles different parts of the calculation for 7 motors at the same time. This motor control board is also part of our newer robot uBot-6. Preliminary work on FPGA based PID control was done by undergrad Mike O'Malley.
Finally, Patrick Deegan, Bryan Thibodeau, Ed Hannigan, and I designed and implemented an extensive control API and several GUI applications to allow easy control of the robot.


We used the platform in many projects and experiments ranging from baseball throwing over collaborative search with humands (work with Yun Lin and Dan Xie) to knuckle-walking and fall recovery (work with Scott Kuindersma and Ed Hannigan).


While the initial version of the robot ran under MS Windows and the Microsoft Robotics Developer Studio (MRDS), I have ported the complete software to run under ROS when I developed uBot-6. The robot has also been retrofit with the head of uBot-6 with an RGBD camera.


uBot-5 with touch screen display mounted as head uBot-5 with stereo camera head carrying a ball (photo by http://melissacoephotography.com/)

Parallel kinematic neck mechanism

In 2007, I wrote my Diploma thesis at TU Darmstadt. The thesis is titled "Design and Optimization of a Parallel Kinematic Neck Driving Mechanism" [pdf]. The scope of this work was to develop a parallel kinematic mechanism with 2 rotational (pan, tilt) and 1 translational degrees of freedom (forward/backward motion) while using 3 rotational joints. Parallel kinematics were to be used to keep the moving mass low. After the basic mechanism was designed, several parameters such as link lengths and angles between axes had to be chosen. I used evolutionary algorithms in order to select parameters that optimized workspace size, kinematic conditioning, and distance to singularities. This video shows the functionality and workspace of the mechanism with the optimized parameters. The image on the right shows the resulting mechanism. The video below shows the functionality and workspace of the mechanism with the optimized parameters.

Parallel kinematic neck mechanism

uBot-4

When I first came to UMass as exchange student, I started working in the LPR on the uBot project with Patrick Deegan, Bryan Thibodeau, Ed Hannigan, and Rod Grupen. The uBot is a toddler size dynamically balancing mobile manipulator with two 4-DOF arms. I joined the group just when the part orders for uBot-4 were sent out. I started programming an ODE simulator that included the platform balancing and allowed to create and test motion programs. I also joined in to design the embedded processing. Once the mechanical parts arrived, we assembled and outfit the whole robot. We created a first version of an API that connected both to the robot as well as the simulator.


uBot-4

Fish Robot 'Smoky'

Part of my Diploma in Computer Science at TU-Darmstadt was a minor in Biotechnology. I took several classes studying the locomotion of quadruped animals, birds, and fish. I joined a project group (with Bernhard Köhler and Britta Abe) which focused on the study of fish locomotion. As part of this project, we built a robotic fish with 10 articulated segments modeled at 5:1 scale after a Gilt-head bream. It has since been featured in several news articles (e.g. on Golem.de) and been shown at several expositions.


Fish Robot Smoky

Dexter and DARPA ARM-S Robot

As part of the iRobot-UMass-UPenn team I participated in the DARPA ARM-S program and worked on the ARM robot. The robot is a humanoid upper torso modeled after our UMass robot Dexter (picture on the right) and the robot of the Developmental Robotics Lab at Iowa State. The complete robot consists of two Barrett Whole Arm Manipulators (WAMs) and a head, though during phase 1 of the ARM-S program the ARM robot was only equipped with one arm (see picture below).

UMass Dexter
DARPA ARM Robot

Together with Shiraj Sen and Grant Sherrick, I worked on arm control and affordance-based object modeling. We developed controllers on our robot Dexter and then ported them to the ARM robot located at iRobot. As part of this effort we ported the complete control framework of Dexter from MRDS to ROS in order to make it as compatible as possible to the ARM robot. Despite being the mechanical guideline for the design of the ARM robot, Dexter's WAMs are first generation versions working on a completely different software infrastructure. Additionally, the robot's sensors differed as well and we added a Kinect sensor to Dexter's stereo vision to give him better 3D perception.