We had an old simulation of the boat, but it was difficult to understand and had some physics flaws. One of our freshman, Mike Bocamazo, took the leap into the old simulator and found a bunch of math that appeared to be first based on forces, but further in devolved into a series of messy ratio approximations for physics equations. He then essentially independently formulated a new series of equations to model the boat behavior, presented his methodology to the team, and will be soon implementing his model as our new simulator.
A cool part of the simulator setup is that the simulator takes in sail and rudder settings, and outputs GPS position, boat speed, compass heading, and angular velocity. This fits well into our architecture – we simply grab the commanded setpoints and port the return data in as sensor data. The GPS points get displayed on the same OCU (Operator Control Unit) as they would on the actual boat, so we can get very close to testing the entire body of code on the simulator.
When writing code that controls our sails and rudder to maximize the speed of the boat, a lot of it feels like guesswork, even after talking to members on the team who are experienced sailors. Translating what a sailor does into code is difficult, partially because of the intuition required and partially because a human’s “sensors” are very different from those on the boat.
To that end, we are in the middle of making a sail test apparatus that we can mount our rig on and test in front of fans. What we want is to drastically increase the amount of time we can spend testing our code in realistic conditions, while at the same time giving us the ability to control certain variables that we can’t control on the water.
Alex Crease and Eric Schneider are working on the first round of the sail tester, which will be a vertical pole held in bearings. A plywood deck with our sails on it will be mounted on top of the pole. The pole and deck can spin as if the boat were turning.
We hope to estimate the center of lateral resistance for our boat and place the pole there. Simply put, the center of lateral resistance (http://en.wikipedia.org/wiki/Center_of_lateral_resistance) is the vertical axis about which the boat spins. Putting a pole there has the really cool effect of making the test rig spin about the same point as the actual boat, which means we can test out algorithms for balancing the forces on the sails so that they create no moment. Very exciting stuff!
The second round, very much in the future for now, would be mounting a planar force sensor in between the pole and the plywood deck and doing all sorts of cool tests to determine which sail settings result in the strongest forces and in which directions those forces are applied, for variable wind angles. If we can do it right, this will be an excellent chance to characterize our boats more than we ever have before, which is awesome.