1. Homepage
  2. Programming
  3. XJME1010 Computing for Engineers - Coursework - MCU Systems - Global Health Drone: Autopilot Controller

XJME1010 Computing for Engineers - Coursework - MCU Systems - Global Health Drone: Autopilot Controller

Engage in a Conversation
LeedsXJME1010Computing for EngineersMCU SystemsAutopilot ControllerGlobal Health DroneMatlabLabView

XJME1010 Coursework – MCU Systems CourseNana.COM

Lab #1.1: Circuit Training CourseNana.COM

Global Health Drone: Autopilot Controller CourseNana.COM

INTRODUCTION CourseNana.COM

Global Health Drone is designed to travel across large landscapes in remote and resource-limited parts of the world areas where traditional healthcare systems struggle to provide assistance, particularly during emergencies.
The drone’s job is to search across large landscapes, locating potentially injured person(s) via camera systems and then use a thermal imaging system to scan and provide vital medical feedback to medics who can assess and come to help... CourseNana.COM

So your task is to program a balance control system for the drone which holds it in a stable position while the system performs a thermal scan.... CourseNana.COM

You CourseNana.COM

Lab Notes Practice CourseNana.COM

Simulation CourseNana.COM

Testbed for code
Unlimited attempts CourseNana.COM

ReLOAD CourseNana.COM

Real Hardware 50 Attempts! CourseNana.COM

Please read this coursework guide carefully for full instructions, including your objectives, technical background and a mark scheme. Over and Out. CourseNana.COM

XJME1010: Computing For Engineers CourseNana.COM

Revision 03 12.09.2023 CourseNana.COM

AIM AND OBJECTIVES CourseNana.COM

The aim is to develop a balance control system which moves your drone to a stable horizontal position and holds it there for 5 seconds while it performs a thermal scan... CourseNana.COM

APPROACH CourseNana.COM

Drones are expensive... so you will need to develop your code carefully in two stages using: CourseNana.COM

  1. A drone simulation (in WokWi): develop your code until it is functional and error free ... CourseNana.COM

  2. The ReLOAD drone model: now test your code on a real system and tune the controller CourseNana.COM

    IMPORTANT: You are limited to 50 test runs on the ReLOAD system!
    (This represents industry practice testing on hardware is costly ... only attempted when you have a system you are confident will work effectively! CourseNana.COM

OBJECTIVES CourseNana.COM

  1. Produce a Flow Chart of your program from the Specification (see Page 4) CourseNana.COM

  2. Write an Arduino drone controller program (based on your Flow Chart) which: CourseNana.COM

    a. Initialises your system hardware
    b. Implements a closed-loop controller to reach and maintain a horizontal position
    CourseNana.COM

    1. Your controller should run at 25Hz CourseNana.COM

    2. As a minimum you should implement a Proportional controller CourseNana.COM

    c. Lights LEDs to indicate (System start, Reached Target Angle (Scanning Start), Scanning complete d. Sends flight telemetry data via Serial see Page 4 for the detail
    e. Use good programming practice to produce a well-structured and understandable program
    f. Use functions to implement
    CourseNana.COM

    1. Sensor measurement CourseNana.COM

    2. The controller CourseNana.COM

    3. Other functions of your choice... CourseNana.COM

  3. Collect and submit evidence from ReLOAD of your system in action (see Deliverables, Page 6) CourseNana.COM

    1. Your flow-chart (1 side of A4) CourseNana.COM

    2. Your program CourseNana.COM

    3. ReLOAD outputs (.CSV and Video file) CourseNana.COM

XJME1010: Computing For Engineers P2 CourseNana.COM

SYSTEM DESCRIPTION CourseNana.COM

You will develop your controller using the model drone system shown in Figure 1.
The drone is represented by a beam, pivoting at the middle, with a motor-driven propeller at each end. The beam is free to rotate about the pivot, simulating the drone moving in the air. Your Arduino controller is connected to:
CourseNana.COM

  1. 1)  A potentiometer which can be used to measure the angle of the drone (relative to ground). CourseNana.COM

  2. 2)  Two H-Bridge motor controllers, each linked to a high-power DC motor and power supply CourseNana.COM

    Figure 1. Configuration of the model helicopter system CourseNana.COM

