Novasinergia 2022, 6(1), 95-104 96
1. Introduction
The CAN protocol is widely used in several applications, from industrial, medical, and
robotics (Di Natale et al. 2012; Seoane et al. 2021). The CAN topology is bus-type and provides a
high-speed serial interface of up to 1 Mbit/s. This protocol allows sending information under the
multi-master and peer-to-peer configuration. CAN is a low-layer protocol, so it is generally used
with the CANopen protocol to add higher-layer functions (CAN in Automation (CiA) e. V. 2011).
The popularity of the CAN protocol is mainly because of its: simplicity, reliability, low cost, and
real-time performance (Bosch 1991; Farsi, Ratcliff, and Barbosa 1999).
Currently, some manufacturers provide ready-to-use communications protocols for diverse
applications; for example, Maxon Motor produces high-precision motors, gear heads, and
controllers for different purposes (Maxon 2022) and provides software with different functions for
CAN communication. The ready-to-use software is great for speeding up the development process
and reducing implementation time. However, some applications demand specific requirements
from the control and communications system. In this case, a better approach is to develop the
software according to the application's needs.
Several up-to-date research papers focus on exoskeleton development and use hardware from
Maxon Motors and CAN protocol for communications. The authors of (Lu et al. 2014) developed a
single-leg exoskeleton with four DOFs (Degrees of Freedom). Its joints implement brushless Maxon
DC motors (EC45), while its software uses CAN and CANopen protocols. The authors of (Pan et al.
2018) present an exoskeleton for lower limbs with four joints: hip and knee. This device uses Maxon
motors and, through CAN, communicates the master controller with the slave controllers.
Furthermore, the work reported in (Yuan et al. 2019) presents an exoskeleton for lower extremities
with eight DOFs: four actives (using Maxon motors) and four passives. Its communication system
allows the monitoring, the analysis of data, and the adjustment of operating parameters in real-time.
This research compares two versions of a communication system based on the CAN protocol for a
lower limb exoskeleton called ALLEX-2, which results from several research projects at the
University of Cuenca. The first version of the communication system used only the CAN functions
provided by Maxon Motor, resulting in a system with acceptable performance, although not
sufficient for the requirements of the exoskeleton. On the other hand, the second version involved
the development of proprietary software to achieve performance as close to real-time as possible.
With this latest version, the communication system showed a substantial improvement in the times
for reading and writing tasks. This it was possible to meet the needs of the robotic device.
This document is organized as follows: Section 2 presents the methodology of this study. Section 3
presents experimental results and a discussion of the main findings. And finally, Section 4 presents
the conclusions.
2. Methodology
This work presents the development of the base functions for the software for the
communication system of the ALLEX-2 prototype. Figure 1 shows the CAN architecture of the
ALLEX-2 prototype. Seven nodes are connected to the CAN bus, one master node with a Raspberry
Pi 4, and six secondary nodes with the EPOS4 50/8 (Easy Positioning System) devices. The initial
node of the bus is node 3, and the final one is node 6. This architecture allows the communication of
a distributed control system, where the master node generates the movement trajectories of each
joint and sends the commands to the secondary nodes. The main objective of the CAN