OEMs typically build automated guided vehicles (AGVs) for industrial use. A typical market application is selling AGVs to an automotive manufacturer that will use the AGV to move parts or materials from point A to point B. In these types of applications, safety considerations are typically focused on how to prevent the vehicle from running into another vehicle, an obstacle, or personnel in the manufacturing environment. But Prism Systems, a Mobile, Alabama-based Siemens Solution Partner, was faced with quite a different AGV application challenge: the same base AGV was to serve as the basis for an entertainment ride in an amusement park.
For this use, the payload, instead of materials, was people: adults and children loaded onto the ride, and the function was providing an “experience” in addition to a mechanism moving something from point to point. This situation created a number of challenges in software and control system design.
Safety in Entertainment
Safety in entertainment takes on an entirely new meaning, especially in relation to amusement parks. The amusement park has been heavily involved in protecting the health and welfare of customers since the early 1960s, when parks began gaining dramatically in popularity. All their attractions and automation focuses on moving people around or providing experiences for them. There are plenty of dangerous situations to consider: things moving around external to vehicles, people on vehicles—a lot of things that need to be accounted for that typically aren’t seen in industrial applications.
Being at the forefront of entertainment application development, many in the business generated homegrown safety solutions that had worked for years; so they’ve been slow to move to newer safety systems. But as safety becomes more prevalent in industry, and as organizations have been founded to build standards for safety, different countries are enforcing regulations that weren’t in place before. Europe is leading this development.
“While these safety organizations haven’t established a certification for entertainment, they’ve strongly hinted that it is coming,” says Keith Jones, president of Prism Systems. “This is forcing amusement companies to begin looking at how they’ve been doing things and what changes must be made to those processes, primarily because a homegrown solution cannot become certified.”
Designing Safety into a Free-Ranging AGV
Automated guided vehicles typically work in one of two ways: free ranging or on a fixed path. Fixed-path AGVs are typically used for simple tasks, and often use magnetic tape or wire guides to keep them on their paths. Free-ranging AGVs are a bit more complicated. They may use lasers (e.g., rotating lasers with known reflecting targets), inertial navigation (e.g., gyroscopes, encoders, RFID tags), and typically employ an onboard map to navigate their routes. They also may have onboard safety laser systems that look for obstacles in their path in order to stop and avoid collisions.
For this application, in which free-ranging AGVs moved in groups across the entertainment environment, the inertial method was used. Multiple encoders were attached to each of the AGV’s wheels; these measured revolutions of the wheels and translated that into distance. Gyroscopes were used to know the vehicle’s orientation. Counts were accumulated to calculate where the vehicle was in the course of the ride. Since this accumulates error over time (e.g., due to wear, slippage, and any number of other factors), RFID tags were embedded in the floor for dead-reckoning correction.
When an RFID tag was traversed by the AGV, the error was zeroed out, then the AGV would move on to the next zone with a high degree of confidence in its absolute location. This process also enabled vehicles to move faster and closer to one another because of accurate positioning.
Each vehicle has a PC-based control system that interfaces to different components to determine position and propel the vehicle. “A Siemens 319F processor was used because it was one of the fastest PLC-based processors available at the time of the project,” notes Jones. “It provides the external control of all the vehicles.”
In the ride, there are a lot of AGVs moving about that only know their own position. The 319F processor tracks the location of every vehicle and tells it where it needs to go.
Communications to the vehicle happens via a wireless system. An interface transmits wirelessly to the AGVs, asks them where their current position is so that data tables can be updated, then tells them where they need to be going next.
Also attached to the processor are a number of I/O racks that control a lot of equipment, peripherals to the system that are essential to the entertainment ride and the safety of the guests. The ride operator can use HMIs to see the status of all equipment, where the vehicles are, and make corrections or stop vehicles if necessary.
“Since the PLC is controlling the location of all the vehicles in the attraction, the faster the scan time for the PLC, the more accurately we can read the position of the vehicles and send new location data,” Jones points out. “This improved accuracy allows vehicles to be closer together and move faster.” Consequently, Prism ultimately determined to transition from the original 319F to the Siemens 647 WinAC RTX-F controller.
“While the 319F is an extremely fast PLC in terms of industrial controls, by moving to the WinAC product and a Windows-based application, we’re able to throw more processing and memory horsepower into it, and further reduce the processing time,” says Jones. The improvement in scan time dramatically improves the response of the AGVs.
Another aspect Prism liked about the WinAC product was that it is a soft PLC that is safety rated. This is achieved by using a real-time operating system (RTOS) underlying Windows, which means that the PLC software is actually running on top of Windows, but running in the RTOS kernel. “This allows us to separate communications and errors in the operating system from the operation of the PLC, so in the event that Windows were to have an issue (i.e., go to ‘blue screen’), the WinAC product will continue to run,” explains Jones.
Even network communications are handled outside the operating system, which allows communications and processing to continue. It’s another thing that enables this PC-based product to be safety rated. Other advantages Jones cites include:
- Use of Step 7 or Portal, whichever development environment is preferred.
- No modifications are necessary to enable it to run on the new platform—a process designed to run on a PLC can be easily migrated to a soft PLC (and back, if necessary).
- Operating speed is around 20ms, remarkable considering the amount of processing and complexity of application.
- It shows extremely high reliability.
For this project, Prism used the TIA Portal as the development environment. Benefits of this included its unified environment, diagnostics, and cross-referencing capabilities. “The portal software was a huge boon to this project, where we’re dealing with extremely complicated structures, because it allowed us to go in and look at the data and build custom data tables where we could monitor things,” says Jones. “In this case, we had more than 800 blocks of data.”
Whenever you’re working on a complex system, it’s important to create a good design. In a safety related application, this is extremely vital. You need to work through and determine all the contingencies and how you will respond in every scenario you may encounter.
“We prefer modular programming,” says Jones. “We like to separate things out into reusable components. In essence, we’re programming a PLC more along the lines that you would do higher-level software.”
In the past this was difficult to do; but Siemens and other manufacturers are embracing the fact that people want to program in common blocks and share this so that code is tested once and used many times. So documenting the procedures and processes is paramount.
For this project Prism chose unified modeling language (UML). UML is geared towards software development, but also works well for PLC programming, especially in terms of state machines or sequence diagrams. “We designed everything before any code was written; we tried to see every possible scenario we could run into, so we could have responses outlined,” says Jones. This was done as a team effort, with frequent reviews throughout the process to make sure that developers weren’t the only set of eyes looking at the code.
In the end, hundreds of pages of UML diagrams dictated how the system would perform. For example, a class diagram showed how the different pieces would communicate with one another, how logical decisions were being made.
To simplify the class diagram, consider that there are four main components within the program:
· Vehicle interface manager
· Zone manager
· Vehicle manager (vehicle and group)
· Station manager
Each of these groups is actually a logical section within the same PLC program. Each one has particular duties it takes care of and communicates in specific ways to the other groups.
The Vehicle Interface Manager speaks with the vehicle. It handles all the logic and communications to the vehicles themselves. Communication is wireless through custom packets. Messages are buffered and have extensive error checking. An important requirement: if malformed packets are received or communications not timely, the protocol is to stop the vehicle. In contrast to industrial applications (e.g., where redundancy is built in, and the effort is to try to run through problems), the amusement park always defaults to stop.
The Vehicle Interface Manager is always requesting where an AGV is.
The PLC queries each vehicle, determines where it is, where it needs to be, then sends information back to the vehicle (e.g., commands, route, stop, open doors, etc.). Communication must be timely because the vehicle only knows its trajectory for about six to eight feet.
The PLC is always calculating where every vehicle needs to be in the next processor scan. (That’s part of the reason the scan time is so important.) All this high-level management is handled in the PLC.
The Vehicle Manager tracks both the groups and the vehicles, and handles all functions associated with each. This ride has multiple vehicles that travel through the attraction as a single group. So they start together as they’re dispatched; those vehicles always stay together. The software must track the group, as the group has group-level purposes in terms of how it handles each of the entertainment stations it goes through. Also, within the group each vehicle has different responsibilities, and vehicles respond independently.
The Station Manager handles simple logic (e.g., advancing, doors, charging, station gates) but contains the highest level of safety components, such as pressure mats, laser scanners, and vision systems, because it is responsible for knowing where people are.
The Zone Manager is the section of the logic that keeps track of all the vehicles. In essence, it is one giant database implemented in a PLC. It has all the information about each vehicle in the attraction: where it is located, what group it is associated with, what route it is taking. It uses this information to zone and block out different areas to make sure vehicles won’t collide with one another.
In an amusement park ride (roller coasters, dark rides), zone blocking/protection is the typical way of maintaining a safe ride environment. The attraction is divided into lots of small zones. As a vehicle moves into a zone (or in this case, a group of vehicles), they “claim” that zone. This means that no other vehicles can move into it until the zone is released.
In the case of Zone Manager, it works all the way back to the release order from the gates. So as the people get on the ride and are prepared to take the vehicle in, the Zone Manager waits until the first group of vehicles ahead of them has cleared the zone that they’re in and then gives a clear to release back to the vehicle (i.e., group of vehicles) and then it takes off.
The Zone Manager is an integral part of safety for this ride. While it’s not done as a traditional safety process in the PLC, it contains very elaborate algorithms to maintain a safe ride environment and ensure that vehicles never collide with one another.
Have an Inquiry for Siemens about this article? Click Here >>