HARDWARE CourseNana.COM

The hardware in the drone model is described here. You will need to use this to configure your Arduino system correctly, and to calibrate your sensor measurement. CourseNana.COM

Item Information CourseNana.COM

NOTE:
You will control these motors using code provided in the template (See WOKWI Simulator Section) like this:
CourseNana.COM

alalogWrite(127); CourseNana.COM

Motor Controller CourseNana.COM

D12 - Direction CourseNana.COM

D3 - PWM (work duty) CourseNana.COM

D9 - Brake CourseNana.COM

Potentiometer CourseNana.COM

For calibration, we took the following measurements: 329 -40 CourseNana.COM

The potentiometer output voltage will change linearly as a function of the angle shown in Figure 1. CourseNana.COM

The output Vpot can be measured using Arduino Pin A0 CourseNana.COM

Vpot Angle CourseNana.COM

Output LEDS CourseNana.COM

Use these LEDs to signify the status of the control system. CourseNana.COM

Start-up LED (Green) = Pin 11 Scanning LED (Yellow) = Pin 10 Scan End LED (Red) = Pin 9 CourseNana.COM

Table 1: Equipment specification for the model helicopter CourseNana.COM

XJME1010: Computing For Engineers P3 CourseNana.COM

SPECIFICATION CourseNana.COM

Your balance controller should be written to go through the following process please read this carefully! CourseNana.COM

You will need to convert this into a Flow Chart as part of your submission CourseNana.COM

The process is defined by a series of numbered stages. Each stage requires you to perform some tasks which are detailed. CourseNana.COM

  1. As your control program starts it must initialise the system. Setup your Serial communication so you can send messages. Configure your hardware connections to the sensor and motors. Initialise the motors by sending a 0 (zero) signal to the motor. CourseNana.COM

  2. Show that your balance controller (the programme you write) has started by lighting the Start-up LED for 1 second CourseNana.COM

  3. Your controller should now start. It should run continuously at 25Hz. CourseNana.COM

    1. The controller first reads the angle sensor to determine the current angular position of the drone CourseNana.COM

    2. Now your controller should calculate a motor control signal CourseNana.COM

    3. Convert the motor control signal into control signals for the motor CourseNana.COM

    4. Send telemetry information using Serial communications CourseNana.COM

    5. Check if you moved within 5 degrees of the target angle (e.g. horizontal) CourseNana.COM

      1. Yes? Start your `Scan Timer` and Light the Scanning LED CourseNana.COM

      2. Once Scanning has started it must continue regardless of the drone angle CourseNana.COM

    6. Continue the controller until your Scan Timer reaches 5 seconds CourseNana.COM

  4. Shutdown: Light the Shutdown LED for 1 second and turn-off the motors CourseNana.COM

AUTO-PILOT BLACKBOX DATAFILE CourseNana.COM

As your program runs it should generate a BlackBox datafile - formatted in the same way as the example below but with your own data. CourseNana.COM

This must be submitted as part of your coursework to demonstrate that your program runs and how well it performs! (Note the ... just indicates lots more data!) CourseNana.COM

0.System Started
1.System Initiated
2.Controller Starting Time,Angle,Error,Control Signal,Motor 0.00,0.3,0.15,45,55 0.02,0.29,0.14,41,65
CourseNana.COM

        .....
        8.00,0.151,0.01,10,70
        4. Shutdown

UNITS: Please ensure you report your data in the following format CourseNana.COM

Time
Current Angle
Error
Control Signal
Motor

Example data that should be printed to Serial as your program runs.
Note: the numeric values are only examples
yours should use the actual values you record! CourseNana.COM

seconds
degrees
degrees
n/a
0-100 percentage activation
2 decimal places
2 decimal places
2 decimal places

XJME1010: Computing For Engineers P4 CourseNana.COM

THE CLOSED LOOP CONTROLLER CourseNana.COM

CONTROLLER TYPE CourseNana.COM

Your program should implement a closed-loop controller.
The basic version you should attempt is a Proportional Controller
see lecture notes/slides CourseNana.COM

For additional marks you can implement a more advanced PID controller see links below This must be made clear in your code comments! CourseNana.COM

SIMULATION CourseNana.COM

