Assessment of Object Oriented Model
Added on - 16 Sep 2019
OpenHAWK: A low-cost multirotor UAV (unmanned aerial vehicle)controllerThis assessment asks you to apply the object-oriented model to analyseand design a scenario described below. You are required to document theprocesses in accordance with the UML deliverables set out in the MarkingCriteria.This is an individual coursework, so must be completedindividually!Learning Outcome to be assessedLO4. Apply Object Oriented modelling methods to the analysis,specification and design of real-time systems / applications.LO5. Use software tools to facilitate the application of the modellingmethods.Detail of the taskA new hardware and software platform, the OpenHAWK, has beendesigned, in order to facilitate low-cost Unmanned Aerial Vehicle (i.e.drone) assembly and operation. It is designed to be fitted to an end user’schoice of multirotor platform, and providesfull authority flight controlandautonomous mission planning and execution. You are required to specifybehaviour for this Unmanned Aerial Vehicle (UAV) controller system.A full description of a flight controller is beyond the scope of thisassignment; for background research, you may find it helpful to look attwo open-source projects; the PixHawk PX4 platform(https://goo.gl/dsG9rZ) and the Ardupilot Copter flight controller software/firmware (http://goo.gl/U73dkh). While you are encouraged to clarify andaugment this specification with any features from your own research,remember the specification is asimplifieddescription of a UAV flightcontroller, appropriate for the assignment weighting (40%) and duration.Be careful you don’t overcomplicate your problem!The system will be supervised and operated by a ground pilot, as with anyradio control aircraft; but the system will provide a degree of autonomousflight (e.g. waypoint flying) and several failsafe features. Typically, a fullsystem consists of the OpenHAWK, the host multirotor, flight motors andpropellers, an alert siren, aGNSS (Global Navigation SatelliteSystem) module/antenna, aradio telemetrymodule (data link), aInertial Measurement Unit (IMU – a combinedgyroscope,accelerometer, and magnetometermodule), abarometer(pressurealtimeter), and apower supply(typically a LiPo battery) with voltage andcurrent monitoring. Finally, a dedicatedcontrol radio receivermodule isconnected to specialised analogue inputs for elevator (pitch), aileron (roll),rudder (yaw) and throttle (lift/collective equivalent) channels. This allows aground “pilot” to instruct the aircraft to fly, in real-time, via its flightcontrols.
Outside assignment scope:Initial hardware setup is outside of thescope of your analysis and design process. You can safely assume thesystem and its peripherals are connected correctly and powered.Additionally, you can assume suitable feedback mechanisms (e.g. PIDcontrollers) exist to convert desired flight inputs (e.g. pitch, throttle, etc)alongside attitude data (i.e. IMU) into appropriate control outputs (i.e.speeds for each propeller/motor), and a function exists to calculate aheading between a pair of locations.Arming and Disarming: Many UAVs are “multirotors”, and have anumber of unguarded propellers, each of which can be rotating at >10Krpm at full throttle. Propeller blades are typically either strongnylon/plastic or carbon fibre, and there is a significant risk of serious injuryor death if a propeller hits a person – particularly at full throttle. To helpprevent accidental injury when preparing and servicing the UAV, thesystem must operate arming logic. This logic operates as follows:When the system is first powered up, it is “disarmed”. The motorsreceive no power when disarmed.When the user wants the system to permit flight, they mustensure the throttle is set to idle, and then send an arm commandfrom their radio transmitter. The UAV performs some failsafe checks(detailedlater), and if all is well, sounds a high-tone siren for 1s and thenenters “armed” mode.In armed mode, three significant operations occur:oit will store the position at which it is armed (its “launch site”), if it has agood GNSS signal, otherwise it will invalidate any previous launch site.othe propellers begin to spin slowly, and the UAV is able to respond toflight control input.oit should report its attitude (pitch/roll), heading (yaw), and (if available)latitude and longitude at2s intervals via its telemetry link.If the UAV remains at throttle idle for a period of 10s, it sounds a lowsiren for 1s, and returns to“disarmed” status.Normal and Assisted Flight:The UAV controller will support 3 modes ofpilot-controlled operation –STABILSE,ALTITUDEandHOVER. Flightdynamics calculations are provided by PID controllers (amathematical feedback model) for each flight mode; the controller you arespecifying needs only route the requisite data through the appropriate PIDand adjust each motor speeds accordingly. To operate the UAV reliably,this sense->PID->actuator feedback loop must occur at a minimum rate of100Hz.The STABILISE PID requires the fewest operational sensors; the IMU must
provide accurate gyro and accelerometer readings across 3 axes - pitch,yaw, and roll. Pilot inputs are translated to thrust levels across the UAV’spropeller motors. e.g. roll left requires increased right thrust anddecreased left thrust; this would speed up the right-hand propellers, andslow down the propellers on the left-hand side, thus causing it to roll (i.e.rotate about its front-to-back axis.). It automatically returns to levelattitude when controls are centred, although it will drift in the wind andrequires the pilot to control throttle manually to maintain altitude.The ALTITUDE PID builds on STABILSE and requires additionally that theUAV’s barometer is working correctly; it provides similar flight control toSTABLISE, except that when the throttle control is centred, the UAV willautomatically adjust its throttle in an attempt to maintain a consistentaltitude.In HOVER Mode, the system takes again greater authority over flightcontrol. This obeys the rules set out in ALTITUDE, but with additionalstabilisation. From a pilot perspective, when all flight controls are returnedto centre, the UAV will hold its position, automatically alteringpitch/roll/yaw to compensate for wind/drift. This needs all previous sensorinformation, along with the GNSS satellite data (for position). Each PIDmonitors the inputs for unexpected readings. If more than 5 such readingsoccur in a 10s period, a “glitch” fault should be logged against theoffending sensor, and reported via the telemetry link.Automatic Flight: The UAV can also be programmed for autonomic flightoperation via its telemetry link. This involves sending a list of waypoints -latitude/longitude co-ordinates, each with an optional altitude. The UAVcan then be set to fly this course automatically, using the followingalgorithm:1.If not armed or no GNSS lock, sound the low siren for 2s, and quitthe flight programme2.Set HOVER mode, and ascend to 50m altitude above take-off pointand loiter for 5s3.For each programmed co-ordinate:1.Sound high-tone siren for 0.5s, and fly towards next co-ordinate.2.Once at the specified location, adjust altitude if required.3.Sound high-tone siren for 1s, and loiter for 5s4.Once the final co-ordinate is reached, invoke RTL Programme (seeFailsafe below)Failsafe Features:Owing to the dangers inherent in UAV operation, theplatform should support several “failsafes”. Each of these failsafe criteriashould prevent the craft beingarmed, if they occur prior to flight, oractivate a specified flight mode if it occurs in flight (indicated below).Regardless of when the failsafe is triggered, the UAV should sound its lowsiren for 2s, and log the failure.Battery Voltage Low – Activate Return to Launch (RTL)programmeIMU glitch – Activate Kill Throttle programmeGNSS Signal glitch – Activate Land programme