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.