Thursday, 18 June 2015

Dollbot #4: Water proofing

Dollbot needs to operate in a relatively calm environment (swimming pool) but needs to be ready to withstand some abuse, e.g. people pulling it underwater, capsizing or being thrown in the water from a certain height.

Engine shafts

The engines are housed inside the container but the shaft has to cross the hull and spin the propeller in the water. After some lengthy research we have learnt two important things:


  • RC boat models all have the same problem, which is typically solved by using a stuffing box, a small tube filled with marine grease that ensures water is kept at bay


  • DC motors can operate submerged in water without any seal


We tried an arrangement to simulate a stuffing box but it proved too complex and error-prone, so we went for exposing a part of the motor to the water and sealing it with a glue gun:



Not sure if this approach will hold the pressure, but it is simple and seems to be effective.

We have designed the propulsion system to be fastened using four bolts, which also need to cross the hull, We have used 3mm x 30mm bolts with washers, and covered everything with glue gun to improve sealing.

The first leak testing showed issues with the bolting: while the motor seal held, water started leaking from the bolts which were not perfectly covered with the glue:



After letting the whole setup dry we added a layer of 'american' tape and re-applied glue to the bolts which resolved the previous leaks, as verified after a 48h loaded test in the water:






Sunday, 24 May 2015

Dollbot #3: Propulsion system

We have settled on a holonomic propulsion system for the Dollbot, this means that the boat can move and rotate in any direction at any time.

Propulsion channels

We are basing our design on the approach taken by the UPenn Modlab team on their DARPA TEMP proposal: a motor pushes water through a narrow channel in either direction to control thrust - there are four propulsion channels, one in each corner mounted at a 45 degree angle, so that through combining directions on each of the channels any direction (and rotation direction) can be achieved.

The following picture shows the flow of water through the channel in each of the two possible paddle directions:



If the paddle turns clock-wise (yellow flow), the water moves right through the channel and the boat steers left. On the other hand, if the paddle turns counter clock-wise (red flow) the water comes out of the left channel exit, steering the boat to the right.

An example of how one of the propulsion channels would be mounted:


We have settled for a €5.95 Polypropylene toolbox as the hull for the dollbot, it will probably need some ballast to avoid overturning too easily but it is a lot more sturdy and water proof than the plastic food container (€1.99) that we had chosen originally.

This layout shows the internals of each of the four propulsion channels once mounted:


You can easily see how turning the motors in either direction the boat can be made to move on any direction or to rotate, the UPenn video includes towards the end a few seconds that show the propulsion system in operation.

We could not find any piece laying around our workshop that would lend itself to be used as the propulsion channel, so we have decided to create a model and 3d-print a few copies with translucid PLA, this is how it looks like:


We will put up some pictures once we have the completed modules in about a week's time.

