Wednesday, April 29, 2015
Crowdfunding Cast Episode 138 “Quadmaran”
Crowdfunding Cast interviewd me (Vince) for their podcast. I like how the interview came out. You can hear it here.
Crocus Bay Apr 29, 2015
We took the boat out today to see if it would finally go longer than 30 minutes autonomously. However, it was 4:30 pm when we got to the beach. The course would be just going back and forth between two points along the East side of the bay.
After we carried everything to the beach and sent the boat off we then focused on getting smoothies before the beach restaurant closed at 5 pm, as last time we wanted to get them but missed out. After we started to drink we looked up and the boat was on the rocks to the East. Took the kayak out to rescue it and it seemed ok, so let it go on but followed it. Out from the beach there was a strong breeze from the South. The boat has more trouble turning left and with the wind blowing on the back of the boat it did not make the turn to the North.
Again at about 30 minutes we had trouble. This time the motors had less and less power, and then the side LEDs did not even go on when the motors were turning. These side LEDs (with red and green filters on them) are on the same relay as the motor on their side. So the only thing that made any sense was that the voltage was too low for them to go on. When we got home we checked the main battery voltage and it was a bit under 10 volts. So this late in the day with some clouds the solar was not charging the battery nearly as fast as we were using the power.
There is no school Friday so we hope to be able to launch then closer to mid day.
After we carried everything to the beach and sent the boat off we then focused on getting smoothies before the beach restaurant closed at 5 pm, as last time we wanted to get them but missed out. After we started to drink we looked up and the boat was on the rocks to the East. Took the kayak out to rescue it and it seemed ok, so let it go on but followed it. Out from the beach there was a strong breeze from the South. The boat has more trouble turning left and with the wind blowing on the back of the boat it did not make the turn to the North.
Again at about 30 minutes we had trouble. This time the motors had less and less power, and then the side LEDs did not even go on when the motors were turning. These side LEDs (with red and green filters on them) are on the same relay as the motor on their side. So the only thing that made any sense was that the voltage was too low for them to go on. When we got home we checked the main battery voltage and it was a bit under 10 volts. So this late in the day with some clouds the solar was not charging the battery nearly as fast as we were using the power.
There is no school Friday so we hope to be able to launch then closer to mid day.
EPS Foam can take on water
We took off 2 lbs when we took of the water break. But the boat did not really seem to ride any higher. We wondered if the foam might be taking on some water.
The floats are EPS foam. I had read that it was closed cell but checking further it turns out there is more to it. It is really a bunch of closed cells stuck together with open air gaps between them. So it seems we did not really use the ideal foam for the floats. There have been cracks between the wood and the foam, between the driveshaft and the foam, and so water could get into the foam.
We did a test last night to see how bad this is. We cut out a big piece of EPS foam, put it in a 5 gallon bucket with a sledge hammer to hold it down and filled it with water. Then left it overnight (like 10 pm to 7 am).
We put a piece of Saran Wrap over our digital scale so water would not get to it.
After cut and dust off: 53 grams
Put under water and then shake off: 65 grams
After soaking all night: 170 grams.
So it does take on water. Around 105 grams overnight.
This is not the ideal foam for crossing the Atlantic. We are probably ok going to St Marten and back though.
Testing All Night
We changed the Bluetooth code, connected a 12 volt battery charger to our main battery and ran all night. It was just turning the light on and off (note glow at one corner of solar panel). But to do this our code has to keep running and the bluetooth has to keep working. It did, so we hope that next time it goes in the water it will not have trouble at the 30 minute mark.
Monday, April 27, 2015
Crocus Bay Run Apr 27, 2015
Note you can click the red dots above to get the status info at that time clock.
We took off the water break and programmed the boat to turn sideways to the wind instead when it is supposed to minimize drift, like during the night. It is really turning 90 degrees to a line going to a point where it started this ParkBoat command. We tested this today and it kind of worked. It was doing this at the bottom left between clocks about 5000 and 7000 (300 seconds or 5 minutes). But the wind drag on the back of the boat is much more than the front so it still has to use a lot of battery to stay sideways. The second boat, the orange one, will not have so much unbalanced drag.
It also did the ParkBoat between the first and second loop near the beach. This was only for 1 minute or 3 of the 20 second status reports. These would have been reports where motors were not on the full 200 clock ticks, so seem to be 13433, 13533. This is out from the beach a ways after one loop.
The hope is that a more balanced boat will not need to use the motors too often to stay sideways to the wind and so be able to get through the night using minimal battery and still not drift too much. Getting rid of the water break saves about 2 lbs, so it will be nice if we can get this to work reasonably well.
This time the phone was charging from the main battery and we set the developer option for the phone not to sleep as long as it was charging. So it did not go off after 30 minutes like last time. However, the bluetooth connection failed after 30 minutes, so instead of making the 90 degree corner like the first pass it drifted up and to the left. Then we paddled out and towed it in and that is the line in the top right.
The boat has a measure of its own health. It can tell if it is turning the way it wants to or going forward when it wants to. As it drifted off course the health measure went negative. We will probably change the software to reconnect to the bluetooth when its measure of health is negative.
Wednesday, April 15, 2015
Java App Features
There are several things that we really want to do that just can't be done in App Inventor. We will make a Java app that we can call from App Inventor to do these. The list of functions is below. If someone has some function they would like to use from App Inventor, please let me know! We want to make our Java app useful when making all kinds of bluetooth toys into robots using an Android phone and App Inventor.
This app we will probably sell on Play Store for $10. It could be nice for anyone using App Inventor.
Some other things that we might want to add to this Java app:
We will do a project or two where we use an Android phone, App Inventor, our Java app, and some toy to do something fund with robot vision.
- Get battery charge level and temperature
- Turn on and off the LED on the phone
- Use camera without any operator help (both front and back, and different resolutions, save to file)
- OCR (will just specify color range for letters, return text)
- Computer vision (where is the Red blob, which way to yellow ball, return X,Y and number of pixels)
- Get distance camera autofocus reports
This app we will probably sell on Play Store for $10. It could be nice for anyone using App Inventor.
Possible Additions
Some other things that we might want to add to this Java app:
- Access/control GoPro camera. There is a GoProJavaApi.
- Measure sonar distance using phone speaker and microphone
Demo of App Inventor with Vision
We will do a project or two where we use an Android phone, App Inventor, our Java app, and some toy to do something fund with robot vision.
- Lots of bluetooth toys
- More bluetooth toys
- Deskpets - like $28 for a cute little toy with tank treds - also shooting tank
- Sphero - ball rolls around based on commands - with vision could be fun LED glow should make it easy for vision to identify ball
- Robot arm
- A toy car
- Toy Truck
Tuesday, April 7, 2015
Computer Vision
We would like to be able to use computer vision to do the following:
These are enough reasons to figure out how to use computer vision software and we will probably come up with more over time. The phone has a 2 cameras, so there is no extra cost. The one aiming backward can look at a fishing pole. The one forward can see where the boat should go.
The phone also has a light, so computer vision could work even at night.
Using a $50 robot arm and OpenCV
An example of using OpenCV and phone for a robot.
Some videos for learning about CV in general and openCV
- Obstacle avoidance - recognize seaweed or other things and not hit them
- Autonomously link together with another boat out in the ocean
- See when a fish was making the fishing pole bend
- Have the boat come right up to a dock so it was easy to retrieve
- See where the coast is or where waves are breaking over a reef
- See a which way a bit of yarn was blowing to know wind direction
- See if there are whitecaps so can turn into them to not to tip over
- read main battery voltage from sensor LED lights(OCR)
These are enough reasons to figure out how to use computer vision software and we will probably come up with more over time. The phone has a 2 cameras, so there is no extra cost. The one aiming backward can look at a fishing pole. The one forward can see where the boat should go.
The phone also has a light, so computer vision could work even at night.
OpenCV software for Computer Vision
openCV - Open Source Computer Vision - Seems to be the most popular and runs on Android, Windows, and Ubuntu. Documentation online. We have started playing with this. We can compile sample vision apps with Android Studio and load onto our phone. Modifying them to do what we want does not seem too hard.
Using a $50 robot arm and OpenCV
An example of using OpenCV and phone for a robot.
Some videos for learning about CV in general and openCV
- Tutorial: Real-Time Object Tracking Using OpenCV
- Finger drawing - with OpenCV
- Brush drawing - with OpenCV
- OpenCV Tutorial: Multiple Object Tracking in Real Time (1/3)
- Lecture 01 Introduction to Computer Vision
- Real Time Object Recognition using SURF and OpenCV EEL6562
Some books on CV
With GPS one boat can get near the other boat but for the last 50 feet of the approach we probably want to use the camera.
We are planning to use powerful magnets on a flexible thing so that docking has a little margin for error. But this is only like an inch in each direction.
If we get near the waves will make for some up and down motion, so this should match up given a bit of time.
The boats both have compasses. They could talk to each other with bluetooth, wifi, SMS, or G3 Internet. So one can point into the wind and tell the other what GPS coordinates it is at and what heading and speed (slow or stop) it will be at.
Could have just the CV in Java and the rest of the code still in App Inventor. There is no need to pass images back and forth so communication is not a problem.
|
Thoughts on Boat Linkup
With GPS one boat can get near the other boat but for the last 50 feet of the approach we probably want to use the camera.
We are planning to use powerful magnets on a flexible thing so that docking has a little margin for error. But this is only like an inch in each direction.
If we get near the waves will make for some up and down motion, so this should match up given a bit of time.
The boats both have compasses. They could talk to each other with bluetooth, wifi, SMS, or G3 Internet. So one can point into the wind and tell the other what GPS coordinates it is at and what heading and speed (slow or stop) it will be at.
Could have just the CV in Java and the rest of the code still in App Inventor. There is no need to pass images back and forth so communication is not a problem.
Subscribe to:
Posts (Atom)