24
Sep 13

Videos moved to Youtube

All the previously posted videos have been transferred over to youtube for more reliable/timely viewing.

As for updates, I haven't worked on this project much since the initial successful autopilot testing. I still plan to make improvements and push the boat on some longer range open ocean courses after some more formalized testing. 🙂

8
Jul 12

Minor tweaks = Navigation working well!

After having made a few adjustments to the front sail, as well as to the intermediate waypoint angle offset from the headwind stall direction, I had a very successful test this morning! It could still use some adjustment to optimize speed, but all tests worked in autopilot mode this morning. The tests included direct headwind navigation, as well as near-direct (in an attempt to trick it). Also, wind conditions were very light, which generally makes it more challenging/slow-going for the navigation.

I made a crude utility to play back the course data from the logs. Here's a video:
Course from 20120708

Officially, I can state: "Mission Accomplished!" 🙂

...but then again, I keep thinking of more changes and additions (some quite necessary) I would like to do... Here are some examples, in no particular order:

1. Software tweak to optimize tacking further. I realized the software makes an assumption that it shouldn't regarding when the sail sensor indicates that the boat is stalled. It's a bit tricky to explain without sketching it out, but I will post a sketch if it proves a beneficial change.

2. Address a major known issue that I've been able to work around up to this point. The issue is that if I turn the RC transmitter off or go out of range, the software has a tendency to lock up. I haven't looked too deeply into the issue yet, but I'm hopeful a few software updates will do the trick (I'm on a pretty outdated version of Arduino IDE/compiler) Worse-case scenario, it could be a problem with the ArduPilot board (which is also a deprecated version of the board) so I could upgrade that as well. With any luck the problem is in my code, but I'm really using 'out of the box' code for the servo interfacing, so I don't think I'll be that lucky.

3. Simulation playback mode using the log data. This would be designed to keep in mind the possibility of live-streamed data as well if I decide to introduce wireless connectivity. (for example, using XBee)

4. Google maps integration for better visual feedback and course planning. Adding more flexibility to the tool itself. For example, currently you cannot scroll/zoom without changing some constants and re-running the application. There are plenty of existing tools that could be used for course planning, but since the simulator is fairly flexible, I like the idea of having an 'all in one' tool.

5. Make it easier to associate 'serenity-cam' photos and videos with specific locations. This should actually be very easy by just logging when pictures are taken. The 2nd part to this however, is tying this in to the simulator playback mode so that links to the content are displayed alongside the waypoint data on the maps (similar to how google maps will show photos if enabled)

There are several other things I'd like to tackle as well, but for now these are some of my top picks. I would like to rearrange this site as well now. There are so many details I am not really explaining or cleanly presenting on this site yet. 🙂

24
Jun 12

Navigation test (mostly) successful!

Had another chance this morning to test the navigation after correcting yesterday's mix-up with left/right rudder output. It's working as well as I could have hoped for cross-wind navigation, but the upwind tacking (aka intermediate waypoints) do not seem to be working correctly. The boat basically ends up going in circles when it should be headed towards an intermediate waypoint. At first glance, we thought maybe the gps signal had dropped out. However, log data confirms that the gps was not the culprit.

I suspect this will likely correct itself once the sails are tuned better (particularly the front sail). The range of degrees that the boat is unable to navigate without tacking is referred to as the 'no-go zone'. Since I do not adjust the tension of the sails dynamically, this zone is much wider than a typical boat would experience. I think the angle may even be wider than the angle computed for intermediate waypoints, which could definitely cause issues.

Anyone with basic sailing experience would probably notice in some of the pictures that the front sail looks let out way too much. I had done this intentionally thinking it would be nice for downwind speed, but I've decided I'd rather go slow downwind than stall on 'close hauled' headings.
Example showing front sail let out too much.. it should be much tighter/flatter here:

I still need to review the log data more carefully and try to reproduce the issue in the simulator. In any event, the good news is that I don't think there's a software/logic issue. Overall I'm quite happy with today's test run though!

More Serenity Cam Video (unfortunately I only have this version in very low quality)
Some random events in this video:

  • Rowers - 0:40
  • Stand-up paddler - 0:43
  • Swimmers - 1:17
  • Boat tracking towards waypoint - 1:55 to 2:22, 2:22 to 2:52
  • Swimmer - 3:32
  • Boat spinning out of control left when we expected it to sail upwind - 5:16 to5:45
  • Stand-up paddler - 6:43
  • Boat keel hits sand and stops - 6:55
  • Lifting boat out of water - 7:07
23
Jun 12

On the importance of knowing left from right

Had my first official test run with all electronics/autopilot in place. Sailing went well, got some nice video, but auto-pilot failed. The good news is that the problem was very simple... my autopilot had left and right confused!! The result was it would navigate in the opposite direction of the current waypoint.

I realized pretty quickly that the servo was responding in reverse, but I couldn't understand why it would cause this behavior. I expected it to just take the 'long way around' to point towards the next waypoint. The trouble is, the boat constantly tries to compute the shortest angle to the next waypoint.. since I had it flipped, everytime it crossed 180 degrees away from the waypoint, it would tell itself to go the other direction (hence always stuck 180 degrees off). I was able to reproduce/confirm this in the simulator as well.

Video of 'issue':
Left vs. Right

Serenity Cam (stills and video.. back cam needs to be adjusted slightly)
Serenity Cam

With the correction now in place, another test is in order (hopefully tomorrow!) 😀

10
Jun 12

Progress, just poor updates ;)

