Energid Technologies Corp., a small and relatively young company, is well known to the robotics community, having partnered with a large number of commercial and academic entities on a wide variety of projects. And any of Energid’s four areas of focus–machine vision, robotics software, visualization, and simulation–would serve as the foundation for a much larger company. However, it is Energid’s Actin robotics toolkit that is the crown jewel of the company and the basis for many of its wide-ranging contracts and partnerships. It is also a potential enabler for new robotics applications.
Founded in 2001 with approximately 20 employees today, Energid Technologies describes itself as a products and services company. Partners range from robotics hardware platform providers iRobot, Foster-Miller, and MobileRobots, to software suppliers such as Solidworks and Microsoft’s robotics group. The company is also a member of the Robotics Technology Consortium and Massachusetts Robotics Cluster, and is an exhibitor at academic and industry events. Company representatives are frequent speakers at these events.
Energid has applied its expertise in the company’s four focus areas across both the industrial and service robotics sectors (commercial, civil, and military service robots), along with nonrobotics market segments. The types of projects the company is involved with vary greatly, ranging from human gesture recognition and surgery training to robotic citrus harvesting and lunar excavator validation.
Some small companies, particularly services companies, spread themselves thin chasing contracts and grants. However, that is not the case for Energid. When Energid’s mélange of product and services offerings is examined, it becomes clear that many of the programs and contract awards include some mention of the company’s flagship product: the Actin Robotics Toolkit.
Complexities of Robot Control Programming
Developing complex motion control systems for robots is difficult and time consuming. As robotics systems have become more complex and applications more demanding–evolving from fixed systems to mobile robots, or single-armed, solitary systems to multi-armed, cooperative robots–the programming of control systems has become extraordinarily complicated. Moreover, control software must be changed, often dramatically, to support new hardware implementations (e.g., gripper and hands), repair defects, or add new functionality. Using standard programming techniques, complex control code can become unwieldy, and with each new modification, more fragile.
The complexity of developing control systems for robots is so great that it has limited innovation, becoming a gating factor for the production of new classes of useful robotic systems. Accordingly, tools and techniques that simplify robot control programming are in high demand.
In March 2005, Energid released its Actin robotics toolkit, followed by version 2.0 in September 2009. Actin is based on patented software that Energid developed over the years through its work engineering robot control software for NASA’s Robonaut, a humanoid robot designed to assist humans during work in space. In this manner, Actin’s R&D work was funded under a services contract. This is a very common practice, and one that has led to a great deal of commercial product development.
The Energid patent, “Method and Apparatus for Dynamically Reprogramming Remote Autonomous Agents,” describes an approach for easily specifying and programming complex robotic motion control systems. As the patent title implies, the approach also allows “autonomous agents” to be reprogrammed, even if those agents are remote. The term “autonomous agent” refers to any type of mechanism, such as robotic arms and manipulators, including those with many degrees of freedom and multiple end effectors.
To understand the significance of the patented approach (and the Actin toolkit), it is important to know that many robots are controlled by software as compiled code embedded in processors residing on the robotics systems under their control. To modify or replace the function of system components, the software must be recoded and compiled, and the compiled executables (object code) then uploaded to the appropriate processors. The functionality embedded in Actin simplifies and speeds this process, allowing for the dynamic programming (reprogramming) of control systems for autonomous agents like manipulators, even if they are remote.
Ease of XML, Power of C++
At the most basic level, Actin can be described as an object-oriented toolkit for generating kinematic motion control software for robotic manipulators (arms). Using Actin, developers focus on the placement of end effectors (gripers, hands, etc.) and let the toolkit automatically calculate the motion control for the arms (joint positions and rates) that will place end effectors as required. The manipulators can contain any number of links and branches. Also, Actin is hardware agnostic–any type of joint or end effector is supported.
[Editor’s Note: “Kinematics” refers to the description of motion without regard to its causes. For example, the end point of a robot arm can be calculated from the angles of all its joints. Alternatively, given the end point of the robot arm, the angles and settings of all its joints required to put it there can be calculated (inverse kinematics).]
There are many ways to represent kinematic descriptions of mechanisms, which makes using and sharing kinematic information very difficult. The developers of Actin understand this, and as a result, Actin organizes control systems and all supporting mathematics into a single tree structure that is represented in Extensible Markup Language (XML).
Using the Actin toolkit, engineers can specify desired behavior and apply constraints to a model description of a robotic manipulator using XML. The models generate control frameworks (algorithms) that can then be linked to C++ class libraries (Windows and Linux platforms are supported on desktops and embedded systems). Actin “intelligent” control algorithms offer support for collision avoidance, joint limit avoidance, minimum motion, strength optimization, and other functions.
As an object-oriented toolkit, the Actin class libraries are accessed by the developers through subclassing. Most libraries are dedicated to kinematic control, but component libraries are also provided for simulation, rendering and visualization networking (TCP/IP and UDP/IP), sensor interfacing, and machine vision.
Within the last year, Energid Technologies, on the strength of its Actin toolkit, has partnered or contracted with a variety of robotics and nonrobotics companies on a wide range of projects. These partnerships provide evidence to the variety of applications suitable for Actin-facilitated robotic automation. But more important, they highlight how developing trends in the robotics industry are supported by the manipulator control functionality Actin provides:
- Mobile Manipulation. In November 2008, Energid and Mobile Robots partnered to provide autonomous navigation and mapping, machine vision, and advanced robotic manipulation into a mobile platform code-named Dactyl. The Dactyl system combines Energid Technologies’ Actin arm and camera control software with MobileRobots Inc.’s PatrolBot platform and MobileEyes remote monitoring and control system. Dactyl can autonomously generate maps of its working environment and navigate that environment, as well as coordinate the motion of both the arm and the platform to carry out tasks that would be difficult, if not impossible, for the typical teleoperated system.
- Autonomous, Multirobot Systems. In May 2009, Seabed Rig AS, a developer of submerged autonomous seabed drilling rigs for drilling in arctic and deep waters, contracted with Energid Technologies to create a robot control system for its exploration platforms. The project involves the coordination of motion of multiple robots, each with many moving parts. Both companies have noted that Actin is central to the project.
- Flexible Manufacturing. In June 2009, Energid released a version of Actin specifically designed for the robotic arms produced by Schunk GmbH, a supplier of tool holding and automation solutions primarily servicing the industrial robotics sector. Schunk’s customers will be able to use Actin to develop systems that can incorporate any combination of Schunk’s robotic arms and grippers, depending on their particular (and changing) production requirements.
The Actin toolkit is the basis for many of Energid’s contracts and partnerships. While the specific functionality of Actin is the reason for its widespread use, at a less granular level the product can be seen as an enabler for whole new classes of robotics applications. Think autonomy. Think mobility. Think manipulation. Therein lies the real focus of Energid Technologies and Actin going forward, and the future of much of the robotics industry.
THE BOTTOM LINE
The difficulties of creating control software for robots have placed limits on the development of next-generation robotic applications. Actin simplifies the development and modification of complex robotic control mechanisms. It does so by providing support for:
- Abstraction. The XML specification interface offers a simplified, abstracted method for specifying kinematics and other behavior from which Actin can generate appropriate manipulator control algorithms. The specifications can apply to virtually all robot types, including mobile and multi-armed systems, along with any type of joint or end effector.
- Reuse. The sharing and reuse of code and behavior is central to the concept of object orientation. Actin supports object orientation through subclassing and inheritance.
- Dynamic Programming. In Actin, program components are loosely coupled, allowing changes to be isolated and easily made. Also, specifications contained in XML control files can be changed dynamically at run time.
Energid Technologies Corp.