Robotics Research

 

 

I'm currently researching the application of AI and deep learning to collaborative robots. The figure at the right shows a cobot work cell I was working on in 2008. Cobots are like robots, except they include safe motion functionality that allows them to work concurrently in the same space as people. In 2008, and in my previous research, the task planning had to be done either by explicitly programming the cobot with something like a teach pendant or by teleoperating the robot with a manual controller. The goal of the current research is to have the cobot plan and then perform its task with only very high-level direction. This work is bringing together object recognition and object detection from recent advances in deep learning, classic multi-criteria optimization techniques and current state of the art in 3D cameras.

Cobot manufacturing cell

Obstacle avoidance

The title of my PhD dissertation was "Multicriteria Inverse Kinematics for General Serial Robots." The inverse kinematics problem solves for the required angles at the robot's joints to place the robot's end-effector at a known location. People solve this problem all the time without even thinking about it. When you are eating your cereal in the morning you just reach out and grab your spoon. You don't think, "my shoulder needs to do this, my elbow needs to do that, etc."  In general, six coordinates are required to locate a rigid body in space (for example x, y, z, roll, yaw, pitch) That's why most industrial robots have six joints, also called Degrees Of Freedom (DOF). Robot's with more than six joints are known as kinematically redundant robots. The robot at left has 8 DOF that allow it to reach through access ports and avoid obstacles while still locating a toolpoint in six dimensions.

Redundant robots are capable of self-motion, as seen at the right. This arm has 7 DOF arranged in a geometry much like the human arm. It can locate & fix it's toolpoint and then move the elbow to optimize some performance metric. Think about how you might use a screwdriver to put a screw in the wall. You put the tip of the screwdriver in the screw and then raise your elbow so you can push the screw into the wall while you turn it. People solve this constrained optimization problem all the time without thinking about it. So do monkeys. Programming computers to solve it is another matter. Ferdinand Freudenstein, the "Father of Modern Kinematics" called the general solution to the 6-DOF inverse kinematics problem the "Mt. Everest" of kinematics problems. The makes the "constrained" part of the optimization problem a challenge.

Self-motion

Performance criteria

Freudenstein, however, could not have envisioned the computing power that was coming in a few decades and in the late 1980's and early 1990's people working in the field developed generalized inverse kinematics solutions using numerical methods and linear algebra that could be solved on available computers in real-time. As robot systems were being developed that had more-and-more kinematic redundancies (I worked with two different systems that had 17 DOF while developing the algorithms in my dissertation), the solution to this problem began focusing on optimization and machine intelligence. My dissertation work compared different optimization techniques including simulated annealing, neural nets, genetic algorithms and direct-search, to this constrained optimization problem. Ultimately I found the best approaches combined closed-form solutions developed by Freudenstein (and others) to satisfy the kinematic constraints and the "AI" techniques for optimization. Depending on the task, there may be 10 or 20 performance criteria that are important as robot goes about its task. The robot on the left has 9 DOF. As it moves along its path, the values of the different performance criteria change. The inverse solution shown in the figure minimized the magnitude of the six degree error vector at the toolpoint.

Even minimizing a six degree error vector requires combining performance criteria with different units (rotation & translation). A number of the students I was working with at the time were developing different performance criteria and techniques for normalizing and fusing them into an expression I could use in my inverse kinematics algorithms. This figure shows a 20 DOF robot NASA was considering for inspection tasks in space. Because there would be no gravity in space, the weight of the arm itself was not an issue. It may be counter-intuitive, but the inverse solution for an arm with this many joints gets easier. There are so many solutions to choose from that this example optimized 29 different performance criteria while simultaneously solving the inverse. The "snake" design let's the arm get into tight places. It also supported fault-tolerance. The joints shown in red were randomly "locked" in place while the robot was moving. The inverse solution had to automatically adapt. 

Dual armed work module (DAWM)

This is one of the two 17 DOF, dual arm robots I worked with during my research years. It was called the Dual Armed Work Module, and it was developed for decontamination and dismantlement of nuclear facilities. Robots are a natural choice for working around radioactive materials. In concert with Oak Ridge National Lab, I developed different kinematic control modes for the robot, but the control was always "teleoperation" in the sense the position and orientation of the robots' grippers had to be completely remote controlled as the robot performed its task. The robots never went about their tasks for autonomously. This is a very tedious way of working. Just taking the bolts off a pipe flange would take all day. It is only makes sense for the "hottest" (radiation wise) tasks.

