Tuesday, February 24, 2009

Part 2.5: A formula for floating.

I tried to challenge myself by designing a formula for perfectly continuous airtime, as discussed a little bit over in part 2. I used a program called 'Elementary' which designed to help make elements for nolimits rides. The program runs a 512 iteration loop and can plot formulas directly to nolimits track elements. Oddly enough, I did most of the work on the formulas 3 days ago and thought it wouldn't have much relevancy to our dynamics stuff, as it was all physics energy balance stuff. I was very surprised when we covered almost the exact same formulas the next day (actually, it was kinda creepy). Anyway, here's an overview of the velocity update.

Here's a reference pic for angles, axes, and various values.


For starters, we need to get a few differential values established.
Distance traveled: dS=V*dt
Vertical Movement: dY=V*sin(Theta)
Horizontal Movement: dX=V*cos(Theta)

Ok, let's move on to the energy balance parts. As always:
T(1)+V(1)+U(1-2)=T(2)+V(2)

This form works well for final locations, but isn't
as helpful for an iterative program like mine. I'll update it accordingly.
0=dT+dV-dU

Unfortunately, I can't use our convention for potential and kinetic terms as V is taken as velocity and T is taken as a global time constant. I'll use P for potential and K for kinetic. So:
0=dP+dK-dU

Let's get our energy updates now. Note that we've divided each term by mass (nice how that works out all the time):
Change in potential: dP= (dY * g)
Change in non-conservative forces: dU= -(s*g*N)
We'll talk about what the value of the normal force actually is in a little bit here.

Right, now for the velocity term. Integrating dK=dU-dP, we get K=U-P. Taking K from this and knowing K=1/2*V^2, we get
V=Sqrt(2*K)

This is essentially the energy balance I did for the program, with a little reworking to better work with Elementary.

