Want to customize your robot interface? A robot HMI is the only option. But, there are a lot of different HMIs. Which one is best?
How do you control your robot? How do you tell it to start a program? How do you load a new program?
The answer is always the same: with the robot’s Human Machine Interface (HMI).
There is a huge range of options for robot HMIs. You can spend a lot of money on a fancy custom system or you can spend very next to nothing.
But, do you really need an HMI? How can you make an HMI without breaking your budget? Everything you need to know is explained here.
What is a Robot HMI?
HMI stands for Human Machine Interface. The name explains it all, really. The HMI is whatever method you use to “interface with” (i.e. control) the robot. It’s really as simple as that.
In industrial settings, we usually use the term HMI to refer to a touch-screen with graphical buttons. They are often used to control Programmable Logic Controllers (PLCs). Some companies specialize in creating customizable industrial HMIs, which can be expensive. However, this is only one of the many different types of HMI.
An HMI can be as basic as a single button wired into the robot’s controller to tell it when to start or stop. An HMI can be as complex as a 3D laser camera setup with a microphone which detects your body movements, makes the robot copy your dance movements, and stops when you shout out a command. An HMI can also be anything between these two extremes.
The main property of any HMI is that it allows you to control a machine. In the case of robotics, this machine is a robot. If the interface does not control a machine, it is not an HMI.
What’s the Difference Between a UI, a GUI and an HMI?
Outside the world of industrial manufacturing, it’s quite rare to hear people using the term HMI. You’re much more likely to hear UI or GUI.
What is the difference between these terms? Not very much, actually. Here are the definitions:
User Interface (UI)
A User Interface is any space in which there is an interaction between the user (you) and the software or machine. In the early days of computers, the UI consisted of a paper reader into which programmers fed rolls of computer code. These days, the most common UI is probably a touch-screen tablet interface. The next advancement in UI seems to be the growing popularity of audio-based interfaces (think Amazon’s Alexa or Google Home).
UI is a very broad category.
Graphical User Interface (GUI)
Graphical User Interfaces are a specific subset of UIs which use icons and visual indicators to allow users to interact with a software or machine. Unless you have printed out this blog post on paper, you are currently looking at a GUI.
GUIs are often associated with software-only products. However, the interface you use to control your robot is almost certainly a GUI if it uses graphical icons, buttons, etc.
Human Machine Interface (HMI)
Human Machine Interfaces are also a subset of UIs. Their defining feature, as I’ve mentioned, is that they are used to control a physical machine.
HI (Human Interface) and UI (User Interface) are just two ways of saying the same thing. It’s safe to say that the machine is probably not going to be controlled by a non-human user — unless it’s Teco the bonobo ape who can use a tablet, although unfortunately, the acronym AI (for Ape Interface) has already been taken by Artificial Intelligence.
Not all HMIs use a GUI. An HMI can also consist of physical buttons, knobs and dials, or some other type of interface like audio recognition. However, we usually use the term HMI to refer to a system with a GUI.
The 4 Common Types of Robot HMI
There is an almost infinite number of HMIs for robots and there are new types appearing all the time. However, unless you’re involved with robotics research it’s unlikely that you will want to control a SCARA robot with an Xbox Kinect sensor. You want something a bit more reliable.
There are four types of robot HMI that are used most often in industrial settings:
- Basic Hardware Buttons — You don’t get much simpler than a button attached to the digital inputs of the robot controller. This type of HMI is reliable enough to be used for emergency stop buttons, but it is not very flexible.
- Robot Teach Pendant — Many robots come supplied with a teach pendant. These usually include some sort of GUI which you use to program the robot. The main problem with these — in terms of HMI design — is that they are not very customizable. You might be able to customize a few buttons or create a pop-up but the elements of the GUI are usually fixed.
- Third-party HMI Panel — One option is to invest in an HMI panel from a third-party company. These are basically hardy touch-screen tablets. You can lay-out the GUI elements yourself using some sort of designer software. The main problem with these is that they are expensive — easily upwards of $3000 for the panel alone.
- Computer GUI — The most flexible option is to create an HMI through a computer. It’s not quite as handy as either the teach pendant or dedicated HMI panel, but it is flexible and low-cost.
How to Make Your Own Robot HMI
It is quite straightforward to program your own robot HMI, as long as you pick the right tools. The key is to pick a system which allows you to easily program the GUI as well as programming the robot. If you don’t want to spend lots of time and money on a third-party panel, the best option is to make a computer GUI and link it to your robot SDK, like RoboDK.
A lot of the professionals that use RoboDK create their HMIs is Visual Studio with C#. The RoboDK API integrates easily with C#. This means you can quickly create an HMI which directly controls your robot.