Optimax: Optics Manufacturing Breakthrough Enabled By ROS 2 and ABB
Situation
Optimax Systems Inc. is America’s largest optics prototype manufacturer in the medical, defense, and space industries. Optimax optics are aboard Mars rovers, Pluto New Horizons, Tess, ROMAN, Mercury messenger, the ISS, and more - if it has a lens and goes to space, Optimax probably manufactured it. Of course, Optimax also supplies custom lenses here on Earth for research and defense.
Problem
Optimax’s R&D team approached PickNik for help in improving the smoothness of their robots using the open source Robot Operating System (ROS) platform in their freeform optics manufacturing process. A freeform optic is an optic that is not rotationally symmetric. The manufacturing process of these optics starts with milling the rough shape, then polishing with an ABB industrial arm and freeform metrology tools. Final smoothing is then performed on a Universal Robot or an ABB robot arm to reduce any errors from earlier steps.
Optimax had issues with jerky motions and latency with their ROS 1 ABB arm setup, which were the primary motivators to use a new ROS 2 driver. They also had a desire to move to ROS 2 for better long term support, as well as for the ability to use the ROS 2 Control library, a common low level controller interface. A driver based on ROS 2 Control also allows for use of PickNik’s admittance controller to maintain constant force during polishing. However, no ROS 2 driver for ABB manipulators existed at the time, necessitating the development and release of abb_ros2, a ROS 2 driver for ABB robot arms.
Solution
To transition the existing ROS 1 architecture to ROS 2, PickNik and Optimax collaborated to develop abb_ros2, an open source driver for ABB arms that uses ROS 2 Control. ABB supported this effort by providing access to their proprietary robot simulation software, RobotPro, which was used to test driver functionality during development without needing hardware.
Two PickNik engineers worked with Optimax R&D engineers to analyze Optimax’s data from a ROS 1 prototype. PickNik analyzed the pain points from the ROS 1 implementation, which centered on latency and jerky motion. Then we developed a plan to address both of these pain points, in tandem with development of a ROS2 ABB driver.
The driver communicates directly with an ABB robot or simulation, or it can spoof ROS 2 Control drivers for testing without a robot or proprietary simulation software. This allows for rapid iteration on planning without the need for custom tooling. The driver also supports coordinating motions with additional joints attached to the robot (external axes), such as the bottom-mounted gantry Optimax uses to increase their workspace. Finally, the driver also integrates with the ABB StateMachine add-in], which can be used to control the robot via a state machine and IO manipulation.
With the newly-developed ROS 2 Control driver, Optimax had access to new tools to solve their problems. First, input toolpaths had sharp corners that exceeded the jerk limits of the robot joints. This can cause hardware issues such as faults or long-term damage. Second, the toolpaths Optimax uses could have up to 500,000 waypoints, which caused severe latency when sent to the robot. PickNik’s own MoveIt Ruckig trajectory processing plugin was able to smooth the waypoints such that the final processed trajectory would obey jerk limits, and send waypoints one at a time to avoid memory and latency limitations caused by one giant trajectory.
Outcome
This collaboration between PickNik and Optimax has resulted in the release of an open source ROS 2 driver for ABB robots, which has already been widely used by the ROS 2 community. The driver was delivered ahead of schedule and below budget, allowing for development of additional features beyond the initial scope with help from the open-source community. PickNik’s support has helped Optimax integrate ROS 2 into their manufacturing processes and to leverage the latest trajectory processing features provided by MoveIt and Ruckig. This has significantly increased the overall stability of Optimax’s robot polishing platform and in terms of capability, has allowed Optimax to increase the size of parts that they can polish. In addition, PickNik’s collaboration has enabled the improvement of Optimax’s data collection and boosted the sales of their force controller product.