Whoo, now we just need to calculate our rho for desired g force. To simplify things, I assumed a constant g force (although it would be possible to update my formulas with a changing value of g over time, I didn't really want to go that far into things). Here's the calculation for rho:
Photobucket
Finally, we need to update our theta. We know the arc length struck is r*alpha. Alpha is the angle struck by ds (the change in angle from movement along the path, not our theta from before. Luckily, however dAlpha turns out to be dTheta. So, knowing our differential arc distance (dS from before):
dTheta= -(dS/rho)

Alright, now our math's all set and we're good to play around. Here's the final elementary formula file, and here's a direct file link to download Elementary itself, if anyone feels like playing along. To open the formula, install and run Elementary and press ctrl-f. Open my formula and set the divisions box to 256 or 512 (more divisions=longer element). Finally, click the 'Force number of Segments' box and choose 8 or above. Unfortunately to actually ride the elements generated you must have the full version of Nolimits, but you can at least see shapes. I'm pretty satisfied with my work on this formula, and the resultant elements work well.

Anyway, to conclude here's a pretty airtime hill generated by the program.
Photobucket

Update-5/1/09
After speaking with Rhoads and Krousgrill we finally got the formula to accurately work. Turns out it's more accurate to consolidate the code to 4 lines. Here's the new iterative code, if anyone's interested:

;Theta updater
theta= theta - (v*dt/(v * v / (cos[theta]*EG - gwant*EG)))
;Velocity Updater
v = SQRT[2*(Energy - (v*dt * Abs[gwant*EG] * 0.0275)- ( Y * EG))]

;Y position updater
Y= Y + v * sin[theta] * dt

;X position updater
X= X + v * cos[theta] * dt

;We hate Z
Z= 0

I also added a switch so the gforce can be varied over time, meaning complete hills can be generated. If anyone's interested I can send you the new formula and show you how to use it, just send me an email. Anyway, thanks for reading!

Monday, February 23, 2009

Part 2: Airtime!

Alright, let's move on to part 2, airtime hills. These elements are specially designed hills to drop the normal force of the coaster seat on its riders to zero (or, as we'll see later, into negative forces). Weightlessness is a feeling that fascinates many. Falling is scary but exhilarating, providing an appearance of danger through speed and sensation. The feeling of weightlessness derived from such a fall became very popular, and was one of the main attractions behind many of the rollercoasters from both yesterday and today. Airtime hills were some of the first elements developed for coasters as, once a ride got up in the air, it made perfect sense to drop back to the ground. The first airtime hills were based more on experimentation than dynamics problems, but modern coasters take complex approaches to providing perfect hills. Before we add such a hill to our ride, I'll give some background on airtime hills over time.
The year is 1976, and Arrow Dynamics is building the first truly modern coasters. Each has a series of elements, usually culminating in the popular double corkscrew. Now, as an Arrow Dynamics engineer, how would we go about designing an airtime hill? The norm for the day were constant radius curves attached in series. A small curve up, a long arc pointing downwards to create airtime, and a small curve bringing the train back to the horizontal. From our coursework, we can easily calculate the speed required to float over the crest of a hill given a path curvature or desired force. I'll walk through a relatively simple example. We'll assume I can target a speed of 15m/s (54 km/hr) at the top of our example curve. What radius should we create for perfect weightlessness? It's easy enough, as shown here:
Photobucket
Now that we have a suitable radius, I'll build a short test track with the specifications above. Here's an editor side view of our hill. You can see the three separate sections of the hill. I've added 2 support columns to further illustrate how the center section has a constant radius.
Photobucket
Now let's simulate our track, using the track and train style of the time. Riding in the middle of the train, we can see that, at the crest of the hill, we have a perfect 0.0 vertical g reading. This is the weightlessness we were looking for! Note that, because the train does not travel at a constant speed over the curve, the g force will vary over course of the hill.
Photobucket
We also note that, even in the position we based our radius calculation off of, the front of the train holds a -.1 force, as shown below:
Photobucket
Why the difference? The entire train is constrained to move as a single unit, and the speed of the train as a whole over the hill is higher when the front and rear of the train traverse the top. This is due to a lower center of gravity for the entire train (translating to higher kinetic energy). For the first half of the hill, the front of the train will get less than the target g force, having stronger airtime. However, on the second half, these seats actually experience the opposite effect, having slightly more than 0 g. Such differences are less important import for smaller trains but a critical issue for larger ones. From this idea, it's clear that the front and back seats of a coaster will have slightly greater airtime spikes but will also experience times where airtime is less strong. The middle seats will have the most consistent airtime. This principle, of course, only applies to symmetrical elements.

Alright, now that we've designed the perfect airtime hill for 1976, why don't we just put it in our ride? Well, for starters, this element is slightly painful. The change from positive gforce in the first section of the hill to weightlessness in the next is extremely abrupt (with, in fact, absolutely no transition between them), leading to a jerky, unnatural motion. This jerk is best illustrated in this onride video of Cedar Point's Corkscrew ride (it's right after the lift hill). Note the instantaneous shift from an upwards slope to the airtime section. In order to keep our vertebrae in their proper order, we need to move to the current age of design.

