Tormach engineers Brandon Duarte and John Morris gave a presentation on ROS and the ZA6 industrial robot titled: ‘Real Time Motion Control in ROS Uniting HAL with Tormach’s ZA6 Robot.’
The ZA6 robot is a 6-kilogram industrial robot arm fully powered by ROS, with Python as its robot programming language. Tormach makes the complete ZA6 motion control stack available as open-source software, including the hardware drivers executing in the real-time environment, and the presentation showed how the same software could easily be adapted to build controls for a variety of robot hardware. During the presentation a video was shown demonstrating synchronized movement between two ZA6s, all powered by ROS.
What is ROS?
ROS (Robot Operating System) is a comprehensive set of open-source software libraries and tools designed to facilitate the development of robot applications. It offers a wide range of functionalities, from drivers to cutting-edge algorithms, along with robust developer tools, making it an invaluable resource for any robotics project. With its open-source nature, ROS encourages collaboration and innovation in the field of robotics.
What is Machinekit HAL?
Machinekit HAL (Hardware Abstraction Layer) is an open-source toolbox for developing machine controls. Out of the box, it offers many hardware drivers, common machine control functions, simple programming APIs, and a real-time threading environment. It also includes a range of tools, including a logger, oscilloscope and command line utility, for inspecting and updating running systems. These features enable hardware integrators to build complex, high performance motion controls with minimal development time.
Watch Tormach's Presentation
‘Real Time Motion Control in ROS Uniting HAL with Tormach’s ZA6 Robot.’
Tormach faced a common challenge that comes with integrating new robot hardware into ROS: implementing the hardware drivers and executing them in a real-time threading environment. They addressed this by developing a library called hal_ros_control, which bridges the gap between Machinekit HAL and ROS. Most ROS robot hardware drivers connect a single robot, and a new driver must be written for every new robot. But because hal_ros_control connects robot hardware using Machinekit HAL, robots using many types of common, commodity hardware can be connected with existing drivers for EtherCAT, Beaglebone, FPGA cards, and more.
“We developed the 100% open-source controls for the Tormach ZA6 robot because it made sense next to Tormach's open-source CNC machine tool controls, and it was so exciting to see such an enthusiastic response from the audience,” said Morris, Tormach software engineer. “I was especially pleased how people saw unexpected utility from the open-source stack that they couldn't get from black box offerings from other vendors. It's personally satisfying to know that we're contributing something useful back to the open-source communities we benefit so much from.”
“It was really exciting to see how energized the ROS community is to continue to expand the capabilities of robots and automation,” said Duarte, Tormach software engineer. “Our work around enabling low level real-time control and motor feedback garnered wide attention from the attendees. We look forward to continuing our deep engagement with the community and doing our part to help move robotics research forward.”
The conclusion of the presentation pictured what a comprehensive robot control system looks like, built with ROS, Machinekit HAL, and hal_ros_control. All components, including Machinekit HAL, hal_ros_control, and the ZA6 system, are open source and available on GitHub.
“ROS events like the ROS Industrial Consortium meetings are always packed with amazing, cutting-edge robot software developments,” Tormach CEO Daniel Rogge stated. “I was surprised at how many questions we received about using the robot to tend a CNC machine – a topic that’s relatively straightforward compared to some of the things ROS can do. It’s great to see such overlap between these two communities.”
PathPilot for the ZA6
Tormach's ZA6 robot comes with free PathPilot® software, which is designed for easy adoption, especially for those familiar with PathPilot CNC. PathPilot’s intuitive and powerful conversational programming is built in and lets you create programs at the machine. Visit the ZA6 product page to learn more about how it operates with the PathPilot software.