Ask a question to Desklib · AI bot


Assessment of Object Oriented Model

Added on -2019-09-16

| 6 pages
| 2436 words

Trusted by 2+ million users,
1000+ happy students everyday

OpenHAWK: A low-cost multirotor UAV (unmanned aerial vehicle) controller This assessment asks you to apply the object-oriented model to analyse and design a scenario described below. You are required to document the processes in accordance with the UML deliverables set out in the Marking Criteria.This is an individual coursework, so must be completed individually! Learning Outcome to be assessed LO4. 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 modelling methods. Detail of the task A new hardware and software platform, the OpenHAWK, has been designed, 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’s choice of multirotor platform, and provides full authority flight control and autonomous mission planning and execution. You are required to specify behaviour for this Unmanned Aerial Vehicle (UAV) controller system. A full description of a flight controller is beyond the scope of this assignment; for background research, you may find it helpful to look at two open-source projects; the PixHawk PX4 platform ( and the Ardupilot Copter flight controller software/firmware ( While you are encouraged to clarify and augment this specification with any features from your own research, remember the specification is a simplified description of a UAV flight controller, 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 any radio control aircraft; but the system will provide a degree of autonomous flight (e.g. waypoint flying) and several failsafe features. Typically, a full system consists of the OpenHAWK, the host multirotor, flight motors and propellers, an alert siren, a GNSS (Global Navigation Satellite System) module/antenna, a radio telemetry module (data link), a Inertial Measurement Unit (IMU – a combined gyroscope, accelerometer, and magnetometer module), a barometer (pressure altimeter), and a power supply (typically a LiPo battery) with voltage andcurrent monitoring. Finally, a dedicated control radio receiver module 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 flight controls.
Outside assignment scope: Initial hardware setup is outside of the scope of your analysis and design process. You can safely assume the system and its peripherals are connected correctly and powered. Additionally, you can assume suitable feedback mechanisms (e.g. PID controllers) 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 a heading between a pair of locations. Arming and Disarming: Many UAVs are “multirotors”, and have a number of unguarded propellers, each of which can be rotating at >10K rpm at full throttle. Propeller blades are typically either strong nylon/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 help prevent accidental injury when preparing and servicing the UAV, the system 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 must ensure the throttle is set to idle, and then send an arm command from their radio transmitter. The UAV performs some failsafe checks(detailed later), and if all is well, sounds a high-tone siren for 1s and then enters “armed” mode. In armed mode, three significant operations occur: o it 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. o the propellers begin to spin slowly, and the UAV is able to respond to flight control input.o it should report its attitude (pitch/roll), heading (yaw), and (if available) latitude and longitude at 2s intervals via its telemetry link.If the UAV remains at throttle idle for a period of 10s, it sounds a low siren for 1s, and returns to “disarmed” status. Normal and Assisted Flight: The UAV controller will support 3 modes ofpilot-controlled operation – STABILSE, ALTITUDE and HOVER. Flight dynamics calculations are provided by PID controllers (a mathematical 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’s propeller motors. e.g. roll left requires increased right thrust and decreased left thrust; this would speed up the right-hand propellers, and slow 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 level attitude when controls are centred, although it will drift in the wind and requires the pilot to control throttle manually to maintain altitude. The ALTITUDE PID builds on STABILSE and requires additionally that the UAV’s barometer is working correctly; it provides similar flight control to STABLISE, except that when the throttle control is centred, the UAV will automatically adjust its throttle in an attempt to maintain a consistent altitude.In HOVER Mode, the system takes again greater authority over flight control. This obeys the rules set out in ALTITUDE, but with additional stabilisation. From a pilot perspective, when all flight controls are returnedto centre, the UAV will hold its position, automatically altering pitch/roll/yaw to compensate for wind/drift. This needs all previous sensor information, along with the GNSS satellite data (for position). Each PID monitors the inputs for unexpected readings. If more than 5 such readingsoccur in a 10s period, a “glitch” fault should be logged against the offending sensor, and reported via the telemetry link. Automatic Flight: The UAV can also be programmed for autonomic flight operation via its telemetry link. This involves sending a list of waypoints - latitude/longitude co-ordinates, each with an optional altitude. The UAV can then be set to fly this course automatically, using the following algorithm: 1.If not armed or no GNSS lock, sound the low siren for 2s, and quit the flight programme 2.Set HOVER mode, and ascend to 50m altitude above take-off point and loiter for 5s 3.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 5s 4.Once the final co-ordinate is reached, invoke RTL Programme (see Failsafe below) Failsafe Features: Owing to the dangers inherent in UAV operation, the platform should support several “failsafes”. Each of these failsafe criteria should prevent the craft being armed, if they occur prior to flight, or activate a specified flight mode if it occurs in flight (indicated below). Regardless of when the failsafe is triggered, the UAV should sound its low siren for 2s, and log the failure. Battery Voltage Low – Activate Return to Launch (RTL) programme IMU glitch – Activate Kill Throttle programme GNSS Signal glitch – Activate Land programme

Found this document preview useful?

You are reading a preview
Upload your documents to download
Become a Desklib member to get accesss

Students who viewed this