Just got some exciting news this evening: the new hull for AMOS 4.0 will soon be ready! Mostly just some painting left to complete. Here are some pictures that Steven (the designer and builder) sent about an hour ago:
Monday, February 15, 2021
The Next One
Tuesday, January 26, 2021
AMOS Servers and Correction Data
Over the past couple of weeks some good improvements were made to the internal communications software running on AMOS. When using the network / Internet communications mode, the previous method of communications relied upon running a server with a fixed IP address to act as a communications broker between AMOS and the host computer or phone that was being used to control the boat and view data. The server used some software that I had written called "BoatServer" and it just ran on an available Windows computer here at In Nature Robotics HQ (i.e. my basement). It required setting up the WiFi router to forward network traffic on a particular port to that computer, and also required both the host device and AMOS knowing what IP address our Internet service provider had assigned to the house. From time to time this address would change, perhaps once every few weeks. The solution was reliable most of the time, except when it wasn't. And when it wasn't, it would sometimes mean that either AMOS or the host device was unable to talk to the BoatServer software until the BoatServer software was forcibly closed and restarted.
For a while I had been considering going back to the original simple network communications approach that I had started with a couple of years ago: running a TCP server directly on AMOS. This always worked quite well over the home WiFi network, but did not work at all when using the hotspot device on AMOS to get a cellular 4G connection to the Internet. Incoming server connections were not supported over the 4G connection. At least not directly. One possible solution was to make use of the remote.it service that I had used previously for controlling the boat over a PuTTY connection. Unfortunately though, this service seemed to have grown a bit in complexity since I used it last 2 years ago, and I was unable to follow their instructions for installing it on the Raspbian operating system that AMOS uses. So I tried switching to ngrok (https://ngrok.com/) instead, which thankfully worked great and was quite simple to install, allowing me to setup fixed IP addresses and ports for a PuTTY connection and a general TCP network / data connection for communicating between AMOS and the host device software.
This new reliable mode of network communication was used to include RTK correction data from an RTK base antenna (once again setup on the playhouse roof). An FTDI USB-serial converter was used to receive the RTK correction data at the PC and transmit it to AMOS over the regular data / command link. At AMOS, the RTK data was extracted from the incoming commands and data and sent over a second USB-serial converter to the GPS receiver board, where it was used to apply corrections to AMOS's GPS position. The software running on AMOS was also slightly modified to output a GPS status number which was just 0, 1, or 2 depending on whether no GPS data was available, regular GPS data was available, or RTK-corrected GPS data was available. This was tested out in cold, windy weather this past weekend with pretty good results:
Saturday, January 9, 2021
Improved Magnetometer Calibration
Much of this new year has been spent working on improving the calibration of AMOS's magnetometers. The calibration jig discussed in the last blog entry has been completed and tested out, and seemed to work pretty well! Next up was an apparatus for performing a simple temperature calibration of the magnetometer sensors. To keep the temperature calibrator as simple as possible, it was decided to just put a small heater and fan into a small box with the device under test, and have everything hooked up to the Raspberry Pi on AMOS. Fortunately I had nearly all of the required parts already on hand: a spare heater cartridge from the 3D printer, an old heatsink and 12 V fan from a decades-ago junked desktop PC (never throw anything out, you might need it someday!!! 😜), an electronics enclosure box that had previously been embedded in the failed foam hull (see https://readerforgmail.blogspot.com/2020/11/breaking-mold.html), a DC-DC converter, and a 4-port relay (with just one fried port from the previous paddle experiments: https://readerforgmail.blogspot.com/2020/08/paddle-test-take-2.html). I did need to buy a 24 V supply though to power the heater.
Here's a pic of the interior of the temperature calibration box once it was all put together:
Wednesday, December 30, 2020
Holiday AMOS Work
Work on AMOS took a brief pause for Christmas, but has continued on during this final week of 2020. On Monday, I had wanted to do another test of the RTK / GPS equipment using a laptop hooked up to the base station equipment (in the playhouse) and a second laptop hooked up to the remote "rover" equipment, that was moved around the backyard. This was similar to the previous test done last week, except a laptop replaced AMOS as the rover. Using a laptop running Windows allowed me to run the Windows diagnostic software that came with the equipment, to see what mode the rover was in ("acquiring 3D position fix", "RTK float mode" or "RTK fix mode"). The latter of these modes provides the best position accuracy and precision, down to cm-level. The weather that day was a bit rainy and snowy, which required the use of this handy recycling box / makeshift laptop shelter:
Tuesday, December 22, 2020
New AMOS Board
(EDIT, Jan. 07, 2021: For more info on AMOS and In Nature Robotics, please also visit https://www.innaturerobotics.com/)
It pained me somewhat to carve up a brand new surfboard fresh out of the box, but I used the two AMOS electronics boxes as guides to carve out rectangular holes in the bow and stern and then wedged the boxes in. The fit was pretty snug, so I didn't bother gluing anything down:
This last video showed a bit of a problem that the compass was having with giving accurate heading when the boat should have been moving south. The compass error must have been pointed towards the southeast, because the boat would start in that direction, realize that the new target direction was southwest (or even west) to get to the next waypoint, and then move in a big curve to correct for the initial path error. The temperature in the electronics box started off at 8 degrees C at the start of the test, and fell to 3 degrees C by the end. The magnetometer calibration was done at -3 degrees C, so that might have been a source of error. And probably there was some error from the Z-axis (vertical) magnetometer on the compass, since it had never been calibrated on this unit, and the new inclined angle of the bow on this boat would have caused that magnetometer to come more into play for determining heading.
Thursday, December 17, 2020
Testing Out New Gear
Since the test with the new motor described in last week's blog ended abruptly with a tree collision, I went back the following day to try again, this time with a better "cold-temperature" magnetometer calibration. I also launched the boat from the kayak, just beyond the trees as a precaution. There was a light wind, a fair bit of current, and the sun was out providing a bit of warmth. It was almost possible to forget that it was the middle of December.
The new motor did great - going against the current I believe it was a lot faster than the old motor would have been:
I ordered a 6 foot kids surfboard:
a feel for the accuracy / precision without using the RTK base unit, I put the rover unit on AMOS and carried it around the perimeter of our fence, about 1 foot inside the fence:
Thursday, December 10, 2020
New Build With New Motor
Much of the past few weeks have been spent assembling the electronics boxes for the next AMOS version. The LiDAR module just arrived yesterday, so it is not on yet, but pretty much all the other electronics are assembled, including a new motor.
Both boxes combined, and including the 10AH battery weigh only about 3.5 kg. In a pretty crude test involving a kitchen scale and the propulsion / battery box positioned with its back end on the scale, I was able to compare the lifting force of the two propellers for approximately the same input voltage, and the same 10" propeller. The new motor completely outstripped the old one, producing 2.5 times more lift for approximately the same input power, i.e. about 1300 g of force vs. about 500 g. Excited with these results, I strapped the electronics boxes onto the old AMOS surfboard:
And took it down to the river this morning for a test:I don't remember temperature having as profound an effect on the previous AMOS boats, but then again I only did a limited amount of testing at negative temperatures. So to be ready for the next test (assuming it will be somewhat close to -3 deg C), I re-did the circle calibration in the backyard (the original calibration was done at room temperature). It wouldn't be hard to have the boat do its own magnetometer calibration in the water. But better would be to calibrate and model the offset and possibly gain fluctuations of the AMOS-IMU sensors with temperature.










