Exploring Controller Area Network (CAN) in Robotics
In a robot system, it is necessary to have efficient communication between a variety of components and devices to perform various specialized tasks seamlessly. A Controller Area Network (often referred to as CAN or CAN Bus) is a message-based protocol that is particularly useful for this purpose. In this article, we will discuss how CAN facilitates communication in robotics, its benefits, and its use in real-world applications. Additionally, we will explore the Mobile Robotics VMX/Titan Workshop Kit from Studica Robotics, a powerful educational resource designed to explore CAN technology with hands-on learning.
What is CAN (Controller Area Network)?
Controller Area Network (CAN for short) is an integrated system using a specialized message-based serial communications protocol that allows sending messages between multiple microcontrollers and other devices within a local closed network. It was originally developed by Bosch for in-vehicle networking. Having been adopted by the automotive industry for some time now, this communications protocol is sometimes referred to as “the vehicle bus standard”. It has also been adapted into several other different embedded and industrial applications as well.
What is CAN used for?
CAN is now ubiquitous in all automobiles and is found in all modern vehicles. A car's dashboard is a great illustration of the result of utilizing the CAN bus. You will notice your car's dashboard shows you data from multiple subsystems throughout the car communicating with each other to provide relevant data to the driver, such as speed from your tires, brake pad life, battery voltage levels, oil levels, and RPMs from your engine, gas supply level from your gas tank, etc. All this information is crucial for vehicle performance and driver safety. CAN allows all these components of your vehicle to talk to each other very rapidly and efficiently. There is usually a central controller called the ECU, or Electronic Control Unit, which acts as the central brain of the system. Think of how your nervous system communicates important information to your brain, this is similar to how CAN-based technology works.
Benefits of CAN-based Networking in Robotics
Before the introduction of CAN and its use in the vehicle control system wiring, the various signals from many controllers and sensing devices required bundles of wires to carry the signals to and from these various vehicle sensing and control units. Compared to the use of the CAN bus which utilizes a high-speed twisted pair wiring system, this reduces the total amount of wiring necessary for all these components to communicate. In the fields of robotics and automation, CAN is a widely used communication protocol because it is robust, flexible, reliable, affordable, and easy to implement. CAN messages follow defined arbitration rules to ensure that the highest priority messages are sent and received first, both to and from the connected devices, such as sensors and controls or actuators. Using a single two-wire, twisted-pair structure, it offers easy installation, and expansion, and is easy to maintain. Since it requires fewer cables and connectors, single points of failure are significantly reduced. It is also less prone to electromagnetic interference compared to other protocols, as it works on differential signaling. Since all signal processing is handled by the CAN transceivers either built into the MCUs or as dedicated CAN devices, application costs can be kept on budget. Another benefit is standardization, since the CAN bus communication is an industry-standard protocol, it allows a variety of robotic devices and components to communicate with each other seamlessly even if they come from different manufacturers.
In using CAN in a robot control system, to perform efficiently, the various devices of a robot must communicate with one another. The Controller Area Network allows for connections between these simple devices, such as sensors and actuators, and higher-level devices, like microcontrollers for master communication and control. As we’ve seen, CAN-based systems are easy to implement and very reliable. The CAN bus wiring is daisy-chained between each device, with an input and an output connection. Each device on a CAN bus is called a node. These nodes can be easily removed or added by linking or unlinking the device from the wiring harness. No other reconfiguration is required. So making changes is relatively easy. The CAN protocol also has built-in error detection and correction making it very predictable and dependable. Another benefit of CAN technology is that it is universal, with any CAN hardware being able to communicate with any CAN microcontroller it makes it easy to upgrade if necessary.
CAN in Robotics - Educational Resources
If you want to teach and demonstrate the Controller Area Network to your students, there is a Mobile Robotics VMX/Titan Workshop Kit available from Studica Robotics. This is a great solution for exploring this topic. This robust and powerful robotics training kit allows you and your students to complete a variety of activities, including:
- Building a basic robot including both mechanical and electrical builds
- Programming in Java or C++
- Configuring and testing a camera
- Completing core programming with sensors and motors
- Designing a basic robot control system
Mobile Robotics VMX/Titan Workshop Kit
The Mobile Robotics VMX/Titan Workshop Kit is an ideal robotics training solution for researching, testing and teaching robotics. This kit can be used to test and practice programming the various components included, essential in robotics control systems. The VMX Robotics Controller is also included. This controller utilizes CAN-based networking to communicate with different subsystems. With the built-in CAN bus, the VMX Robotics Controller can send control messages, receive input messages, and perform certain programmed routines based on the information received, which is essential for performing various autonomous routines. This Kit provides a good starting point for understanding and programming robot motion routines given specific parameters. In addition to the items listed above, this kit also includes the Titan Quad Motor Controller, omni wheels, an Ultrasonic Distance Sensor, an IR Range Sensor, a Multi-Mode Smart Servo, and a Maverick 12V DC Gear Motor with encoder. View the complete list of parts included.
Practical Application of CAN in Robotics
As a real-world practical example, let's say you have a robot fitted with a camera for vision. This robot may be tasked with locating a specific object, retrieving it, transporting it, and then delivering it to a designated location. How would you achieve this? First of all, the VMX Robotics Controller must communicate with the Titan Quad Motor Controller to keep the robot in motion in a specific direction until the desired location is reached. The IR Range Sensor reads the distance information and makes that data available to the VMX Controller when requested so the robot knows when to stop or take other action. When it is time to pick up an object, the VMX Robotics Controller can notify the Multi-Mode Smart Servo to engage a grip mechanism to pick up or put down the object. All these various device sources may communicate via the Controller Area Network or other specialized communications bus to provide the data that the robot uses to make decisions based on the programmed routines.
Controller Area Network in Action!
This video shows a CAN-based, autonomous mobile robot in action at the 46th Shanghai WorldSkills Mobile Robotics Competition. This robot was built with the WorldSkills Mobile Robotics Collection Shanghai 2022 from Studica Robotics. It demonstrates how to safely complete several tasks such as reading an order table using machine vision and managing the distribution of medications in a hospital setting. As you can see the robot must traverse the playing field to reach its desired location. This shows us how the VMX Robotics Controller works with the Titan Quad Motor Controller to travel in specific directions while avoiding various obstacles to arrive at the desired location. In CAN Bus communication, these devices communicate data and messages with one another in frames. These frames allow the VMX and Titan to reliably process and send messages and data to one another. Once it has reached this location, the robot subsystems are triggered to perform their programmed tasks. In this example, vision is being used to identify which objects to pick up and where to move them. We see that the robot corrects its position so it can properly pick up the gurney, and then the VMX communicates to the Titan to move to a different location once again to complete the task.
In conclusion, the Controller Area Network (CAN) has innovated the communication between diverse components in a robotic control system. Due to its adaptability and efficiency, CAN has evolved from an automotive industry standard to a widely embraced protocol with many different industrial applications. The many benefits of CAN such as reliability and simplification of wiring complexity are useful in robotics and automation. The Mobile Robotics VMX/Titan Workshop Kit from Studica Robotics is a comprehensive educational resource that harnesses this CAN technology for hands-on learning.