Post-024
Jun. 7th, 2022

Cowyak: robot kayak to map the Charles river (in 3 days).

Just a tuesday night in a makerspace three days before graduation...

IMG_3556.heic

Tuesday night, three days before graduation — Cat, Sarah, Natasha, and I walk into the Metropolis makerspace in the basement of MIT's building 6C. Our mission? To take a foldable oru kayak, make it remote controlled, add a sonar, a GPS, and shove it into the Charles River before Friday. 

Just like, whyyyy? 

To explain the answer to that, let's be honest, highly relevant and pointed question we need to go back to that morning as our crew was leaving for a day trip to Halibut Point State Park. Naturally, one has to pack interesting "toys" when going to a beach so the usual kite, frisbee, and similar were thrown into the trunk. Everything was fairly normal until Natasha and I realized I had a 100m sonar just sitting in my room.


Natasha: "Does it work?"

Me: 
"Only one way to find out?"

So we threw it in the back of the rental car along with me, Fischer, and an RS-232 to USB converter where the two of us were tasked to figure out how it works. And ok honestly, the documentation is pretty good.

We also apologize for any of the poor-quality images, some of them were taken in a rushed manner.

IMG_3459.HEIC

There were some problems right off the batt. (hah, get it?), according to the online documentation and the files stored on the included USB drive, the software only ran on Windows, Fischer's computer was dead (not that it matters, his Dell XPS runs Linux), and I have a Mac. And on top of that, well, the sonar needs a 7-80V input power supply which was just outside the range of us cannibalizing a USB cable. 

Hardware problem first because turning on a sensor you're trying to use is usually a good step one. So a trip to Home Depot was in order. Another low quality pic of high quality content coming right up.

IMG_3463.HEIC
IMG_3464.HEIC

Cat's shirt says it all, "glory."

Just kidding — we got two Ryobi 18V Li-Ion drill batteries and charger plus a car 12V to AC power inverter, and a good 'ol fashion role of duct tape. 160 dollars? Not that bad I guess. Also shoutout to the tools guy at Home Depot for being a fantastic salesman, successfully convincing us to spend 40 dollars more than we originally intended. In our defense, he was right, this was a better buy. The power wires that came with the sensor were already stripped so we really needed zero tools for this job.

IMG_3467.HEIC

My natural state — multimeter and a coffee. I've started carrying my multimeter and pair of inch/metric dial calipers everywhere, and honestly? Would recommend! 

So we put one battery for charging, multimeter'ed the other one to make sure it wasn't too discharged and then duct taped the wires to the battery (yes, we are an atrocity, no we are not sorry in this case, we planned to fix it back on campus). 

IMG_3461.HEIC
Commands.png

So it turns out that the sonar has a serial interface we can use. So we opened a serial port using SerialTools for Mac at the 115200 baud rate. Touched the sensor power wires to the battery contacts and HEY PRESTO!!! SERIAL DATA!!!!! 

Probably the fastest Fischer and I have ever gotten anything working, full credits to Echologger for an easy to set up product. Initially we were going to try Wine, PyNMEA2, PySerial and all that jazz to get this logging at the beach, but after some googling we realized we could switch the sonar from Altimeter NMEA mode to Altimeter Simple mode and it would just spit out a depth in meters. Then we changed the interval to 0.3s so the range could be around 100m as found in the Echologger documentation (this may be specific to this echosounder). 

For a while it wasn't working, because whatever we pointed it at would read zero. And then we realized we were being dumb because a sonar out of water behaves very similarly to a fish in the same situation. So we stuck it in the water, pointed it around, and started getting readings between 1m-9m pretty easily. 

The following conversation between me, Natasha, and Fischer went something like this.

"What else can we do?"

"Well we could point it at things in the Charles and figure out how deep it is." 

"What if we rig it up to a GPS and a sailboat, we have a GPS and we can borrow a sailboat from the sailing pavilion." 

"Don't you have a kayak, and a couple of Blue Robotics T200 thrusters?"

"Oh yea, and I also have an RC receiver, and now we have two drill batteries." 

"Hmmmm, I'm sure we could buy some holders for them on Amazon, they'd arrive tomorrow." 

"Are we actually doing this?" 

"I'm kinda down, isn't Cat opening Metropolis tonight?" 

IMG_3479.HEIC
IMG_3483.HEIC

