Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: THEend8_
MEC3027/8058 Assignment
Introduction
You are to develop a scale model version of an autonomous boat. The boat is driven by two
propellers (each with its own motor) at either side of the boat allowing for differential
steering. The boat
should be able to self-navigate whilst avoiding objects. The boat needs to relay all sensor
information back to a Labview based interface and this Labview interface will also send
signals to the boat for steering and speed control. The boat should be full autonomous but
with the option of manual override in case of any unforeseen problems. You do not need to
complete the mechanical design of the boat (a basic schematic will suffice) but you will need
to develop any electrical circuitry and any program coding to complete the task.
Specifications
Drive
The vehicle is battery powered and has two dc motors (run in open loop) to drive the
propellers. These motors are be driven forwards via a single L293D chip (i.e. one chip to
control both motors) at variable speeds. The steering is to be accomplished by running one
motor faster than the other (i.e. to turn right the left motor should run faster), the greater
the difference in speed then the faster the rate of turn. A Labview program will issue speed
and steering values (to a master Arduino) to be used by the motor control program
appropriately.
Sensors
You must include the following sensors on your boat:
• 1 ultrasonic sensor placed at the front of the boat (the boat should slow down if
something is in front of it) and 2 ultrasonic sensors pointing towards either side of the
boat as a warning of any side impacts
• a bumper (microswitch or similar) to immediately stop the motors if a collision is
detected (ideally the Labview interface gives you the option of what to do next following
such an event)
• a slave Arduino (for example Slave IMU) connected via I2C that transmits magnetometer
readings to the master Arduino – use a potentiometer input into this slave Arduino to
imitate a compass heading.
Labview interface / control
• The interface needs to clearly display all sensor information. The Labview interface
should be able to initially load and process sensor calibration data from a file so that
values being received from the Arduino can be adjusted/scaled accordingly.
• Fuzzy logic controller should be used to control the speed and direction of the vehicle
when it is in automatic mode (using ultrasonic and compass information). This controller
should have the ability to steer the boat and drive it at appropriate speeds.
• A manual control mode should be available on the Labview interface to override the
automatic mode if desired.
• Communication between the Arduino and Labview interface should be done by
displaying an appropriate set of characters and then manually entering these into the
serial monitor/text input. You should try to include (and demonstrate) transmission error
checking in this process.
Aesthetics
• Your Labview interface needs to clearly display all relevant information and have user
functionality (the user can use the interface to enter data/commands for any manual
modes). The interface should be self-explanatory – someone not familiar with your
project should be able understand the interface from the information/instructions given
on it.
• The wiring of your Tinkercad circuit needs to be tidy with sensors/motors/etc placed
roughly where they are shown on the schematic.
• You Arduino program needs to be well structured with comments to indicate what
sections of program code are for. Someone not familiar with your program (although
they can program themselves) should be able to easily understand your program from
the comments given in the code.
Additional – lab work demonstrations (worth 32% of the assignment mark)
Use the screenshots taken during the lab practicals to demonstrate the following. For each
one, show the screenshot taken and given a verbal description to explain the following:
• Show tutorial 3, section 3.3.1 – explain the meaning of the gradient of the fitted line.
• Show tutorial 4, section 5.2b – estimate the settling time of the transition.
• Show tutorial 6, section 6.2 – explain what the PicoScope trace is showing you about the
transmitted message.
• Show tutorial 7, section 3.2 (first part) – estimate how quickly your motor reaches a
desired speed and describe how you decided on the PID controller values.
Submission details
You are required to prepare a 10 minute video presentation of your work in mp4 format
(anything in the range 8 to 12 minutes will be acceptable). For the simulation part, use
screen recordings of your work (these can be annotated with additional text) and a verbal
description (voice over) to explain the points you are making. For the lab demonstration
parts, a static screenshot with verbal description will suffice. The format of the presentation
should be in the following order (as outlined in W9_Demo_assignment section 5.3):
1) A schematic of your solution to the problem and a bullet list of what the vehicle can
achieve (i.e. what you will be demonstrating in this video).
2) Give a view of the overall Tinkercad circuit, Labview program and Labview interface.
3) Demonstrate each bullet point listed in step 1. You will need to show the code, the circuit
and a demonstration of it working to the specification you have claimed.
4) Finish the simulation part of your presentation by slowly scrolling through all your
program code whilst giving a verbal summary of the complete simulated project (a recap
on what you have achieved).
5) Finish your presentation with your lab practical demonstrations.
Additional points:
• It is very important to demonstrate that your code and circuit function (i.e. actually
work).
• Even if some part of your solution is not working, you should try and demonstrate how
far you got with this aspect. We will be marking on the principle of ‘start at 0 and get
points for each relevant piece of project development’ rather than losing marks for parts
not working. We want to see how much work you have done and give you credit for it.
• Make sure your video is sharp (we will need to be able to read any text on the screen)
and voice over is clear. Be sure to use your own voice in the presentation (rather than an
AI generated voice) as we will use this to verify it is your submission. Your video ideally
needs to be less than 100 MB in size.
Dates for submission:
You should aim to submit your work to Canvas by no later than 2pm on Thursday 14th
December. Note that there can be delays in this process (Tinkercad software not working for
24 hours, slow upload time during submission). You need to account for this in your
planning and work around any technical difficulties, submit what you have done by the
deadline. Start the assignment early and give yourself plenty of time to mitigate against any
unforeseen delays. Of course, you can submit your work prior to this date if you wish.
Note that your video submission must be mp4 format and must be uploaded to Canvas. The
recommended maximum file size for upload is around 100 MB and therefore you should try
to keep your submission to within this limit.
Marking
It is important to use your presentation time allowance to efficiently demonstrate all the
goals you have achieved for this project. You will be penalised if your video overruns. We
will also stop watching after 12 minutes so be sure to keep within time (anything after that
time will not be watched/marked and therefore you will not get credit for it). Remember
that each examiner will be marking around 10 hours of presentation video so it is important
that you present clear explanations on what you are demonstrating.
Note: You will be penalised 10% for every minute (rounded up to the nearest minute) that
you are over 12 minutes. For example a video of 12:03 will be penalised by a 10%
reduction in the overall assignment mark, a video of 14:01 will be penalised by a 30%
reduction, etc. The video will have a label on it indicating its length, we will use this as the
indicator of presentation time (and not when you start/stop talking).
Final points
Your submission must be your own unique solution. You can ask your colleagues for advice
but what you submit must be your own work. The lab-based work may be submitted as a
group effort but the verbal description of it must be your own. Evidence of plagiarism will be
penalised.
You will not be able to ask academic staff any technical questions about the assignment, i.e.
how to do something. However you may post any non-technical questions on the discussion
board if there is something that is not clear about the assignment (note that unless this is a
personal issue, this must be posted on the discussion board rather than email so that
everyone can see the answer). If in doubt you can always post the question and I can reply
with either an answer or with (in cases where the question is not suitable) ‘You will need to
work that out for yourself’. In the latter case, the answer is probably somewhere in your
tutorial notes.