A good amount of progress has been made despite the lack of updates here. I expect to have the boat in the water as soon as next weekend (no later than the end of the month). Finally!!

In a nutshell, here's what's been accomplished:

  • Finished up integration with sensors, cleaned up wiring, boxed up the main electronics in an enclosure, finished up 'control panel' with main power switches, LCD display, and display pause/resume button.
  • Updated Sail Simulation software to refine navigation logic
  • Ported navigation code to arduino ide project.
  • Tested navigation logic by walking around the streets and parks setting waypoints, then letting the hardware tell me how to walk to each location.

What's left? Not much really, except for testing in the water now. I'm excited to see how the pictures will turn out from the cameras.. 🙂

I made a quick sweep to update each of the pages where applicable, and included a few new images and a video that might be of interest showing the updated simulator..

Sail Simulation v2 (most recent version)

'Control Panel' Basically just power switches, an LCD only used to check sensor status, etc before boat is launched, and the green button pauses/resumes the information cycling on the LCD screen.

Main electronics getting boxed up

Sail position sensor (under white silicon are 3 reed switches wired in parallel) The copper tubing you see in the picture is a rail that magnets attached to the boom (beam under the main sail) slide along. When they reach either end of the rail, they trip the reed switches indicating the sail is not stalled. (if it is stalled, that's how we know we need intermediate waypoints)

30
Nov 11

Electronics.. coming along

Currently all components have been hooked up/tested individually, and I've finally gotten them all (mostly) to work together simultaneously. The main challenge at the moment is that I'm drawing more current than I ought to, so I need to split the load up a bit. My electronics knowledge is not where it needs to be for a project like this, so I'm hacking my way through it!

One very big annoyance related to all of this is that the micro-controller I'm using supposedly lets you split the servo power from the rest of the board by "simply" unsoldering a jumper. I hadn't been aware of such a thing as solder braid when I first attempted to clear the jumper, so I fear I have melted the contacts together.. I have since tried using braid, but it still seems to be connected, and I cannot see anything more than a single contact. So for now... I will try sharing the servo/microcontroller power. If things don't work out, I can always fork out the $60 for a new micro-controller board and try again.

Once my power issues are resolved, I can finally work on porting the navigation logic from my simulation to the actual board. The first step to that, however, will be to update my simulation to more closely match the sensor data/configuration and use gps values rather than screen coordinates. For example, originally I had assumed I would know the wind angle, but as I may have previously mentioned, a mast mounted wind meter is not feasible on such a small boat. Problems with apparent wind are magnified when the mast is bobbing around in even modestly rough waters. Instead, I have opted for magnetic reed sensors mounted to the "main sheet" to tell me when the sail is powered up versus luffing. (I really only need to be able to determine if I'm in a head wind, and, if I care to, can determine wind angle by checking my compass). I will try to post more pictures and talk less as it's probably not clear from reading my explanation. 😉

  • 17
    Jul 11

    First Stage Complete... Level Up!

    Today was a big milestone as Serenity took it's first official test sail! This was just as a big remote control sailboat... Not yet running autonomously, though early stages of that shouldn't be far behind as I have most everything needed and have already done simple tests interfacing with basically all of the hardware.

    I was a bit nervous with the first test sail, but everything went as best as I could have hoped for. The boat sits very stable and turns on a dime. It held up it's speed quite well too considering the light wind and the overkill keel on it. (The keel could stand to be shorter and lighter, but it pays to err on the side of too long/heavy so there's little chance of it tipping) It also seems helpful to have plenty of weight so that the boat keeps up it's inertia when turning through the wind.

    Video:

  • First Sail
  • The above pictures and video can also be found on the Progress & Milestones page. The Sailboat page has also been updated with additional pictures towards the bottom of the page.

    30
    May 11

    Paint

    Made a fair amount of progress on the painting.. In fact, painting should be done unless I decide to put a little color on the keel and/or rudder. (currently they are white).


    Quite a few pictures were added towards the bottom on the Sailboat page.

    Just need to add the lettering, pinstripes (shown in Photoshop mock-up on Sailboat page), then put a final coat of resin to seal it all up. (I might have made reference to a final coat of resin before, but this time I mean it!!) I can't wait to be done with this step so that I can finally move on to the rigging. 🙂

    Also, I have made a wind vane and done some experimenting with it... I hadn't considered the affect of apparent wind, but now that I've had a chance to play with the wind vane, I can see determining wind direction is going to be one of the bigger challenges of this project..

    31
    Mar 11

    GPS and Heading Sensor Arrived

    That was quick. I ordered these just a few days ago and they arrived today! Sparkfun seems to be really good about shipping orders right away. I can't wait to hook these up.. 🙂

    I am amazed at how tiny the GPS and heading sensor are..

    More pictures can be found on the Hardware page.

    28
    Mar 11

    Keel Weight, Deck Lids, & Hardware progress

    Despite the lack of updates to this site, progress has been pretty good. The keel is pretty much complete and I'm happy with the 'bullet' weight on the bottom of it. (Pictures coming) The deck lids are also just about done. I just need to finish adding the bolts which will secure them to the hull and try out the seals. Lastly, I just purchased the bulk of the remaining electronics hardware needed... The wind vane encoder (for wind direction sensing), the tilt compensated heading sensor, and a GPS unit.

    Next up is getting the rigging and sails worked out... I'm really pushing to have this thing in the water soon so that I can plan to get some initial rounds of autonomous sailing tests in during the summer.


    More pictures can be found on the Sailboat page.