This is the third on the series of posts about the AMR-One Project. Today I will talk about architecting the solution.
In the previous post I described the requirements, so we know now what are the functions that the system should accomplish. But before defining the tasks to accomplish these requirements, we need to have an idea of how are we going to build the solution. For that, some people tend to create more technical requirements, in the language of the developers. I prefer to spend some time working on a pre-design of the whole system, from the mechanical, electrical, and software sides, involving representative people from each of the disciplines. It is essentially an iterative process, but having a basic architecture already opens minds to understand the tasks needed to build the system.
When we have this general pre-design of the system, we could go further on the class definition for SW, materials for mechanics, or technologies for hardware.
Let's see as an example how this architecture has been defined in the AMR-One project.
The AMR-One case
The mechanical approach
The hardware architecture
- Safety PLC (Flexisoft)
- Low-level controller (LLC)
- High-level controller (HLC)
- Cloud base system
- The Safety PLC is responsible for ensuring the safety measures are executed reliably. It uses several inputs (Safety Lidar and safety stop buttons) to determine when there is a dangerous situation and the system should stop. There is therefore a program inside this PLC to ensure this behavior.
- The Low-Level Controller (LLC) is responsible for the Low-Level functions, which are the following:
- Sensory reading
- Traction motors PIDs controls
- Velocities (linear and angular) conversion into inputs for the PIDs controls
- Magnetic guidance
- RFID tags reading and execution of actions
- Pinhook control
- Buzzer control for warnings
- Device HMI data
- ROS publisher to connect with HLC/Cloud Monitoring
- ROS publisher/subscriber to connect with HLC/ROS navigation (AMR-One v2.0)
- The High-Level Controller (HLC) is responsible mainly for:
- Communication with the LLC
- Communication to the cloud
- User interface (AMR-One v2.0)
- Localization, navigation, and mapping based on ROS (AMR-One v2.0)
- The cloud-based processing system is not described in the hardware architecture because it would not require additional hardware from us.
No comments:
Post a Comment