It’s been a while since we posted, but a lot is happening! First and foremost, our custom laser cutting company is well on its way! All of our motion simulator designs have required laser cut sheet metal parts, but it takes forever to get quotes and lead-times. And laser cutting shops in the Orem, UT area are ridiculously busy.
We could design a new frame in a handful of days, but getting the custom laser cut parts to build them could take on the order of three to four weeks. So, we naturally decided to start our own custom laser cutting service to solve the problem. 😀
We purchased a Trumpf 1030, 3 kW fiber laser from their training floor. With less than 100 beam-on hours, it’s basically brand new.
Our shop is in Orem, UT, but we are implementing software that will make it easy to obtain instant quotes for laser-cut parts online. So we’ll easily serve the entire United States. The machine is scheduled for delivery on July 2nd!
I’ll update with additional blog posts to show the shop space as we get it ready and install the machine.
It’s been a while since we last posted an update, but a lot has been happening! First and foremost, we’ve started a new venture to open a laser-cutting shop. Frustrated with long lead-times and archaic quoting processes for custom laser-cut metal parts, we decided to open our own shop and do it right!
We are a few weeks away from having a machine installed and operating, but once we have it, we’ll be able to iterate on new simulator versions in days, instead of months!
In the mean-time, we’ve revisited the simulator design in hopes of optimizing the system. The large version 2 frame allows for a lot of motion freedom, and it is sized to allow for continuous rotation on every single axis. Unfortunately, our drive system design had some issues, and we reverted back to the linear actuator drive solution instead. So the frame worked out to be far larger than it needed to be, to allow for the rotation it was capable of achieving.
We’ll revisit the continuous rotation idea again down the road, when we’ve figured out our custom motor design for a direct drive solution.
In the mean-time, we’ve shifted gears to produce a lighter, more compact, transportable system. Rotation freedom will be reduced a little bit, but the lower cost, ease of assembly, and reduced size will be nice.
The basic idea is to use a crank-rocker (a type of four-bar linkage) to rotate the chair. The crank rocker assembly directly replaces the linear actuators. This design allows for less rotation freedom (+/- 20 to 30 degrees instead of +/- 50 degrees on the version 2 frame), but it is much more compact and easy to assemble.
We may also move the center of rotation away from the head and closer to the center of mass of the assembly. In VR, rotation around the head is ideal for reasons that we’ve discussed before. But rotating around the head takes a lot more torque, which increases complexity and cost. Other commercial simulators avoid that cost and complexity altogether by rotating the base of the chair. While that’s incredibly easy to do in comparison, it is also the worst possible solution for VR immersion, because it whips the user’s head around during motion. You don’t even know how bad it is until you try it, and compare it with our system…
We think that there is probably a middle-ground. Rotating around a point slightly lower than the head, but far above the base of the chair, may simplify the design significantly without breaking immersion. So we’ll be giving that a try on this next variant.
The design is a work-in-progress, but it’s moving along!
We’ve learned a lot from our revision-2 frame design.
We discovered and corrected an error that led us to underestimate required torque to direct drive the simulator arms.
We determined that the welded version-2 frame is very rigid – probably rigid enough. There are some high-frequency vibration modes that we can resolve in future variants using thicker stock, or enlarging the depth and width of the arms.
The bearing pack assemblies work fairly well as designed, but are not quite rigid enough. We need to improve them on future revisions.
Using the linear actuators to drive the frame exposed other actuator issues, described below.
In spite of the problems with the V2 frame design, it still represents a significant improvement compared to the V1 frame: motion is more smooth and less bouncy, the motion is more responsive, and it supports improved motion freedom compared to V1.
Ironically, the fact that it is so much better exposes other problems that were present on V1, but that weren’t as noticeable because it was (frankly) so bad in comparison: when we eliminate the big problems, the smaller problems become apparent.
For example: the actuators themselves aren’t as smooth as we’d like. The timing belts, even at 1.5″ wide H-series teeth, stretch under load. That causes the tooth pitch to change slightly, which causes vibration and noise as the teeth engage and disengage. The vibration is enough that you can feel it during motion. Belt stretch also causes the machine to bounce slightly during aggressive motion. On the V1 frame, there was so much vibration and bounce from the frame itself that the actuator issues weren’t as apparent.
There are two solutions to the actuator problem: first, we could remove actuators altogether and figure out a direct drive solution. Second, we could use a different type of timing belt and pulley to reduce stretch and noise.
SilentSync pulleys and belts would probably work quite well, and the design change to enable their use on the actuators would be fairly trivial:
The teeth are angled so that they engage and disengage progressively, instead of instantaneously. And a wide variety of belt widths are available. They are a bit more expensive, but they are probably worth the cost for a smoother, more quiet ride.
Custom Motors for a Direct Drive Simulator
For the direct-drive alternative, we are exploring the possibility of manufacturing custom BLDC motors to drive each axis directly, as shown below:
This design is a work in-progress, but this motor should produce more than 200 Nm of continuous torque at low RPM, without active cooling. It’s a little over 14″ in diameter and about 5″ thick. I’ve “hollowed” out the stator and put a 6:1 planetary gearbox inside the stator, so that we can get above 1200 Nm of continuous torque without increasing the footprint of the motor, which should be enough to move the load.
The catch? Developing and testing these custom motors will be expensive. We’ve already started the process, designing and simulating the rotor and stator, and ordering custom-manufacturing magnets for the rotor. We have yet to finalize the rest of the motor design.
In spite of the initial cost and complexity, custom high-torque, low-RPM motors will allow the system to respond much more quickly and dynamically than a belt-driven system. And it will naturally support continuous 360 degree rotation, which a linear-actuator driven system obviously can’t handle. In terms of absolute realism and responsiveness, it will be difficult to beat a direct drive system. I expect that this is the direction we’ll want to go in the long term.
In the short-term, costs and lead-times will be lower for an improved linear-actuator driven system, so the V3 frame will likely be built around improved actuators instead of custom motors. We may design both systems in parallel.
New Bearing Assemblies
These bearing assemblies are used to attach the arms to the simulator and allow them to move.
For the next frame revision, we might use the front hub from a Dodge RAM 2500 instead of our custom bearing assembly. This may sound hokey on the surface, but bear with me! First, look at a comparison of the two assemblies, below:
Our bearing assembly, shown on the right, does a reasonably good job of maintaining rigidity under load, but it isn’t quite where we want it to be. There is noticeable deflection given impulse torque inputs, which causes vibration. It isn’t a lot, but it’s enough to be noticeable.
Our bearing pack assembly uses a 6″ diameter needle roller thrust bearing between two rotating circular plates. The plates are pressed against the bearing using a single tapered-roller bearing, as shown below:
The idea was to use the thrust bearing to change the load from a radial load (think of the arm hanging off the bearing) to an axial load. In order for the attached arm to deflect, it would theoretically have to stretch the shaft, or compress the surface where the circular plates mount.
In contrast, an automobile’s hub assembly like the one shown earlier takes a radial load and spreads it between two opposing tapered-roller bearings. By moving the two bearings further apart, the effects of bearing play is reduced. All other things being equal, the higher the distance between the two opposing bearings, the less deflection there will be.
For the V3 frame, we considered building something like that, until we realized that the hub from a big truck might be more than enough on its own. Perhaps the biggest benefit (if it works) is how inexpensive it is. We can buy a brand-new hub assembly for a Dodge RAM 2500 for the same price as the bearings alone, on our custom bearing assembly. Not to mention the labor requirements to machine each of the parts on our custom assembly.
We’ll have to test the hub to make sure it is rigid enough, but based on how it is built, and the high radial loads it is designed to support (think, a fully-loaded Dodge RAM truck), we have a lot of confidence that it will do the job.
Last night we mounted the chair and modified our simulation software to control the version 2 frame.
This frame is significantly more rigid than the first-revision frame, and it makes a big difference.
It’s interesting – when you try this new simulator and compare it to the first version, it is immediately obvious how much better it is. The motion is smooth, the system responsive. It feels so much more immersive.
But without being able to try both, the first-revision didn’t feel terrible on its own. It still felt pretty neat. It isn’t until you try something really good that you notice how bad the other experiences are, in comparison.
Hey, it’s been a while since we last updated! We ran into a few issues. First, I underestimated the amount of flex in a chain drive system. We were going to use a chain final stage to direct drive the axes, but it is way to bouncy. Second, I seriously underestimated the amount of torque required to direct-drive the axes. By a factor of 10. Unit conversion error.
So it was back to the drawing board. We took the linear actuators from the V1 frame and had some 3/8″ brackets cut to hold them on the frame:
The arms mount together with a custom shaft and bearing pack assembly:
And then came assembly! Here’s the yaw arm, mounted in the basement:
And the full assembly, all put together:
How rigid is it, exactly? *Almost as good as we want it. The bearing assemblies have a little too much deflection. We’ll fix that in the next revision.
And finally, here it is moving (it’s controlled by a joystick in this video):