Please find the simulation and template code at this address: CourseNana.COM

https://wokwi.com/projects/375829279695206401 CourseNana.COM

Item Purpose CourseNana.COM

Orange LED CourseNana.COM

Green LED
Red LED Template Code
CourseNana.COM

Startup LED Shutdown LED Your starting point! CourseNana.COM

Yellow LED CourseNana.COM

Scanning LED CourseNana.COM

Potentiometer CourseNana.COM

Angle Sensor CourseNana.COM

REFERENCE: PID CONTROLLERS CourseNana.COM

https://scholarscompass.vcu.edu/cgi/viewcontent.cgi?article=5737&context=etd https://www.omega.co.uk/prodinfo/pid-controllers.html CourseNana.COM

COMPLETING THE COURSEWORK CourseNana.COM

HOW IS IT ASSESSED? CourseNana.COM

The coursework is worth 50% of the overall XJME1010 module mark.
It is designed to be completed individually, without any collaboration with other students.
CourseNana.COM

Expertise: The programming and skills required to complete this coursework relate directly to the learning objectives of this part of the module. They have been covered in the lecture and lab activities please refer back to these for examples. CourseNana.COM

Deadline: Please see the deadline on Minerva
Deliverables: You must submit the following items through Minerva correctly named to receive a mark CourseNana.COM

Each file named in this format: o A Flowchart PDF CourseNana.COM

o Arduino File:
o ReLOAD CSV Data o ReLOAD Video CourseNana.COM

username_XJME1010_.XYZ CourseNana.COM

username_XJME1010.pdf username_XJME1010.ino Original name
Original name
CourseNana.COM

(Use the provided PPTX template!!) CourseNana.COM

e.g. men18xyz_XJME1010.ino)
e.g. Experiment_1614027456688_data.csv e.g. RELOA_15_Mar_2021_14_49_5722.mp4
CourseNana.COM

XJME1010: Computing For Engineers CourseNana.COM

CHECK: The ReLOAD Data files are unique to your username and will be checked against the ReLOAD Server
Please do not alter data-files or your submission will be investigated for plagiarism!
CourseNana.COM

MARK ALLOCATION CourseNana.COM

The table below details how marks will be assigned for your project work. These are linked to the learning objectives that this coursework has been designed to assess. These are based on the material you have covered in the lectures, labs and self-study exercises, look back at your notes for examples and reminders! CourseNana.COM

2. Angle measurement 10 CourseNana.COM

4. Main auto-pilot program 25 a. Features (15) b. Logic and Process (10) CourseNana.COM

6. Good programming practice 15 CourseNana.COM

PLAGIARISM CourseNana.COM

Your code will be checked for plagiarism and malpractice – compared to other student’s work. CourseNana.COM

PLEASE TAKE NOTE – COMPLETE THE COURSEWORK INDIVIDUALLY. DO NOT SHARE CODE OR DISCUSS YOUR SOLUTION! CourseNana.COM

Objective Mark % CourseNana.COM

1. Flow chart CourseNana.COM

3. Controller implementation CourseNana.COM

5. Formatted telemetry data CourseNana.COM

7. Performance of the controller CourseNana.COM

XJME1010: Computing For Engineers P6 CourseNana.COM

APPENDIX: DEVELOPING FLOWCHARTS TO SOLVE ENGINEERING PROBLEMS CourseNana.COM

FLOWCHARTS OVERVIEW CourseNana.COM

A flowchart is a graphical way to present a process or program. It describes the process from start to finish,
including the key steps that need to be undertaken and any decision making and/or logic. Flowcharts are made up of a number of different shapes that represent specific actions; arrows between the shapes represent the flow of control through the process rather than the flow of data.
CourseNana.COM

Start / Finish CourseNana.COM

Input / Output Data CourseNana.COM

Decision CourseNana.COM

Connections CourseNana.COM

Start Tutorial CourseNana.COM

Do students look bored or informed? CourseNana.COM

Yes End Tutorial CourseNana.COM

Talk + wave hands about CourseNana.COM

Creating a flowchart is a good starting point when designing any kind of program or process as it can help define the architecture of your code and pin-point issues early on in the design. CourseNana.COM

