P18250: Smart Buoy
/public/

Detailed Design

Table of Contents

Team Vision for Detailed Design Phase

The team’s goal for phase 4 is to finalize all of the MSD 1 deliverables and prepare for MSD 2. The first priority is to finish the detailed design of all of the subsystems. This shall include models and drawings for anything that will be custom built, and a bill of materials for anything the team will be purchasing. Next, test plans will be developed to have ready for MSD 2. This will include all of the major details of what components will be tested, what they will be tested for, and how. There will be an update of risk assessment, and lastly a project plan will be put together for MSD 2. Over the course of this phase, the team successfully completed all of the goals listed above. There are a couple small components that still need to be designed such as the servo mount and the electronics box rack but these components are very simple and should be easy to manufacture. These, along with a couple other things will be easier once we have all of our components in hand so that we can design around actual dimensions and features. Below is documentation for all of the team’s accomplishments during this phase.

Mechanical Design

Frame Brackets

Brackets will be custom made from 3” angle stock aluminum. Some brackets will be standard T-brackets.

Motor

Mounting

The trolling motor will be clamped to a wood block that will be bolted to the frame rail, as can be see below in to following picture:

Motor Mount model

Motor Mount model

The following analysis we conducted to validate that the motor mounting method would be sufficient:

Motor Mount FBD

Motor Mount FBD

Mount Factor of Safety

Mount Factor of Safety

The motor has a max thrust of 45lb at 36in for a max moment of 135 lb-ft of torque. Solving the equations above result in a factor of safety of to yielding 22.7 for the aluminum rail which is more than sufficient.

Steering

The most critical part of choosing a steering servo is that it can provide enough torque to turn the motor under any conditions that it may need to withstand. In order to figure out a minimum torque the motor must provide, we first did some theoretical calculations, which can be seen below:
Steering Torque FBD

Steering Torque FBD

Steering Torque Calculations

Steering Torque Calculations

Using an alpha=60 deg/s^2, omega =10 deg/s, we can then solve for an estimated torque requirement of T=1.87 lb-ft.

Before we made a decision on which servo to purchase, we decided to pursue further methods of validation in order to make a more confident decision before spending money. In order to do this, the team came up with an test that could be run for this validation:

Due to his easy access to boats through the RIT Sailing team, Chad brough the trolling motor to a practice with him at Sodus Bay. There, the trolling motor was mounted to the back of the team’s “Crash boat”. A fishing scale was then attached to a 6in arm and used to measure the torque needed to turn the motor. The speed of the crash boat was varied throughout these tests, as well as the angular velocity and max angle of the motor. The max recorded force on the scale was 2.5lb, with a .5 lb uncertainty. Therefore, this results in a max required torque of 1 to 1.5 lb-ft, which is a very reasonable number.

This experiment was run without the trolling motor powered, and we expect the steering to require more torque while in this case. Therefore, will be adding a large factor of safety to the required torque of our servo we choose to account for this.

A linear actuator with potentiometer feedback has been chosen to steer the trolling motor. Using the linear actuator instead of the gear and sprocket originally considered allows a simpler mechanical design and less maintenance. The linear actuator will provide the necessary steering torque and has flexibility for torque adjustments.

Steering Angular V

Steering Angular V

With this actuator chosen, we wanted to validate that it could meet our turning speed requirements. Because of the geometry of the steering mechanism,the steering speed varies based on motor angle. The following calculations were used to calculate turning speeds, where the first equation is the lowest angular speed over the path of the actuator’s motion, and the second equation is the fastest angular speed over the path of the actuator’s motion.

Steering Angular V

Steering Angular V

At the max load of the actuator, the min and max angular speeds are 9.7 and 13.7 deg/s respectively. At no load, the min and max angular speeds are 11.5 and 16.2 deg/s respectively. The real load should be somewhere in between these two stated. Also, the vast majority of the steering will be done over small angles where the system will be closer to the max speeds. Regardless, the team set a minimum turning speed of 10 deg/s, and this is met in all of these cases.

Below is the geometry of the steering mechanism:

Steering Geometry

Steering Geometry

Steering Mounting Geometry

Steering Mounting Geometry

The following equation defines the length of the actuator (L) as a function as the angle of the motor, along with a plot of this curve.

Steering Function L

Steering Function L

Steering Calibration Plot

Steering Calibration Plot

This however needs to be inverted in order to get the angle as a function of length. Due to the complexity of the equation, it cannot be inverted analytically, and must be done numerically. To do this, 10,000 points of the function were plotted and inverted by switching the axis. Then a curve fit was run on these points. This plot and curve fit can be seen below. The function looks like it is cubic, but is also very linear, so both a cubic polynomial fit and linear fit were used to get angle as a function of L.

Steering Calibration Linear Curve Fit

Steering Calibration Linear Curve Fit

Steering Calibration Cubic Curve Fit

Steering Calibration Cubic Curve Fit

The resulting equations ar the following: Cubic: theta = 0.0591L^3 - 0.7104L^2 + 12.336L - 44.703 R=1

