by Rafael Marengo
As the ecosystem for autonomous mobile robots (AMRs) gets more and more complex, and as the design complexity of robotic systems also increases, efficient movement remains at the core of the architecture.
A previous blog on communications discussed how mobile robots need to perceive their environment, communicate with several internal components, and make timely decisions. These factors combine to enable intelligent motion control as summarized in Figure 1. Smarter and more efficient motor controllers allow for less energy waste, which is a key factor since mobile robots are battery operated.
Figure 1. Core blocks for mobile robot intelligent motion control
Mobile robots can serve various applications and move different types of loads. Therefore, they vary widely in size and shape, and so do their drive systems. Usually, the design of such systems requires a few steps to be taken. Let’s walk through a simplified scenario to describe how the decision workflow could be done. Imagine you’re designing a robot that needs to move a payload of mpayload KGs with an AMR that weighs mAMR.
Figure 2. Example scenario for AMR operation
The first step is to understand the application and constraints of the project. Since the beginning of the design is mostly mechanical, we won’t dive into the specifics here, but for the purpose of this example, the following needs to be considered:
From these considerations, it is possible to calculate the motor specifications for this application, starting with the inertia for the vehicle.
This inertial measurement is considering a drive straight out of the motor shaft, if we have a gearbox, where GR is the gear ratio. The inertia seen by the motor is called reflected inertia and can be calculated by:
Next, we need to calculate the acceleration torque. To get to maximum speed, we need to accelerate a load as it is shown in Figure 3, which relies on the permissible inertia of the rotor.
Figure 3: Speed Profile of a Motor in an AMR application
The acceleration torque can be calculated by:
Where Jm is the reflected moment of inertia and A is the acceleration rate.
We then need to calculate the load torque (TL), which can be calculated using:
Then we can calculate the total torque.
There are many other parameters to calculate for a mobile robot design, but the rest are outside the scope of this blog. Next, we will consider how to control the motor. There are several methods, but one of the most efficient ways of controlling Brushless DC motors is through Field Oriented Control (FOC).
FOC leverages real-world current and rotor position information to drive electric motors using orthogonal applied current. It generates a precise amount of torque by controlling the current needed to generate the target torque and phasing the magnetic field of magnets within the rotor. Thus, FOC can manage the torque of 3-phase motors with high accuracy and bandwidth.
FOC works by calculating a vector for the orthogonal current IQ using an accurate measurement of the position of the rotor. It then uses the current ID to control the magnetic flux inside the motor. Finally, we use two proportional and integral (PI) controllers, a torque controller which controls IQ and a magnetic flux controller which controls ID. A more detailed explanation can be found here.
A motor control solution needs to fit the requirements of the project—not only the motor’s power requirements but also the interface, safety requirements, efficiency, and more. The challenges could be quickly reduced by choosing solutions that will offer the flexibility needed for the design.
For example, ADI’s TMCM-2611-AGV module is a dual-axis servo drive platform for 3-phase BLDC motors running with up to 14A RMS at +48V, which has been designed for motion control in mobile robots. A few of its benefits include:
Figure 4: TMCM-2611-AGV Block Diagram
To learn more about Analog Devices solutions for motion control, visit analog.com/intelligent_motion_control