The Modular Dark Ride project is probably my most ambitious project, though notably it is coming along very well. Due to intellectual property concerns, I have elected not to share the software openly here – as it is the culmination of hundreds of hours of revisions. Recruiters may reach out to jamesradko@outlook.com to request a copy of the code for review. I apologize for the inconvenience, but I don’t want to see the project stolen!
Currently, on the hardware side, the chassis is the main focus. Originally I intended to do a wooden vehicle, but I was motivated to switch to steel to achieve a more commercially-viable result, as well as an opportunity to continue learning to weld! Below is a glimpse at the current frame design, which is based on some trial and error – a.k.a visiting the metal yard, getting some stock, and torture testing it. Of course, I also utilized FEA in SolidWorks to simulate various loads, which has led to the selection of a 1-1/4″ tube over the previously preferred 1″ tubing.
The project from a hardware perspective comprises of the following:
- 24V Electric Transaxle
- The prototype one is from a mobility scooter! The production model will either be a repurposed scooter transaxle, or an AGV drive wheel. They both offer good torque and weight capabilities, and fit the price goal.
- Trackless Steering
- There are a billion ways to do this, for the first model I am utilizing reflective/high contrast ground markings which will trigger sensors that directly drive the vehicle’s steering motor. In a future revision, a PID system or computer vision based solution may be added.
- If there is to be a version 2, I am hoping to (once funds allow) investigate a RTLS package such as pozyx, and swapping to an omni wheel driven platform. This would allow true trackless, using pre-programmed or realtime-generated paths.
- Wireless Server-based Operations
- The dark ride vehicles report their location and other data to a central server, which displays all of it’s contents in a friendly HTML based operator panel, accessed on a wireless network shared by all of the ride systems.
- All the vehicle -> operator and operator -> vehicle communications are piped through this database, keeping things simple and expandable.
- Safety by Design
- Vehicles have to report what time they think it is every 0.5 seconds.
- The server compares the actual time with these reported times, and if a vehicle is off by a configurable amount, the ride will ESTOP.
- In the event the vehicle loses connection to the server, it will ESTOP. Then, as it fails to update its time, all other vehicles will ESTOP.
- Block Zones
- The ride features fully functional block zones! If a vehicle scans into a new zone that is not empty, it will immediately enter a HOLD state. This will disable the motor, and only resume it once the block is reported as clear to enter.
- Until it can enter that block, it continues to mark the block it is leaving as occupied. This prevents collisions.
- Vehicles have to report what time they think it is every 0.5 seconds.
- Economical
- The goal is to make the ride vehicle cost around $1000USD, the majority of which will go to the motor and battery. The computer systems are all based on Raspberry Pi & Linux servers, allowing for cheap, reliable control.
So what is the goal?
I set out to create a platform that leverages modern technology to make it feasible to create a classic dark ride, namely as an alternative to a walk-through haunted house. No, it won’t be a world-class attraction, but it can be a very fun, unique, and new experience for guests! To make this more achievable, the focus has been on keeping costs low by using COTS (commercial off the shelf) technology, and sticking almost exclusively to open-source standards. The code is also quite simple, though it took a year alone to reach that point (in a recent revision it was slimmed down by 200 lines by introducing a new class object).
With the ride system mostly programmed, my focus has shifted from software to hardware now, as well as the “augmentations” I’ve had in work – mainly props triggered by the ride vehicle, and the option to add IR Blasters to make a ride into a shooting-gallery experience. I have a passion for the creation of new guest experiences, and wanted to find a way to bring that at a lower cost. Truly, this was born out of a thought I had whilst at Six Flags; “I wonder why we never see dark rides instead of haunted mazes… It has to be possible.” So I began working on it, and continue to do so today! I anticipate a prototype by Summer or Fall 2022, and pending a park’s interest a 2023 public installation (as a trial run).
Finally, the word Modular is critical to the vision. I’ve written a framework, but it is extremely flexible. Need a different motor controller? Let’s write a python class to handle it, and swap one line of code to use it instead of the default. Need 2 block zones? Or 70? Server doesn’t care, vehicles scan control codes along the track, and the server performs simple logic checks, but the number of blocks will not cause issue – unless two are in the same numerical block! Park needs vary wildly, but this can be adapted – I believe – to meet just about any needs.
Thank you to those who continue to support this project’s development. It is by far the largest project I have taken on and has been an incredibly rewarding experience.