That night we got back and rolled everything down to the basement of MIT's building 6C. And of course, with any precise engineering project, step one was to make an incredibly detailed and well thought out engineering drawing 😝.

You know, sometimes you just need to get what's in your head on a paper, no matter how crude. This was very much a figure-it-out-as-we-go project. 

IMG_3480.HEIC
IMG_3482.HEIC

The next step was to unfold the kayak and make it a kayak, did I mention this is a folding kayak? Thanks to the amazing design work from the folks at Oru Kayak, this was actually fairly painless. 

Then we had to figure out how to mount the thrusters, and find some materials to work with. We'd all seen many structures that use tubes connected in a geometric structure to mount things to boats, and this was our general concept. So we went to 4-409 to find tubes.

IMG_3486.HEIC
IMG_3487.HEIC

I love the end of the semester because people throw away all the super cool stuff they have in all sorts of random places. So by some miracle, 4-409 had a huge pile of carbon fiber tubes around 1.25" in diameter. Needless to say we took all of them. 

Sarah had also joined us at this point and she had found a tube with a base on it that we could use as a flag pole for the kayak. Of course it needs a flag, what kind of boat would it be if it didn't have a flag? 

IMG_3489.HEIC
IMG_3490.HEIC

As Natasha and I started on the frame, Sarah had decided the kayak should be cow themed and it needed spots, a cow bell, and a cow flag. She was immediately put in charge of decoration. It was imperative to the mission's success that the kayak be "cowyak" themed (Cat came up with the name). 

As Sarah occupied herself with the sticker cutter, Natasha cut the bars into something we could assemble into a square shaped frame to start. Simple design, two horizontal bars, two vertical ones, screws at each corner we would support later. 

IMG_3496.HEIC
IMG_3497.HEIC
IMG_3498.HEIC

Here's a couple of images of the frame starting to take shape. We also went ahead and mounted the flagpole we found right behind the main cockpit of the kayak. 

IMG_3499.HEIC
IMG_3506.HEIC
IMG_3504.HEIC

We added some diagonal support tubes that connected the main square frame to the kayak. These support tubes take most of the thrust forces from the T200s and transfer them to the body of the kayak. We have a lovely picture of Cat inside the kayak trying to tighten the screws that hold these beams on. 

We also, for stiffness, added some cleats to the main frame of the kayak and used tightly wound orange string to create some tension on the bars of the kayak. Looking back on it we really should have run the bars forward and the strings backward because when the thrusters thrust forward it pushes on the string rather than pulling on it, but we thought the structure would be ok for a first prototype.

IMG_3503.HEIC
IMG_3515.HEIC
IMG_3513.HEIC

By this point we had all split up. Kate and Anita had joined us and they were working on the two flags the kayak would have. One "Unmanned Surface Vessel" flag and one "Cow" flag. Natasha was working with Cat on water-jetting pieces we could turn into thruster mounts on a tiny, adorable protoMax waterjet. I was figuring out wiring and still bolting things to the frame including a vertical bar we would use to mount the sonar. And Sarah was making wonderful progress on the stickers. 

We'll kinda break a couple of these things down below.

IMG_3524.HEIC
IMG_3522.HEIC

The thruster mount became simply a bent piece of aluminum with a waterjet hole pattern. Four holes went into the thruster using M3 screws to secure everything and the other four allowed us to use two screws to secure the thruster to the flat faces of the pipes with bolts going through. We placed the thrusters basically in line with where we through the center of mass of the boat would be to give the craft maximum maneuverability.

Screen Shot 2022-06-08 at 10.33.05 AM.png
IMG_3544.HEIC
IMG_3540.HEIC

The entire electronics was very simple. We decided that we didn't want to spend time on the sonar and GPS other than wiring power for now because we weren't sure the rest of the system was going to work. So the idea was wire up power to everything, test the controls, put it in the water, and if it doesn't sink we can work on mapping with the sonar and GPS.

The wiring schematic was very simple, two batteries in parallel, connected to two ESCs in parallel, and some voltage converters to power the other electronics. In the future we want to get to a schematic like this with the Ardupilot in full control but for now the RC control is enough. We essentially followed this tutorial but for two Basic ESCs from Blue Robotics going into a single Flipsky remote controller

Here are the thruster docs.

