Thoughts - Seanmatthews/rowboat1 GitHub Wiki
Jotting down thoughts and lists here that will eventually mature into their own documents.
-
proprioception -- local positioning (dvl?) -- internal temp -- moisture sensor
-
sensing environmental conditions -- temp -- current -- lumens
-
software architecture -- logging -- ROS -- video/image compression & storage —- ubuntu os —- vagrant dev env, perhaps with docker if it’s gotten easier to use
-
low-level movement -- remaining still in currents -- moving around local 3D axis
-
vision -- image processing (filtering deep water images, etc) -- computer vision
-
obstacle detection
-
electronics -- high level processing, programmable board -- motor controller boards -- radio comms -- wifi, LF band, pings for underwater? -- cameras -- CF card
-
simulator -- perfect world simulation for modeling movements when current is ignored
-
mechanical -- hull integrity -- ballast system -- buoyancy control (compressed air)
==========================
- The main sbc should do the image processing, as it will be the most powerful. This sbc will also control all the high level behavior, so that will be a risk, for memory especially.
SBC Candidates
ROS components
- camera interface
- thruster motor interface
- thruster controller interface
- ballast interface
- moisture sensor interface
- low level navigation
- high level navigation
- sonar interface
- tactile sensor interface
- sonar fusion
- thruster feedback fusion
- temperature sensor
- arbiter
- environment mapper (external sensor fusion)
Hardware
- 1x dvl
- 8x sonar
- 2x thruster (http://bluerobotics.com)
- 1x lexan globe
- 1x lexan tube
- 2x battery pvc stand
- 1x hd camera with light
- 1x temperature sensor
- 1x high frequency pinger
- 25x small co2 container
- 4x moisture sensor
- ?x tactile whisker sensors / bumper sensors
- 1x cell transceiver w/gps
- 1x mini pc104 stack
- 2x raspberry pi (one to handle low-level and high-level navigation, the other for high-update sensors)
- 1x IMU
Primary SBC Required I/O
- eth
- wifi
- pwm? (for ballast?)
- 1x GPIO for temp
- 8x GPIO for sonar
- 1 GPIO per tactile (let’s say ~8)
- 4x GPIO for moisture sensor
=====
- Add board-specific install script to each board—the script installs package requirements, checks out tagged version of code, and builds code. - Add board-specific startup script to each board—the script starts all on-board software - Safety board maintains a node monitor - Safety monitor has the ability to force kill any other node—if it detects a problem, for example, it should be able to kill high-level behaviors and/or thruster control - Safety monitor & control has top priority in the system - Ambient temperature sensor to GPIO? - https://www.sparkfun.com/products/245 - https://www.sparkfun.com/products/10988 - https://www.sparkfun.com/products/11050 - Moisture sensor to GPIO? - http://www.mouser.com/ProductDetail/Gravitech/I2C-HUTMP/?qs=sGAEpiMZZMvoGNntvmgYkHmFdY5RRUxdKjQNVG4q%2fToFUGWtRTp2ug%3d%3d - Polycarbonate fabrication: http://custom-division.com/ - Divers - http://www.oasisnyc.net/stewardship/organizationdetails.aspx?id=1529 - Urbandivers.org
=====
Early testing If I can manage any of this, here are some early tests that don’t include some of the more difficult-to-design equipment.
- Thrusters on metal frame with imu and computer in watertight case with ethernet port, suspended in the center of the metal frame. Put this in a clear vat of water and try to make the auv suspend itself.
=====
Thrusters Blue Robotics will be the provider for Rowboat1's thrusters, primarily because they're afforidable and extremely responsive. They have two models, the T100 and T200. T100 offers a maximum 2.36kgf/1.82kgf forward/backward, while T200 offers 5.1kgf/4.1kgf forward/backward.
The rest of these are educated estiamtes...
I estimate the weight of the vehicle to be a maximum of ~13.61kg (~30lbs). From various sources on the internet, none of the various currents in the Hudson River, outside of storm conditions, should travel faster than 3 knots (~1.54m/s).
The max backward thrust on the T100 amounts to ~17.85 newtons. So if the T100 can accelerate 17.85kg to 1m/s2, then it should be able to accelerate 13.61kg to 1.31m/s2. Someone check my math. When we have a negative velocity with a positive acceleration, the AUV will come to a resting position, but not instantaneously against a 3 knot current. This is not acceptable. The obvious answer is to turn the AUV around and use the higher, forward kgf. The same calculation— ~23.14 newtons, which would accelerate a 30lb AUV to 1.7m/s2.
=====
- Rhino3D for CAD
- http://servo.texterity.com/servo/201510/?folio=40&pg=NaN#pgNaN
- Check here for OpenROV software + electrical design: https://github.com/OpenROV