In this exclusive guest article, Kent Lennartsson, research manager at Kvaser, highlights a crucial technology – reliable, hassle-free controller communication
A “controller area network” – or CAN, also known as a CAN bus or vehicle bus – is most well known for its use in automotive design.
In this system, a vehicle bus allows microcontrollers and other devices to communicate with one another without the need for a central computer.
This concept is akin to our use of the Internet of Things in everyday life.
This means when you’re driving down the highway in your Audi R8, your cruise control system can quickly communicate with your anti-lock brakes, disengaging the gas pedal and activating emergency brake assist, helping to make a fast stop if debris drops from a truck into your lane.
In addition, the straightforwardness of these systems means your mechanic won’t need a PhD to make repairs. The need for similar standards of simplicity and reliability among MCUs are also greatly desired when it comes to robotics.
The advantages of CAN in robotics
Like vehicles, robotic systems utilize a decentralized architecture in which an array of sensors and actuators are connected to multiple processing units.
And, like vehicles, robotic functions require rapid communication of messages back and forth among these units for the utmost functionality.
While some consider fieldbus communication systems, like EtherCAT, an appealing option for the highest real-time speeds, the complexity of the system can make alterations or repairs a process that requires a total reconfiguration of the system.
Instead, designers often turn to CAN, thanks to the communication protocol’s relative simplicity and unparalleled reliability.
CAN is simple
In a CAN system, alterations can be made simply. Instead of a total reconfiguration required in most other robotics communication protocols, CAN nodes can be added or removed, even in a running system.
And the physical cable requirements are far less, with some systems capable of using a single wire for communication.
Additionally, the universality of CAN means that any CAN microcontroller will communicate with any CAN hardware. This makes upgrades to future CAN systems an easy achievement.
CAN is reliable
An even bigger benefit than CAN’s simplicity is the communication protocol’s reliability. CAN has built-in error detection and control, with automatic re-transmission of corrupted CAN frames without the need for software support.
If CAN software malfunctions, communications will not be affected because hardware and software function independently. This makes the CAN protocol very predictable – a great benefit to those working toward smooth internal system communication.
CAN in action
Designed by Cynthia Breazeal, the director of the Personal Robots Group at MIT, in conjunction with Xitome Design, Nexi, an MDS – mobile, dexterous, social – robot, was designed to further human-robot verbal and non-verbal communication.
Named by Time magazine as a 50 Best Invention for 2008, Nexi has great implications for improved uses of these complex, automated devices, including elder care, basic health-related services and even education.
When designing this system, Xitome chose CAN as Nexi’s communications protocol.
As Co-Founder Kailas Narendran says: “It’s a very robust and fast hardware protocol, with built-in error detection and re-transmission, so good for noise immunity performance. In addition, the hardware implementation is relatively simple and compact.”
While the world of human-robot communication is still in the research phase, CAN is also the communications protocol in robots used by France’s energy industry.
Robots, designed by SRA SAVAC, monitor water levels in thousands of steam generators by entering these heated tubes to record images and video for analysis.
CAN’s master/slave topology connected by a twisted pair in parallel results in a highly reliable, low-cost cabling solution.
According to design engineer Benjamin Gratton, the choice to use CAN was easy.
Gratton says: “CAN has a well-developed ecosystem and is supported by many digital signal processors with built-in CAN controllers nowadays, making embedded system developments such as ours much simpler.”
This hassle-free, cost effective reliability makes CAN an appealing controller communications protocol for robotics engineers and designers around the world.
More information on how CAN compares to other communication protocols, including Ethernet, can be found at Kvaser.