Tormach Unveils Open-Source Robot Operating System with Python Integration

In a significant leap for robotics research and the open-source community, Tormach, a leading manufacturer of machine tools, has developed an industrial robotic manipulator and control system based on the Robot Operating System (ROS). This open-source platform is widely used for robotics research, but until now, it lacked the integration with industrial-grade hardware. The new system, which includes the control system, industrial robot hardware, and full access to all system parameters, provides a fast and accessible solution for researchers, developers, and students in the electronics industry.

Traditionally, robot equipment manufacturers have relied on proprietary, closed-source software and control systems for their manipulators. This has posed significant challenges for researchers looking to use ROS on industrial robots due to the “black box” issues that are common in modern robotics applications. Tormach’s innovative solution addresses these challenges by integrating ROS with a Python-based control system, PathPilot, which offers an intuitive programming interface for robot motion.

The reluctance of robot control manufacturers to allow ROS developers full access to their system parameters stems from several concerns. These include the potential loss of intellectual property, the risk of introducing bugs or other issues that could compromise system safety or reliability, legal or contractual restrictions, potential liability issues if their systems are modified by external parties, and the financial implications of having to invest in additional documentation, training, and support infrastructure.

Tormach’s ROS-based platform overcomes these hurdles by providing a comprehensive hardware and software stack that offers valuable control opportunities. The ZA6 robotic manipulator provides feedback from each joint, including position, velocity feedback, torque feedback in SI units, following error, and diagnostic error codes. Additional diagnostics such as motor/encoder temperatures and error code history can also be reported.

The connection between ROS and a robot’s hardware relies on a hardware abstraction layer (HAL), which evolved from the open-source Enhanced Machine Controller (EMC) project initiated 25 years ago at the National Institute of Standards and Testing (NIST). HAL consists of modular components that communicate with each other by updating, reading, and writing named pins that connect via named signals.

With the Tormach robot, the gap between ROS and HAL is bridged via the open-source hal_ros_control component. This combination allows for a wealth of robot data to be exposed to the user. All process data is accessible via shell commands, data logger utilities, and a graphical scope. All information on the EtherCAT bus is available at 1 kHz and exposed via HAL to ROS.

Setting up a new robot for use with ROS can be quite challenging. Tormach simplifies this process by providing an optimized default ROS configuration for the manipulator. The URDF model is defined, motion pipelines are configured, and trajectory planners and kinematics solvers are selected and optimized so that the robot is ready to work out of the box.

In terms of programming languages, Tormach has chosen Python for its ZA6 robot due to the lack of an industry-standard robot programming language. The Tormach Robot Programming Language (TRPL) uses the Python 3 interpreter and works similarly to other common robot programming languages. This means that almost any Python package can be imported to help with more challenging robot tasks.

In conclusion, Tormach’s development of an open-source robotic manipulator and control system marks a significant step forward in robotics research. By integrating ROS with industrial-quality hardware and offering full access to all system parameters, this platform opens up new possibilities for researchers, developers, and students in the electronics industry.