Here are some docs on RC transmitters, both the L/R sticks are self-centering on both axis for the linked RC controller, so we connected the L ESC to the vertical stick on the L side of the transmitter and R ESC to the vertical R stick. This gives us full tank control over the platform.

Some photos of the final wiring as well as a very rough (sorry) schematic are above. 

IMG_3533.HEIC
IMG_3528.HEIC
IMG_3512.HEIC

Finally we have some photos of the flag (very important). Anita used some pink fabric and stitched some support rods in to give it structure. Then laser cut a stencil out of cardboard and used that to spray paint the letters on. I don't have a good picture of Kate's cow flag in progress but the next photos show it in all its glory a long with the rest of the kayak.

Sarah had taken a soda can, spray painted it gold, dropped some screws into it, and tied it to the front of the cowyak to make a bell that would jingle as the boat rode along.

The next day, we walked it down to the sailing pavilion, and put it in the water.

370e1217-9f7a-4ed3-a9a4-2b3005d1858c.JPG
f913d347-0689-4c14-be04-b7d01082c048 2.JPG

Here's some photos of us carrying the kayak to the sailing pavilion. Shoutout to Hannah at the sailing pavilion for all the help and letting us put this thing in the water safely. We had to take it down the large side ramp to get it to the docks. 

IMG_3553.HEIC
IMG_3550.HEIC

So we did some initial prep before putting it in the water. There was a pretty large consensus among us that the kayak would be too light since it's typically supposed to support a person. So Anita volunteered (we volunteered Anita? same thing) to be the ballast.

We performed the typical system checks, this includes making sure the batteries are charged, the radio works, the structure feels solid, we have a tether line in case we lose the boat, the electronics aren't going to get wet.

And an oar, we handed to Anita, for safety of course. To tell you the level of confidence we had, I'll preface this test by something Andrew's mom said which was "it's going to sink."

IMG_3619.JPG
IMG_3624.JPG

The first test was a leak and system check. We put the boat (with Anita and the oar in it) into the water. We drove her back and forth along the dock testing maneuverability and looked for leaks. Some notes.
 

  • The maneuverability was awesome, our intuition about where to put the thrusters was pretty good. The kayak could turn 360 degrees in place. Acceleration wasn't super amazing but it could stop pretty quickly if we needed it to by throwing it in reverse thrust which, do you really need anything more? 

  • There was only one small leak right under Anita's legs. We think this came from a crack that formed when we bumped the kayak against a wall while transporting it and it cracked along one of the creases it uses to fold up.

  • Side note, the kayak no longer folds up because of the structure and all the electronics. But in the future we hope to fix this. 

Overall, pretty solid first test. Anita had to go so we put Natasha in the boat and decide to go out on a longer adventure. 

IMG_3560.HEIC
IMG_3562.HEIC

So Sarah, Cat, and I grabbed a sailboat from the pavilion and launched it off the dock while Aashini, Andrew, and a few others helped get Natasha into the kayak and pushed her off. Cat steered the boat, Sarah managed the sail, and I controlled the kayak. Together we all sailed out to the middle of the Charles and performed some maneuvers where we got the kayak to follow the sailboat and the sailboat to follow the kayak. 

It was hugely successful actually, we were pleasantly surprised. We has some issues with the sailboat since it was very windy, and we had to stop at the dock once to reef the sail so we could have more control, but it was funnier that it was the sailboat that was having issues rather than the 3-day build kayak. 

According to Natasha and Anita it felt very stable on the water!

IMG_3563.HEIC

Of course after some time the kayak ran out of battery. We weren't really keeping an eye on it (oops, we really need telemetry). So we tied it to the sailboat and brought it back to the docks. 

Honestly, hugely successful! We now have this super cool cow-themed research platform. The next steps are as follows.

 

  • Get the logging working to a laptop with python. We have started writing some preliminary untested code here

  • After that start testing importing this data to ArcGIS for mapping. 

  • Then get the kayak moving autonomously with Ardupilot.

  • Think of adding more sensors.

These will all likely happen in the fall since we are all away over the summer. One idea that Natasha and my friend Liz from back home came up with would be to use this vessel to monitor the start of Algal blooms and to determine the source for the chemicals that cause Algal blooms. That will help us make the Boston environment a little cleaner. So that's hopefully the goals for the future.

Thanks for joining us on this ride, 'till next time.

#cowyak #robots-for-good #environment