I will use this blog to provide updates on my projects. Enjoy!
|Posted by Eamon Kelly on August 13, 2010 at 12:56 PM||comments (3)|
I posted a video on YouTube briefly explaining the basics of interfacing MatLab and AutoCAD for my project. I will post all videos here as well.
|Posted by Eamon Kelly on August 5, 2010 at 1:26 PM||comments (4)|
So lately I've been working in AutoCAD and have starting learning both it and the programming language it uses, AutoLISP. First, I'll clarify the title of this post by explaining a little bit about LISP. LISP actually stands for LISt Processing becuase it uses lists as a data structure. It has been dubbed "lost in stupid parentheses" because everything needs to be enclosed in parentheses. For example, to add 1 and 1, you would write (+ 1 1). You'll notice the other thing that can be a pain in LISP is that operators (addition, subtraction, etc) come first. This isn't a problem when you've only got one operation occurring, but quickly becomes a nightmare once you attempt multiple operations at once. For example, (+ (- (/ 6 2) (* 1 8 ) ) 7) will divide 6 by 2, subtract the multiplication of 8 and 1 from that, and then add seven. Because of the parentheses, it is easy to make mistakes and become lost.
But enough complaining. The cool thing about LISP is that it can be used to execute commands in AutoCAD. Instead of clicking the 'line' button, and then specifying two points, I can use code to virtually click the line button and draw a line from two data points, instead of doing it manually with my hand and mouse. Drawing lines is also the focus of this post. I have written a couple programs that draw bents (the vertical support structures placed along the direction of travel in wooden roller coasters) as a bunch of lines. The first program I wrote asks for a height, and then draws the bent.
The box is called Dialog Control Language, and can be used in LISP to make, well, boxes. I messed around with it a little but probably won't get into it unless I make one for the final program. When I hit okay, I get the following:
So as you can see, it will automatically draw me a bent of whatever height I need. Next I added in the ability to draw multiple bents, where the program asks for how many the user needs, and then just runs through the bentgen code that many times, increasing the y values to space the bents out. After that, I decided to try and pull data from my MatLab code to start making something that resembles a coaster. I am still working out a lot of kinks, but I did manage to get it to draw up all the bents for the lift hill from the previous post's MatLab code. Here is a video of the resulting lines:
As you can see, it actually looks like the structure of a wooden roller coaster. As I said, I will continue to go through and do most of what the final code will be with just lines, including batters (sloped supports) and other elements of the structure, pulling data from my MatLab code. This will help me learn better how to use AutoCAD and AutoLISP and the resulting code will allow me to quickly visualize my layouts from MatLab. That is all for now, but look forward to learning more about getting lost in parentheses... it's pretty much a given at this point that it will happen a lot.
|Posted by Eamon Kelly on July 14, 2010 at 7:50 PM||comments (1)|
Sorry that it's been so long, but I have gotten some things done with my code. The issue with updating about the code is that a lot of the time I spend on it is error-checking, and ultimately the work done is figuring out a robust format, something that doesn't show in graphs. Despite this, what I have now is a first drop and a hump, and the plan is to use this to figure out functions that find velocity, force felt by passengers, and force felt by track. After that, I will go into banking and turns, and then I will graph the running rails and spine, with hopes of being able to take those data sets into 3D models through programming.
I have figured out a velocity function that incoporates a drag factor, something that needs to be figured out later when a train is designed.
This is my test layout. The radii are set values, so consequently the g-force felt by passengers may go beyond comfortable limits. This will later be fixed by dictating the g-force and finding the radii that creates those forces. Right now I am still figuring how to do this.
Below is the velocity vs. time graph. To clarify, the first 3 segments are dictated and not solved for, i.e. I said it moves x speed then increases to the chain speed (also dictated), but once released from the chain gravity and friction take over.
|Posted by Eamon Kelly on March 29, 2010 at 12:41 AM||comments (0)|
So I spent a few hours today on my MatLab Layout code. Right now I've got two separate programs, a courseline code and a code for a spine, two rails, and a heartline. The second of the two is obviously significantly more complicated, but I've made it easier by doing the courseline code first. Here is an example of the courseline code:
Sorry about the size, but it gets ugly if I shrink it. What I've done with this code is create a 3D line in the shape of a coaster. If you're familiar with NoLimits Elementary, I've done something similar, but simpler. I should note that this doesn't have any physics worked into it. I plan on going through and working out that partially in this code but primarily in the second. I obviously can't represent things like banking when there is only one line, but I can with the heartline code. For now, this is a way for me to digitally layout a ride. My thought process here is that while I could layout a ride by hand, if done digitally, I can much more easily manipulate elements. For example, I plan on being able to create a hill that has 0g at the top, or have a heartline roll where the heartline is straight while the track twists around it. Another advantage is that if I set this up right, I could potentially design both wood and steel coasters, in which I only need to eliminate the spine line from the heartline code to go from a steel design to a wood one. Here is a screen of the heartline code. I've only worked out a straight section into a turnaround, but I will go back and add more:
I know it's hard to tell what's going on in the 3D pane, but that's why I included the other profiles. I notice that my rails aren't quite right on the turnaround, so I'll have to figure that out. I wanted to put this up so you could see the difference between this and the courseline code. Again, this doesn't involve any physics calculations; they're just lines representing the spine, rails, and heartline (which is red). After going through and doing this, I already know that the MatLab part of the project will require a LOT of time. I haven't worked in anything regarding speed, acceleration, force, or friction. I also have only worked out the equations for the elements you see in the courseline code (turns, lead-ins/lead-outs, and simple hills). This is another reason why I may just start off with a wild mouse design.
I suppose that is all for now. Check back later for an update on the modeling side of the project. I've started some of it, so I'll throw up a segment about that too within a week or so.
|Posted by Eamon Kelly on March 23, 2010 at 11:32 PM||comments (0)|
So, I am going to explain here what I hope to accomplish with my design project. This idea has been sort of floating around in my head for a while, after Dan from TPEG (Theme Park Engineering Group) told me about his idea to link up 3Ds Max and Excel to develop a process with which to design roller coasters. We thought about offering this project up to the group, but after consideration we thought it'd be too technical for underclassmen to get heavily involved in,and we were afraid that there wouldn't be enough interest to execute it properly. (We try to keep the projects fun, but still engineering based. We feel the tower did this well.)
So now I've decided that I want to execute it myself, so that I can have a better understanding of what the process is like, and what it is like to develop a complex process in the first place (arguably the more difficult aspect of engineering). So, in order to start this process, I thought of what I would want to do. I came up with a list of things, and a possible outline. I have only just begin, and in the past month my plans and goals have already changed. I expect this change to be constant throughout the process, and I am okay with it. Roller coasters are dynamic, and I see no reason to think their design is any different. So, to start I'll list my goals with a brief description.
Layout design with MatLab: MatLab was basically the starting point of this project. After seeing NoLimits Elementary and the Force-Vector Design code developed for it, I decided to go a similar route by representing track segments as mathematical functions. The reason for doing this is to allow easy manipulation of variables within a system. For example, if I plot out a course as a collection of x, y, and z points, I can find the changes from point to point, allowing me to find g-forces if I add in a velocity. This has already seen a major change since I began, seeing as I am going to try and plot 4 lines at once, a spine, two rails, and a heartline. Basically, I will be using MatLab to layout ride sections, some of which will be dictated by forces (a hill producing 0g at the top), some by heartline (a heartline roll, where the track lines will be twisted while the heartline is straight). After this is done, I will move into 3D modeling.
Structure design in Inventor/SolidWorks: After the MatLab work is done (or at least to a point where I can use some of it in 3D), I will try to model the structure. This is, right now, the most unknown area of the project. My hope is to be able to use the data directly from MatLab to, for example, create tubing around the center-linethat is the spine line's values. I think there will be a way to do it, and it will likely be done section by section (as per manufacturing limitations). Even if this proves to be impossible for me to figure out, I will know that the MatLab portion wasn't in vain, as it is likely the most important part of the whole project.
Train Design in Inventor/SolidWorks: I'd like to design trains, if possible completely, so as to better understand the choices made by industry professionals. This will likely be the last thing fully executed, with the exception of what would be done below.
Other ride aspects: Chain lifts, brakes, and sensors would be things that I'll probably try to model realistically. I also will likely try to work out logic charts for the sensors, brakes and the station platform, so that I can reliably predict capacity and ride performance. Again, time allotting on these, but I'd like to explore them eventually. LIMs, LSMs, cable lift hills, hydraulic cable launches, and spinning coasters type stuff would be fun, but due tocomplexity and time, I doubt I'll get deep into any of these.
Modeling/animation with Inventor, MatLab, and 3Ds Max: This is the end-goal of the project. Since I do not have the resources to manufacture a roller coaster, the best I can do is manufacture one in a computer. I'd like to run a complete train on a complete structure designed via MatLab and Inventor. Essentially, this would prove to be a physically possible coaster, developed completely by me. The shortcut may come in the form of simplified track modeling and simplified train modeling. I would still use the MatLab speed and position algorhythms to govern the train's movement. Depending on how much progress I can make in the next two years will govern whether I take any short-cuts, and what type of coaster it ends up being (For example, a wild mouse would be easy, a B&M invert would be challenging).
Possible side project, for fun: Solder together piano wire or other bendable yet durable wire to make a model coaster. Right now I'm thinking a Euro-fighter would be fun to do, but this would likely chew up time, and it wouldn't be as beneficial to my education as everything above would be. Could be a fun summer project though.
|Posted by Eamon Kelly on March 21, 2010 at 6:51 PM||comments (7)|
I'd like to start my blog off by explaining a little bit about the group from Ohio State that helped me boost my drive to get into the industry. Our group is dedicated to advancing student - professional relationships in the amusement industry, with a focus on the design/engineering side of the industry. Our goal is to help students develop skills that manufacturers look for in potential employees. At the same time, we look to harbour interest in the sciences and engineering by travelling to local schools and teaching younger students about the thrill of learning how thrills are made. Our first project, a pneumatic tower, was undertaken with all of these purposes in mind. Here's an explanation of our Tower project and how it came to be what it is:
Two years ago, our group decided that we would undertake an engineering project that Dan Linden had modeled in 3Ds max. It was to be a pneumatically-launched tower like the ones built by S&S. The catch? Rotating seats. We began the project by designing the tower structure, and even built a balsa model of it to help us visualize what we were going to do. After that, we broke into separate teams, the Base, Tower, Launch, and Cart teams.
Each team had the responsibility of designing and modeling their portion of the tower. I took on the role of Project Manager for the Launch team, and our group was responsible for recreating (albeit in a much simpler form) the system used by companies like S&S. In order to do so, I contacted Tim Jacoby (an engineer at S&S) and Eric Lapp (Ride Maintenence Supervisor at Cedar Point) to learn more about the system used in Power Tower at Cedar Point and how we could model it at a smaller scale. After garnering a basic understanding of the system, we began to think about how we were going to execute our part of the tower, arguably the most difficult and unknown, yet most crucial, portion of the entire project.
The launch design changed continually as we constructed the strcutural portion of the tower. Dan and I spent the most time building the tower, and together we figured out how best to make the system work. Originally we had planned on using an aluminum cyclinder to hold the plunger in the center of the tower. From the plunger wire rope would go in both directions, up to the top of the tower and down to the bottom, to a set of pulleys. The pulleys directed the wire rope from the inside of the tower to the outside, and then back to the cart, creating a loop so that as the plunger moves, the cart moves in the opposite direction. After researching the aluminum pipe we wanted to use, we found that the cost would be far too much for us to have the pipe hold a constant circumference throughout the cylinder. (The machining process used to make something like that is not a cheap one, so consequently getting a part like that made is expensive) Upon researching alternatives, we found an unsual combination: a plunger made of delyron, a low friction plastic, and acrylic pipe. Having the pipe be clear provided us with a huge benefit: when explaining how the tower worked, as we planned to do after it was built, the plunger would be visible and thus would allow those observing to more readily understand the system.
So with our decision to go with the plasitc parts in the launch system, we began to think about how we were going to get air into the top of the cylinder, where it would need to be in order to thrust the plunger down and the cart up. Knowing the ease of manipulating plastic, I thought about ways to create a cap for the cylinder that had an inlet hole for the air, and two small holes to allow the wire rope to slide in and out, as it would need to. I came up with an idea to take a PVC cap and cut it in half, and then use a bolt to secure the sides of the cap to the cylinder and to prevent the cap from shooting up when the air was shot in. At the same time, a band would help hold the cap tight to the cylinder, in order to help minimize air leaks that would reduce the thrust of the plunger and the cart.
The next step was to figure out how to deliver the air to the tower itself. At an engineering meeting, we went over ideas on how to best execute the delivery of air to the cylinder. We came to the conclusion that the best way to do what we wanted to do was to have a secondary air tank at the top of the tower, so that compressed air would only have to travel a few inches instead of the fifteen feet from the compressor on the ground below. The less distance all of the air has to move, the less time it takes and the greater the impulse, which propels the plunger and consequently the cart. Also, to make the air movement as quick as possible, Dan decided to use a solenoid valve that would open instantaneously, again allowing the most air to move the quickest.
At this point, we assembled what we had and began preliminary tests of the cart's movement. The big problem we ended up having was that, when tensioned with turnbuckles, the wire rope would lock up the pulleys and make any cart movement difficult. We decided that we needed to find an alternate for the wire rope, and set out to try both fishing line and regular rope. The fishing line proved to be too stretchy, and the inability of it to hold to a consistent length nixed it from our list of possibilities. The regular rope proved to work pretty well, with the exception of being a little loose looking, even when tensioned. We decided to use it, however, and were ready to begin testing the launch.
Earlier, during the design process, we had done calculations to try and figure out how much air pressure we would need to move the cart. Our initial findings were around 5 psi, so we decided to start the testing there. While excited that we heard the solenoid valve release the air that had been held in the secondary, that was pretty much all there was to be excited about. The impulse was not nearly enough to move the cart up the tower, so we bumped up the pressure to 10. There wasn't much change, so we continually increased the pressure and retested. At 40 psi, we got the cart to go about halfway up the tower. After a few more tests, we found that 65-70 psi was the right amount to get the cart to launch up to the top of the tower, where it would freefall back down.
At this point, we were all thrilled. We had spent a year and a half designing and building this model, and it was a major milestone for the group as a whole. This tower signified the growth of our group from its infant stages. First, this project solidified the use of 'engineering' in our group name. Second, we proved to ourselves that we were capable of undertaking a design project entirely from scratch and with little help from those more experienced. Third, it showed our financial sponsor, Honda, that we could reliably build a project for purposes in line with what they wanted to see, consequently building a positive relationship with them for future projects. Fourth, we finally had something physical to display, whose primary goal was to be education of area students. Finally, we had developed a promotional tool for our group to professionals in the industry, showing we were capable of executing a project in a similar way to those undertaken in the real industry.
As it stands now, the tower performs its primary function of launching the cart up to the top consistently. There is still plenty of work to be done, and certain aspects of it have changed through the course of its life. One major change came with the base of the tower. Originally, there was going to be a concrete base that supported the tower up. During construction, we made a temporary base that was just long pieces of steel angle out in all four directions to stabilize movement. After making the temporary base, we found it sufficient in holding the tower steady and preferable due to its ability to be taken apart. Consequently, the temporary base became the permanent base. Another change occurred with the wheels that are on the cart. Some of the guys in the group installed a sturdier and more permanent wheel system than what was there before. Even with these changes, however, there is much to be done. We have yet to finish the seats on the cart, and hope to be able to finish them with the original idea in tact: rotation. Also, we would like to add asthetic theming to the ride before we take it to schools. Hopefully we can see these changes occur later this year, when I'll be back in Columbus to help out.
Well, that's it for my synopsis of the TPEG Tower project. Check back here for more updates on it, and also for updates on my coaster project.