Modern airtime hills contain several improvements over their forerunners. First and foremost, they are parabolic in shape. The radius of the airtime section decreases as it nears the crest, allowing for a continuous stretch of the target weightlessness. The curve tightens as the train slows, keeping the acceleration of the passengers the same. Modern hills also feature sweeping transitions from positive g force to weightlessness, giving a smoother ride and a much safer one. For our track, I'll use a technique developed by a pair of German students called 'force vector design.' This system inputs a series of g force formulas and time intervals, and generates a perfect ride path based on the desired effects. Unfortunately, beyond this basic concept it's a bit too hard to formulate a model for the hill, mostly because our dynamics-fu is not yet advanced enough. I don't have experience relating multiple dynamic iterations such as is needed here. I am, however, currently working on an attempt at this. A new post will follow sometime this week, and hopefully together we can get something working. For today we'll just skip ahead to the result; a modern, parabolic airtime hill creating a constant -0.5 g force. Wait a minute, you may say, how does a coaster experience such a strong negative force? What's to keep the train from flying and crashing into the ground? The solution is a complex wheel assembly involving, in the case of our Intamin train, 6 wheels per point of contact. The two wheels underneath the track can take the force created by the rider's upward acceleration, keeping the ride on track. Here's a real-life example on the world's second fastest coaster, Top Thrill Dragster:
RCDB
So why do we want less than weightlessness? The sensation of 'ejection' airtime, or an experience of being thrown from the train causes an even stronger force and feeling of danger. This type of airtime is my absolute favorite. A major concern for ejection airtime is the restraint system; it needs to be comfortable and extremely reliable. The system needs to contain the passenger in the car without bruising while hopefully allowing freedom of movement. Luckily, Intamin trains are among the most comfortable in the business, utilizing either a unobtrusive 't-bar' as seen in Top Thrill Dragster above or a newer OTSR (over the shoulder restraint) design which is still quite comfortable. Here's Hershey Park's Fahrenheit with such a design.

Alright, after justifying our hill, let's see it in action! Note again that our g force is off the target because the front car has passed the crest of the hill.
Photobucket
Hooray, we've got ourselves a solid element. This is, however, just one example of a modern airtime hill. We could have used hills with varying amplitudes and speeds to create a variety of effects. Here's an example of a slower hill which holds its airtime for a longer period of time. This is one of my finished rides, for the final round of a design tournament (I ended up winning).
Photobucket
There also exist speed hills, as illustrated in this picture from 'Thunder Dolphin' in Tokyo. This type of hill has less airtime but a much higher velocity, leading to a unique sensation. It's at the very bottom of this picture (Sorry, it's partly obscured as I couldn't find a better picture):
RCDB
Ok, that was part two. Our coaster's still very basic, but we'll work on more complex things when we return. I'll describe most of the common track elements and implement several of them in our design. Until next time!

Friday, February 20, 2009

Part 1: Banked Curves

Hi 274 students! Upon looking at the homework assigned for this weekend, I could not help but apply the second problem to my dearest hobby: rollercoaster simulation. Rollercoasters, as you may well know, are mechanical devices designed to go very fast and move you from where you are now to that exact spot a few minutes in the future. They serve absolutely no purpose whatsoever and have no practical applications. However they are a perfect mix of engineering and art, and I have spent countless hours creating and tweaking ride paths to push the envelope of ridiculousness. The program I use is called “Nolimits,” and it is the most popular simulation software short of the rollercoaster tycoon series (which we will not be talking about today). A demo is available on its website. It allows manipulation of the ride path through placement of nodes (using a 3 point bezier system (not important)), and has a simulator mode where g-force is calculated in real-time and everything is rendered all shiny and pretty. Today, I will make for you a small section of a rollercoaster attempting to apply our coursework along the way. This will be in three parts, ‘banked curves’, ‘airtime hills’, and ‘everything else’.

Let’s begin! Today I’ll be using a track and train type from Intamin, the good Swiss people responsible for such rides as Millennium Force and Top Thrill Dragster. I’ll use a simple 3 car train. Before we begin our curve, we need a station and something to make us go. Lift hills and launches are both options to get up to speed, but for control purposes we’ll have a flat launch limited to 80km/hr (about 50mi/hr and 22.22 m/s). The launch is set to have an acceleration of 1.6 gforces (1.6*9.81=15.696m/s^2), a pretty strong push. The length of launch track required can be calculated from our coursework, but to save time I’ll skip the simple calculation and move onto the main part of this post. Here we have our humble beginnings:


Before we move on, I'll give a brief discussion of the options available in launches and lift hills. First, there's the traditional chain lift. This engages a catch on the bottom of the train and imparts potential energy using an electric motor. The clicking noise heard when climbing a lift hill is due to a safety feature known as the anti-rollback dog. This device locks into a step arrangement mounted on teh lift hill and, in case of chain failure, will hold the entire train in place. Here's a better description of the process if you are interested. There's also a more modern version of the lifthill, using a cable and a catch-car which connects to the train, pulling it to the top with a strong motor mounted on the ground. Here's a view of the crest of Millennium Force's cable lift hill and you can see the catch car (the long gray thing in the middle of the track).

