Tuesday, December 31, 2019

AMOS's New Year Resolutions Part 2

My blog post from a year ago happened to be the most popular in terms of views for 2019 by a long shot. I'm not exactly sure why. It was about AMOS's New Year resolutions, so maybe people were curious, or maybe it was just some fluke of Google Search that happened to funnel some people to my blog. At any rate, in this post I'll look at how AMOS fared in its resolutions for 2019, and then make a few new ones for 2020.

AMOS wasn't ready for autonomous operation until the end of August, which wasn't really optimal in terms of the amount of sunlight available. Its overall reliability was greatly improved over the 2018 version though, and it managed to operate autonomously for three consecutive days on two separate occasions. Had AMOS been ready to go autonomously back in May, it is conceivable that the full 1000 km total distance goal might have been attained. For getting more than 50 km in a single trip, I think this would only be possible with a larger battery.

So just like most people, AMOS didn't quite stick to all of its resolutions. Now for the new ones in 2020:

Time will tell whether or not these are achieved. In working towards the first two resolutions, I am presently learning about JavaScript and WebGL in order to make an online custom ordering system for AMOS. The idea is to have a 3D web interface where you can pick and choose what elements of the robot you would like to have, see what the robot looks like in 3D, rotate it around, zoom in, etc., see its overall specifications and capabilities, and also see how many dollars the whole thing costs.

Wednesday, December 25, 2019

AMOS Featured in the MagPi

Merry Christmas / Happy Holidays!

I was planning on taking this week off from the blog, but just discovered this evening that AMOS appeared in the January 2020 edition of the MagPi: https://magpi.raspberrypi.org/issues/89/pdf. This is the official Raspberry Pi magazine. So definitely pretty cool, and worth bragging about! 😊

The magazine edition can be downloaded for free from the above link, but here are some screen captures of parts of it:

Tuesday, December 17, 2019

Starting to Get Real

A few small things happened this week that helped to reinforce my belief that AMOS can be a viable product.

On Friday, some market research reports that I had requested through Venn Innovation and MaRS Knowledge & Insights came in. In total there were 9 different reports mostly dealing with water monitoring technology. I've only read 2 of the reports so far, but it is clear that the World's water supply is increasingly being threatened by pollution, global warming, changes in weather, and other factors, and that there is a growing demand for reliable, effective monitoring technology for making sure that our water is safe. It seems clear to me that automated robotic water sampling will be needed in the future; hopefully AMOS can be part of that.

On the software side of things, with the help of the ArcGIS API, I came up with a pretty simple interface for planning a route for AMOS:

You basically just left-click the waypoints in the sequence that you want AMOS to follow, or right-click on a point to remove it. Then click the 'Save' button to save the route to a text file for upload to AMOS. It sure beats entering GPS coordinates by hand. I've made mistakes that have resulted in some serious head scratching when AMOS started to head off to the latitude and longitude of my typo.

In Nature Robotics now has an official presence on Twitter: @nature_robotics (https://twitter.com/nature_robotics). It was encouraging to see how many people there are on Twitter that are actively engaged in water monitoring and research about water. Many thousands to be sure. In Nature Robotics now follows a little over 200 of them, and will be following more gradually.

Over the course of the last 21 months that I've spent working on AMOS-related things, some spare parts have managed to accumulate around our basement. My part-time employer (Measurand Inc.) is having a Secret Santa gift exchange this year, with the rule being that the gift must be hand-made or less than $15 in price. Since I drew the Occupational Health and Safety Coordinator, I thought I could make some use of a spare humidity sensor and Arduino to help him make sure things aren't too hot, cold, humid, or dry in the workplace:

Tuesday, December 10, 2019

Anchor Development, Mapping Software, and Getting Out to Socialize

This week I experimented with a few different physical configurations of a microswitch and a 3D-printed "bumper" for the anchor, so that the anchor software would have some definite way of telling when the anchor was fully lifted up out of the water. Easy stuff right? Nope. The wrench that I am currently using as an anchor tends to sway and rotate a bit as it is being lifted up on the fishing line by the stepper motor. My initial iterations of the bumper were too small, and generally the wrong shape to be able to consistently strike the microswitch. Also, the microswitch wasn't really at an ideal angle for making contact with the bumper. I now have a conical shaped bumper which is large enough to strike the microswitch on the crane at the right angle, and still small enough to probably avoid getting stuck on the edge of the boat. I'm going to have to adjust the motor stepping rate though, because it currently slows down when it thinks it is getting close to the switch, which can sometimes cause enough vibration to set the switch closed prematurely. If changing the motor speed doesn't work, maybe changing the software to wait for a slightly longer switch closure time will work better.

I have also spent a couple of days doing tutorials and trying to learn about the ArcGIS software development kit (SDK) for adding really fancy mapping features and graphics to the user software for controlling AMOS, generating a mapped path for it to follow, and viewing the resultant data in a nice eye catching format. It's a pretty huge SDK, but initially at least, I'll probably only need to use a small portion of it, so hopefully by next blog I'll have a cool little software demo to show for my efforts.

Even robot nerds need to get out sometimes, have some beer and pizza, and socialize a little bit. As I've written before,  In Nature Robotics is part of the Venn Garage program (http://www.venninnovation.com/en/venn-garage) and this evening there was a social event to meet the other startup members. There was even a friendly "pitch" competition in which the founders pitched their businesses, except it was with a bit of a twist, you had to be playing ping pong while doing so.

Venn Garage pitching business idea while playing ping pong.

I was able to listen to other people talk about their business while playing ping pong, but when it came time for me to speak, I found it impossible to concentrate on the ball too... I mostly hit wild shots or net shots while I tried to explain in a short minute what I was doing with AMOS. It was fun though, and interesting to hear about all the diverse ideas that people were working on. There might even be some potential contacts and / or opportunities for AMOS that originated from this too, which would be awesome!

Wednesday, December 4, 2019

AMOS-IMU Orientation Module

This week saw the addition of another product listing in the In Nature Robotics Ltd. web store, the AMOS-IMU Orientation Module: https://www.innaturerobotics.com/product-page/amos-imu

Here's a picture of me holding it so you can get some idea of its size:

It is the same orientation module that I have been using inside of AMOS this year, and it has worked quite well. It includes three-axis accelerometers, magnetometers, gyro sensors, and two temperature sensors, all of which combined with some simple calibrations make for a very nice, compact orientation sensor, with good dynamic response and resolution of around 0.1°. It even has a barometric pressure sensor, but I haven't tried that out yet. Documentation for the module, source and library files for Arduino and Raspberry Pi are now added on the website here: https://www.innaturerobotics.com/support.

I also took some time this week to come up with a simple means for achieving a basic temperature calibration for the ACS712 current sensor and the AMOS-IMU. I was hoping to use a simple apparatus powered by AMOS's 12V battery, and using an Arduino Uno board for collecting and storing the data in SRAM:

The only drawback of this approach was that whenever I plugged in the USB cable into a PC to download the data, the Arduino would reboot itself and lose whatever data happened to be stored in the SRAM. So I just got rid of the battery and ran a USB cable through a small opening in the box into the PC, to log the data in some terminal software (Tera Term). This actually worked pretty well. The interior of the box started off at around 20 °C and after the box was placed just outside our doggy door, the temperature dropped down to about 0 °C after an hour. I found that the change in output of the ACS712 was pretty much exactly what was specified in their datasheet, and probably not worth bothering to correct in software. I haven't checked the data for all of the orientation sensors yet; they might require some slight temperature compensation in software.