FLOW CHART – MP3 SONG SHUFFLE EXAMPLE CourseNana.COM

An example flowchart for a simple song shuffle program is shown in Figure 1. Go through it with just a few songs to see how it would CourseNana.COM

function. Now consider: CourseNana.COM

Will this program do a suitable job of shuffling the songs?
How could it be altered to better fulfil the user’s CourseNana.COM

requirements?
(
you’ll do this example in Matlab, Semester 2 of XJME1010). CourseNana.COM

DESIGNING A FLOW-CHART CourseNana.COM

When producing a flowchart follow these guidelines: CourseNana.COM

  • keep it easily readable CourseNana.COM

  • keep it concise (1 side A4) CourseNana.COM

  • describe the key steps in the process CourseNana.COM

  • keep it general (e.g. avoid mentioning code / functions specific to CourseNana.COM

    Matlab/LabVIEW) CourseNana.COM

    Developing flow charts is an important skill. It allows you to breakdown, and documents, how to solve a large complex problem by performing a series of logical, small steps. You (should!) use this approach throughout your degree. Both LabVIEW and MATLAB coursework assignments in XJME1010 will require the submission of a flowchart. CourseNana.COM

Start program CourseNana.COM

Read in song list (file) CourseNana.COM

Count number of songs as variable ‘n; CourseNana.COM

Generate a random number, ‘x’ between 1 and n CourseNana.COM

Pick and store song number ‘x’ CourseNana.COM

Have we ‘n’ songs in list? CourseNana.COM

Yes CourseNana.COM

Output new song list (file/screen) CourseNana.COM

XJME1010: Computing For Engineers P7 CourseNana.COM

CourseNana.COM

Version CourseNana.COM

Changes CourseNana.COM

Revision 01 27.03.2023 CourseNana.COM

Revision 03 - 05.04.2023 Revioins 04 12.09.2023 CourseNana.COM

First release basic information CourseNana.COM

Updated controller min and max limits (P3 Table 1.)
Updated for new equipment with one motor and counter balance weitht
CourseNana.COM

Revision 02 01.04.2023 Pin connections for left and right motors (P3) Angle calibration information (P3) CourseNana.COM

Controller speed reduced to 25Hz (P4) Template code and Simulation updated CourseNana.COM

XJME1010: Computing For Engineers CourseNana.COM

CHANGELOG  CourseNana.COM

Get in Touch with Our Experts

WeChat (微信) WeChat (微信)
Whatsapp WhatsApp
Leeds代写,XJME1010代写,Computing for Engineers代写,MCU Systems代写,Autopilot Controller代写,Global Health Drone代写,Matlab代写,LabView代写,Leeds代编,XJME1010代编,Computing for Engineers代编,MCU Systems代编,Autopilot Controller代编,Global Health Drone代编,Matlab代编,LabView代编,Leeds代考,XJME1010代考,Computing for Engineers代考,MCU Systems代考,Autopilot Controller代考,Global Health Drone代考,Matlab代考,LabView代考,Leedshelp,XJME1010help,Computing for Engineershelp,MCU Systemshelp,Autopilot Controllerhelp,Global Health Dronehelp,Matlabhelp,LabViewhelp,Leeds作业代写,XJME1010作业代写,Computing for Engineers作业代写,MCU Systems作业代写,Autopilot Controller作业代写,Global Health Drone作业代写,Matlab作业代写,LabView作业代写,Leeds编程代写,XJME1010编程代写,Computing for Engineers编程代写,MCU Systems编程代写,Autopilot Controller编程代写,Global Health Drone编程代写,Matlab编程代写,LabView编程代写,Leedsprogramming help,XJME1010programming help,Computing for Engineersprogramming help,MCU Systemsprogramming help,Autopilot Controllerprogramming help,Global Health Droneprogramming help,Matlabprogramming help,LabViewprogramming help,Leedsassignment help,XJME1010assignment help,Computing for Engineersassignment help,MCU Systemsassignment help,Autopilot Controllerassignment help,Global Health Droneassignment help,Matlabassignment help,LabViewassignment help,Leedssolution,XJME1010solution,Computing for Engineerssolution,MCU Systemssolution,Autopilot Controllersolution,Global Health Dronesolution,Matlabsolution,LabViewsolution,