This system allows for a faster and steeper lift, which is also quiet (the silence is because the anti-rollback devices are electromagnetically disengaged by the passing train and automatically close after it passes, a really cool technology).
Launch systems are also a solid option. Many options exist, including electromagnets, pneumatics, hydraulics, flywheels. Electromagnetic propulsion involves using strong electrical impulses to attract magnetic fins attached to the trains. This type of system is fairly popular as it offers very precise control of speed and quite powerful acceleration. Pneumatic and hydraulic systems try to compress a gas using either mechanical work or hydraulic pressure (respectively), then release this pressure by spinning a drum attached to a launch cable (and subsequently the train). These systems are typically less reliable, but achieve the most powerful results (128 miles per hour plus). The final type of launch involves a strong engine spinning a wheel which is quickly engaged through a clutch system to pull the car by use of the same cable system as before. This system is the cheapest and is used on most of the slower launches.

Now that we're up to speed, let's begin our ride. First, we'll add our curve. Flat curves, although simple, can be extremely powerful elements if used properly. A high-speed, high-force flat curve just above the ground can be a tremendously exciting element, and one of the cheapest. First up, you may ask why a rollercoaster would have banked curves in the first place. Most chiefly, this is done because riders absorb vertical g-forces much more kindly than lateral ones. It feels much more natural to be compressed than to be forced to the side. Although most wooden coasters thrive on such sensations, their steel brethren push, as much as possible, to eliminate these forces. Additionally lateral forces put strain on weird places in the wheel assemblies, another bad point. So, as in problem 3-III, we seek to completely eliminate lateral g-forces from a flat turn. We’ll look at the banked track halfway through the curve, where the bank will be constant (at the sides of the curve there will be transitions from and to 0 degrees of bank). The radius of the curve we want will be 13.5 meters, small enough for some real force. The calculations become very easy as speed is known and we’ll ignore thrust and friction. What angle should we bank the turn so riders are squashed into their seats, not tossed painfully to the side? It’s pretty simple:

So we need a 75 degree bank. Well, this shan’t be too hard. Using an element generator I can make a flat curve of 13.5 meters. I’ll bank it to 75 degrees as calculated and simulate the result.

You can see for yourself that, although the car has slowed to 79 km/hr, we have eliminated almost all lateral g-force. Additionally, we have +3.6 gs vertically, a forceful but certainly safe number. Let’s see for a second what happens when we lower the banking to a measly 50 degrees.

Yikes, 1.4 lateral gs! Such a force would probably injure riders, as the restraints are not set up to handle that type of force. Well, this is why we do our calculations ahead of time. You may be wondering about the lateral g-force at the entrance to the turn. Right now, there is a dangerous spike as there is no transition between straight and unbanked to curved and banked. To help smooth this out, modern coasters are designed using what is called a ‘heartline.’ This refers to looking at the center of the rider’s path (through the ‘heart’ of the passengers), and rotating the ride path around this point. Here is a visualization (credit) :

To achieve this, I need to add a small section of straight track to serve as the transition. Here’s a view of the track from above with the heartline highlighted in yellow to further illustrate the point:

See how the heartline remains straight while the track banks in preparation for the turn? This creates a smooth, painless transition that is the basis for most of the complex elements in coasters today. Let’s see that in the simulator:

It looks weird, but works very well. All modern coasters begin turns this way. Here’s a picture of a real-world example of this, a transition on Hershey Park’s Storm Runner.

Alright that’s it for part one. Next time we’ll go vertical. If you enjoyed this or couldn’t understand anything, please leave some feedback so I can make part 2 better. Also you can vote for the color of the ride if you wish. Please make all comments on the 274 course blog.