Good Communication is everything

It was a pretty busy week once again since I had to study for tests, finish lab reports and write my Logbook for this project to get signed at my university. But it was exciting to see some of my parts arrive in the mail. Apart from that, I was able to acquire another quad-copter (a slightly larger model to the one I have) from my friend at the university. However, that copter is damaged (one arm got snapped off Read more…

First Wings

Its been a pretty slow week in terms of meaningful progress on the project. A few tough assignments during the week and a couple of tests meant I was pretty distracted by my studies and my Arduinos still haven’t arrived which is depressing. I contacted the seller and he’s resending them, chalking it down to the previous shipment being lost. But my first toy quad copter did arrive. However, the end result was kinda disappointing and I will discuss why Read more…

AEMB Threading

It is quite amazing how many times I discover myself to have a faulty or shallow understanding about the technology I am working on. Normally those discoveries occur as I go more in depth into the technology at hand. Those two lines are necessary to make up for any faulty explanation that I’ve given about AEMB which I am beginning to realize as I’m looking at the threading model. However, I won’t go on and list those mistakes, admitting them Read more…

Learning to fly

The design of a quad-copter has been around for a very long time, but during the 20th Century, most development of quad-rotor devices were stalled due to the difficulty of controlling four independent rotors. Indeed it is impossible to do so without electronic assistance, therefore since the boom in popularity of micro controllers in particular, more and more hobbyists have found the design to be adequate and stable for RC control flying UAV’s. The structure and dynamics of a quad Read more…

Upgrading Codelite

I use Codelite extensively, for software development. However, the version of Codelite available in the Ubuntu/Debian repositories are a bit old. Our recent upgrade to Trusty Tahr 14.04 LTS resulted in a buggy Codelite that keeps crashing. As a result, it was time to upgrade.
(more…)

ISA and Dependencies

In this post I’ll continue the in detailed overview of the ISA of AEMB where I’ll review memory access, GET/PUT, special purpose register and program flow instructions. Next I‘ll explain about the data dependencies and how they are currently handled in AEMB. First, there are 12 instructions responsible for memory access. Half of them are load instructions that read data from memory and write it back to the destination register. The data read can be a word, half a word Read more…

Swarm Robotics: Methodology

This week, I was finally able to complete all the documentation from UCSI University, and it is official that I will be doing my project on the title I described so roughly last week. This week, I spent some time mulling over many possible ways to effectively tackle the demands of the project and try to tackle the questions I asked myself about the project so far. This week I will outline my plan for the duration of the time Read more…

A new adventure

Ever since starting my degree in Mechatronic Engineering, the one thought that has kept me awake at nights was my Final Year Project. Unlike many of my peers, I always believed that your Final Year Project defines who you are as an engineer and your capabilities as well as ambition. I have been hoping not to be stuck with a topic that did not interest me and furthermore extinguish my willingness to go deep into the project itself and I Read more…

AEMB ISA, in detail

Finally work on the AEMB is to be continued after a long unjustified break. In previous posts I have touched a bit on the Instruction Set Architecture (ISA) of AEMB and explained it’s relation with Microblaze ISA. In order to change the threading model of AEMB to coarse grained, I was warned that after doing the change, some data hazards will become unresolved. This is because in the current AEMB, data dependencies of back to back instructions are being resolved by changing Read more…

Witty Sluggishness

While playing around with low-level Witty, I faced a serious issue of performance. For some reason, one of the operations that we were doing was taking a relatively long (1s) time to complete. This didn’t make sense as the operation itself was not particularly onerous.
(more…)