Linear: theta = 10.163L - 43.494 R=.9992

While the cubic curve fit is perfect, the linear curve fit is extremely close to the theoretical data. Because it will make calculations easier for the microcontroller, the small discrepancy is tolerable and the linear equation will be used for steering going forward.

Visibility

Orange plastic fabric will be used to make the buoy visible. The fabric will be attached between the base of the frame and the solar panel by bungee cords.

A calculation was done to determine the maximum wind speed the buoy will tolerate before tipping. The engineering requirement was to survive 15 knot winds. Treating the wind as a drag force on the orange plastic fabric, it was found the buoy will survive 38 knot winds, exceeding the engineering requirement.

Weight Distribution

The four largest weight components have been placed to ensure even weight distribution. These are the battery, motor, winch, and anchor.
Component Layout FBD

Component Layout FBD

Software Design

Updated State Diagram

Buoy State Diagram

Buoy State Diagram

The updated state diagram contains a few changes from the previous version. The standby state is new, allowing for the user to stop the buoy and have it wait until the command is given to leave the state. The anchor states now only have one entrance route and one exit route. The purpose of this is to hopefully simplify the operation of the anchor and prevent problems that could arise from the lack of information about the anchor. The only data about the anchor that will be available is when it hits the bottom of the body of water or when it hits the winch. Forcing the full deployment or retraction of the anchor will give us control where we have data.

Use Case Diagram

Use Case Diagram

Use Case Diagram

The use case diagram is very similar to the previously created functional diagram, but hasa focus on the software of the buoy instead of the buoy as a whole. The inputs are the user and the two sensors, the IMU and the GPS. The outputs are the data back to the user and the sailors that may see the lights from the buoy.

Heading Calculation

Calculating the heading that the buoy needs to move to get from its current location to its target location is vital information. Using the heading between our start and end points with the current heading of our buoy given by the IMU, we will be able to correctly steer the buoy towards its destination.

The equation for the heading is:

X = cos(destination_latitude) * sin(destination_longitude - current_longitude);
Y = (cos(current_latitude) * sin(destination_latitude)) - (sin(current_latitude) * cos(destination_latitude) * cos(destination_longitude - current_longitude))
Heading(radians) = arctan(X/Y)
Heading(degrees) = 180 * (heading/pi)

The input coordinates must be in radians, and the Heading comes out as radians and will be converted to degrees for ease of use.

Distance Calculation/Decision

Calculating the distance between the buoy and its destination helps with knowing when the buoy is close enough to its destination to start preparing for the anchor drop and for other preventative matters such as a course that is over the communication range of the buoy. Two formulas were found that could do the job and are shown below:

Haversine Formula

Haversine Formula

Equirectangular Approximation

Equirectangular Approximation

When deciding on the formula to use, the main points were accuracy and complexity. The first one, the Haversine Formula, is the most accurate formula for computing distances that span great distances on the Earth. Equirectangular Approximation is less accurate as it doesn’t account for the curvature of the Earth, but boasts a significant drop in complexity.

After testing these formulas at the range the buoy will be travelling (1-2 miles), it was found that Equirectangular Approximation was less accurate than the Haversine Formula at 1.5 miles by a factor of tenths of millimeters. Considering the fact that the tolerance for the buoy’s location is 25 feet, Equirectangular Approximation has been chosen for its simplicity and accuracy.

While the navigation algorithm is not finished yet, here are some points that are being considered in the building process:

Electrical Design and Flowcharts

Full schematics: The Arduino Due will be connected to five subsystems: Movement, Sensors and communication, Lights, Battery management system, and Power and Sensors:

Arduino subsystems schematics

Arduino subsystems schematics

IMU/GPS

Arduino subsystems schematics

Arduino subsystems schematics

MMPT charger

Arduino subsystems schematics

Arduino subsystems schematics

Lights

Light schematic

Light schematic

XBee

Arduino subsystems schematics

Arduino subsystems schematics

Bill of Material (BOM)

Bill of Materials

Bill of Materials

The working document can be found here.

Test Plans

The full document of test plans can be found here.

Steering:

Steering test plan

Steering test plan

Microcontroller:

Microcontroller test plan

Microcontroller test plan

Motor:

Microcontroller test plan

Microcontroller test plan

Winch:

Microcontroller test plan

Microcontroller test plan

Wireless Communication:

Wireless Communication test plan

Wireless Communication test plan

GPS:

GPS test plan

GPS test plan

Navigation:

Navigation test plan

Navigation test plan

Risk Assessment

Risk Assessment at the end of Phase 4

Risk Assessment at the end of Phase 4

The live Risk Assessment sheet can be found here.

Design Review Materials

The Design Review Presentation can be found here.

Plans for next phase

MSD 2 Gant Chart

MSD 2 Gant Chart


Home | Planning & Execution | Imagine RIT

Problem Definition | Systems Design | Preliminary Detailed Design | Detailed Design

Build & Test Prep | Subsystem Build & Test | Integrated System Build & Test | Customer Handoff & Final Project Documentation