UPDATE (28/May/2015): Just picked up the printed propulsion modules from our friends at Nativa 3D, who pointed out a flaw in our original design (it's difficult to fit a 30mm turbine through a 2mm hole, thanks Sergio!) so we had to create a new revision. The results are great:



We are already working on the turbines, will put up the final results once we put the thruster together.



Controlling the motors

The propulsion system requires the ship to control four DC motors, we have decided to run these off a separate battery (5500mAh, 7.4V 2S LiPo) to avoid frying the controller and keep the boat operational even in low-voltage conditions when the LiPo needs to disconnect. To control the engines we have chosen the Adafruit Arduino motor shield, which will allow us to address the motors through serial I2C communications and keep the number of components down. We will need to develop a library to control the motor vectoring, so that we can simplify the navigation code.

We still have to get the motors, we are limited to a maximum 3A stall current and to run at 7.4V - nothing fancy, nearly any motor will do given that we are just moving water around at relatively small speeds.

Monday, 18 May 2015

Dollbot #2: Initial design

We have decided to start working on Dollbot first as it works in a more controlled environment than Pescabot.

After a few weeks of tinkering, we have agreed on the following design criteria:

Propulsion

We will use holonomic propulsion, based on the UPenn Moblab prototype (We can't stop watching this video!). This means that the boat can move in any direction and not just the typical forward with steering of more traditional boats.

The holonomic propulsion system uses four small DC motors that need to operate in either direction, so that the water flows through the vectored thrust channels. We will use the Adafruit Motor Shield  (19.95 USD) to control the motors, as developing the H-Bridges ourselves for a robot that will be in the water does not seem like the best idea - this will reduce the size of the control components.

RC Control

Erin wants to be able to control the boat with RC as well as to program it automatically to pick-up and deliver dolls, so we will need to connect a R/C receiver to the system, which will take preference from autonomous control and work as a fail-safe mode.

Autonomous operation

The boat is designed to operate in closed bodies of fresh water (e.g. a swimming pool), we want the autonomous operation to discover the geometry of the pool and detect dolls waiting to be picked up / points where to drop the dolls as well as to do some obstacle / swimmer avoidance. We want to try to use an Arduino Uno as the microcontroller, as it provides an easier IDE than the Tiva, and we all want to participate in the autonomous algorithm design.

Water proofing

We need to operate the robot in the water, no two ways about that :-) We need to think of some water-proofing for the boat, so that even if it tips over the electrical components are protected.

Tuesday, 28 April 2015

Pescabot #2: Flotability tests

We have found an old RC-powered boat that may just work as the base for Pescabot, it has a 27MHz receiver and a (yet-to-be-determined) motor, plus a servo to steer it left or right.

It has very little space for extra hardware, so it is unclear if we will be able to use it as our base model, however we first wanted to check it floated:


We wanted to test both a sea-shore deployment and a "falling from the sky" deployment, as we eventually have the idea to drop-it from a quadcopter.

The tests were successful :-)

Monday, 27 April 2015

Dollbot #1: Functionality ideas

Another of our robot projects for the summer of 2015 is Dollbot, an autonomous doll transport vessel.

Dollbot needs to be able to comfortably fit 2 dolls and move in any direction in a pool of water. The directions can either be programmed or a final GPS destination given to take the dolls to safe harbour.

We will build it in an iterative fashion, as follows:

* Dollbot can move in any direction
* Dollbot can be programmed to move and spin in any direction
* Dollbot can reach a GPS destination


Sunday, 26 April 2015

Pescabot #1: Functionality ideas

One of our robot project for the 2015 summer is Pescabot, an autonomous seagoing fishing robot.

Pescabot will be placed on the seashore with a pre-loaded set of GPS waypoints to fish in and a time limit. Pescabot will cast a line on each of the waypoints and wait for a fish to pull the line, catching it. Once a fish has been caught, it will be reeled in and brought back to the seashore (same location where it entered the water) - if no fish is caught after a time limit (or if the battery is running out) Pescabot will go back to the seashore.

We will iteratively implement the following key functionalities:
  1. The boat can be controlled remotely
  2. The boat can transmit location back to the base station over up to 2km
  3. The boat can navigate automatically using GPS to a set of waypoints and back to the start
  4. The boat can reel out and back in when a fish pulls the line
  5. The boat can cut the line in an emergency
Nice ideas to consider in the future:
  1. Batteries can be recharged using solar panels


Splashbots: projects for summer 2015

Splashbots is our project for the summer of 2015, where we will be developing water-going robots to help with some basic tasks.

Here is a brief intro by the project team describing the concepts:


Water and electronics do not tend to mix well (specially sea-water as will be needed for Pescabot) so we will be learning quite a bit about protection and maintenance techniques of maritime equipment.

For Pescabot we want to learn about GPS on sea-going vessels and the control of the reel.

For Dollbot we want to emulate as close as possible the basic building block of the DARPA "Tactically Expandable Maritime Platform", we love the University of Pennsylvania video.