This is my hand on a Kraft Telerobotics manual controller with force-feedback. A force-feedback manual controller is itself a small robot. It has motors, gears, feedback sensors, etc. This Kraft was a nicely-executed example of a manual controller on the scale of the human arm, though generally I preferred manual controllers that were smaller, on the scale of a writing instrument like a pen. I feel the muscles of the hand are more precise and have more endurance than the muscles of the arm. A smaller & lighter manual controller also has naturally higher fidelity in terms of being able to feed back tactile senses to the operator.

Rich's hand on a manual controller

One thing I learned during this research is that teleoperating robots to work remotely is very hard. We had the best robots and the best manual controllers and even simple tasks like the drilling operation shown in this figure took a lot of practice to be able to complete at all, let alone get clean, straight holes. The robot needs to get its tasks at a much higher level. That is the subject of my current research.  I wrote a paper in 1997 on kinematic control modes that had some options on addressing these issues. Developments in AI in the 20 years since that paper should present more options.

I wrote robo_cad in the late 1980's. robot_cad was a system to interactively assemble and reconfigure modular robotic systems in a computer animation environment. A person could assemble these modules into a large class of robotic systems that included serial, parallel, mobile and hybrid configurations. A model of the configured robotic system was immediately available for use in a wide variety of robotics research areas, including: obstacle avoidance, redundant inverse kinematics, dynamic simulations, mobile platforms and world model databases. Most of the computer graphics on this page were created using robo_cad. At the time,  NASA-JSC, NASA-JPL, Argonne National Lab, and the Universities of Texas, Maryland, Dortmund and Witwaterstrand were using this software in one way or another.

robo_cad - computer aided configuration of modular robots

Offline programming

This figure shows an offline programming interface I developed as part of a NASA and Texas-based Universities (Rice, UT Austin, Texas A&M, UT El Paso, and UT Arlington) research project. The idea was to simulate a person on the ground controlling a robot in space to perform tasks, such as inspection of space station exterior components. Because of the delay between commands from the ground reaching the robot in space, we developed a "time-clutch" that allowed us to control an animation in real-time and then transmit the entire path to the robot. To simulate this, we operated a robot at Rice University from this interface on a computer at UT Austin. The communication happened over the internet, which added variable latency to make the simulation more closely mimic communications between ground and space.

This figure shows a simulation of a Robotics Research 7 DOF arm mounted to a Hermies-II mobile base to give 10 DOF for the total system. The task being simulated is inspecting 55 gallon drums for radiation leaks. The simulation was developed in concert with ORNL. The redundancies in the systems kinematics were resolved by optimizing a utility function composed of 29 different performance criteria. ORNL was investigating the feasibility of storing nuclear waste in big farms and monitoring it automatically using robots until someone could figure out how to react it some more to make it safe, or just keep monitoring it for 1,000 years. This is a much better idea than burying the waste. Of course it would be best not to make it in the first place. The world would be better off without nuclear weapons.

Drum inspection task

Gas sampling task

This figure shows a simulation of a Schilling Titan robot performing a gas-sampling task while monitoring 55 gallon drums. The simulation was developed in concert with INEL and showed the robot had enough accuracy inserting a 1/16" probe through a 1/8" vent. The simulation took two days to develop, which at the time was really fast. That might not seem so fast today.

Advanced Semiconductor Manufacturing Facility - Center Core View

  • No human intervention
  • Each floor has 3 modular robots and 10 process machines
  • Central elevators
  • No single-point failures in critical path


Advanced semiconductor manufacturing facility.

This figure shows a robot arm with a "crab claw" geometry. This geometry is created by arranging three knuckle joints in series. It is one of the hardest 6 DOF geometries for inverse kinematics algorithms because its workspace is so limited and the solution space is littered with singularities. This is a classic test case for inverse kinematics algorithms because of these challenges. It is known the robot will be commanded to travel through singularities, the question is how will the inverse algorithm respond? This "three knuckle" serial geometry also formed for the basis for a very high accuracy, tendon-driven surgical robot with jeweled bearing at each degree of motion.

This figure shows frames from an animation of the crab claw robot following a walking motion. The inverse kinematics algorithm was able to solve for the placement of the crab's "foot" in spite of the singularities and joint range limitations of the underlying geometry. No inverse algorithm can make a robot do something that is impossible, such as move through a kinematic singularity, my solution was singularity-free in the sense that it would never generate impossible solutions, but would instead let the robot deviate from the commanded path a small amount. 


Software, Robotics and Computer Controlled Machines

Manufacturing Software Robot & Machine Kinematics Motion Control
Process Control Machine Control Software Medical Robotics
Instrumentation Factory Automation Electro-Mechanical Engineering
Robotics Software Automatic Doors Automatic Guided Vehicle
Programmable Logic Controller Machine Safety Automatic Test Equipment
Machine Control Ladder Logic Software Software Source Code Review

© copyright Richard Hooper all rights reserved