The Engineering Method

As a young engineer who aspires to one day lead a team of Engineers my goal is to imbue all the traits and habits of a world class Engineer. Having said that, you will notice that most of my projects on this platform will have a strong emphasis on methodology and in some cases I may even publish a white paper as an extension to my writings here on this blog

The Engineering method in my opinion is a beautifully thought-out way to get from idea to product and get it right 100 % of the time.  Often times, there are scenarios where people will try to cut corners during the development of a new product. In most cases, this problem is a consequence of  unrealistic targets set by management.  However,  If the events of recent times have  taught us anything about product development,  it’s that you lose more by racing a product to market.  When I say this, I speak of  Boeing’s malfunctioning Auto-Pilot and Samsung’s disastrous foldable phone  as well as their exploding batteries in 2016.

In my honest opinion I do not think this is a matter of incompetence because both companies are world class companies that have made huge strides in their respective fields. I personally blame it on complacency and unrealistic targets set by management.  If management  had enforced a standard methodology and stuck to it, these two companies would be in a more favorable situation than they are right now.

The Engineering Method in Context

     Figure 1

The Engineering Method can be broken down into 6 main phases or stages as shown above in Figure-1. Each phase is only as effective as the execution of its preceding phase  so great care must be taken especially when transitioning from one phase to the next.

Using the Engineering Method as a reference I will attempt to formulate a methodology and workflow by breaking down my Autonomous Drone project into smaller tasks.

The Problem

I want to design a Quad-copter that can navigate indoor spaces as well as outdoor spaces in order to get from point A to Point B. The Quad-copter must be able to  avoid obstacles and recover relatively quickly  when disturbances are introduced.  I have formulated a very quick workflow to help me break down the tasks at hand into multiple smaller tasks.

Tailored Workflow  For Autonomous Drone Project



The end result is  a highly efficient and logical workflow that anyone can replicate. This will allow me to  better estimate the effort and time needed to complete the project.

The next couple of posts will act as the prelude to stage 4, in them I will breakdown the kinematics and system dynamics of quad-rotors into a more palatable format. Now would be the best point in the series to go and brush up on your linear algebra. In Phase-4 I will also attempt to model and simulate the quad-rotor. Presently I am sold on the idea of using Matlab to do this but I may try to also find some open source tools to help me achieve this. Or I may do both, we’ll have to wait and see.

In phase-5 I will choose my target hardware based on the system design done in phase-4. Without a doubt, the best language to use for the implementation of the quad-rotor’s control system is C and possibly C++ as well. This is due to the fact that C and C++ are synonymous with real time performance. At the end of phase-5  I will attempt to design and manufacture a PCB that others can purchase or use as a reference design to help them get started with quad-rotor development.

Lastly in stage 6 I will perform some Factory Acceptance tests (FAT). In a real engineering setting, this is the last line of defense that engineers use to ensure the product is suitable for release.

3 thoughts on “The Engineering Method

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s