Tuesday, December 15, 2009

Quanser's Journey to Engineer Unmanned Vehicle Systems for Academic Advancement

Recently, Quanser introduced a completely new platform for teaching and research - the Unmanned Vehicle Systems (UVS Lab). UVS Lab is the result of more than five years of Quanser’s internal research and development efforts. To learn more about their journey, we talked with the two people driving the innovation - Dr. Jacob Apkarian, Quanser’s Founder and CTO and Cameron Fulford, Systems and Control Engineering Manager.

Jacob: Ever since I was a kid, I wanted to fly my own devices - I guess that's where it all has roots. The unmanned research at Quanser started about five years ago when we began thinking how we can use our Quarc control system design software (or WinCon at the time) to actually fly things. Quarc's real-time capabilities allowed us to collect data online, tune parameters online, so if you have any flight dynamics issues that you want to do online, you can do it right away with this rapid prototyping software. Alas, the technology to do this was not there - so we developed it! Now I feel like an ace when flying these things - something I could never do without Quarc.

Cameron: For years Quanser offered the 2 DOF Helicopter, 3 DOF Helicopter and a 3 DOF Hover, which are not flying vehicles, but experiments simulating flying vehicles. So moving towards vehicles actually flying seemed like a natural progression.

Jacob: As engineers at Quanser started to look into the area, we realized there are a lot of people doing research in unmanned autonomous vehicles. We approached the Defense Research and Development Canada (DRDC), where we found Dr. Camille-Alain Rabbath, a scientist who supported this kind of research. We started to collaborate with DRDC on development of the vehicle control systems, but we still did not have any vehicles. We came up with the ALTAV - an almost lighter than air blimp, because we thought it would be easier to fly than something that is heavier than air.

Cameron: The first version of ALTAV had a shape of a round beach ball, which we eventually replaced with 11 and 13' long, more traditional blimp-looking shape. These ALTAV versions were all helium-filled blimp balloons with 4 actuated motors, so you could actually tilt the motors and get a vectored thrust, controlling the direction of the thrust of each motor. That was a novelty behind the design of our ALTAV vehicle.


One of Quanser's ALTAV models with its design and engineering team

Jacob: On our journey we learnt that a vehicle with four motors is a good design. As we continued our research, we discovered a lot about the IMU needed, and the sensors needed to fly these things properly. So as the time went by, we started developing the ultimate IMU board, which we now call the HiQ. From there our software engineers enhanced Quarc to generate code for the HiQ and control any vehicle. However as we started flying the ALTAV outside, we quickly realized the challenges: one of them being legal issues, because you have to get all the licenses and permits to fly outside. The other challenge was the weather.

Cameron: The ALTAV was so large that it was susceptible to winds. If there was any matter of wind, it could really affect the performance of that vehicle, so it was difficult to fly outdoors, but at the same time, was too big to fly indoors. A lot of people we are talking to ultimately want to do test flights outdoors, but they can begin their research indoors. We needed something smaller that can fly inside and is safe. Indoor lab space is available all year round, the conditions are the same, so it’s much better especially at the initial stages of research.

Jacob: People are doing research in control systems and the control systems can be implemented indoors and outdoors, it does not matter. That is why we started developing what we call the indoor Unmanned Vehicle Systems Lab.

Cameron: We wanted to create a framework for controlling multiple vehicles, the mission development framework. That’s how the Quanser vehicle abstraction layer (VAL) started – a mechanism for developing multi-agent missions and doing high-level vehicle control. We also investigated and developed a number of different vehicles, including quadrotors, Zagi fixed wing, and these were all flown outdoors. Basically due to the reasons Jacob mentioned - environmental factors and the legal restrictions, we started developing the UVS Lab, which is the concept for indoor lab, for doing unmanned vehicle research. Each vehicle is pretty individual in terms how it works. At the higher level, controlling the mission is something that we learned to do through all of the vehicles we investigated and created. Now we can apply what we learned and developed to the newest vehicles that are being released for use by academics.

The newest vehicles we developed were the Qbot, an unmanned ground vehicle and the Qball-X4, a quadrotor UAV designed for flying indoors. The flexibility of these vehicles and the lab setup provide researchers a lot of potential to develop complex missions with even more vehicles, without compromising on safety. With an aerial vehicle like the Qball-X4 there is a higher likelihood of collisions, either with another vehicle or a wall, safety was a big concern. So we decided to build a vehicle that has a built-in cage to protect it and protect the users. We added OptiTrack support for localization purposes, since you no longer have the GPS. As part of our development, the HiQ Aero Data Acquisition card also had to go through many changes. We now have a brand new HiQ that was re-designed from the ground up for these new vehicles. In fact, the Qball-X4 has a completely new HiQ with the on-board Gumstix computer that runs Quarc, Quanser's real-time control software. Throughout all these vehicles the Gumstix has been the main computer on-board. As the Gumstix technology continues to improve, Quanser's unmanned vehicles will feature more powerful on-board computers. While we accomplished a lot in the last five years, Quanser's journey to give the academics a reliable and robust UVS platform has only began.


Quanser's new Qball-X4 quadrotor

Tuesday, November 17, 2009

Learning by Teaching

While in elementary school, I remember a teacher once wrote on the board:
You learn 8% of what you read,
you learn 12% of what you hear,
you learn 25% of what you write,
you learn 90% of what you teach.

The concept of learning by teaching has stuck with me throughout the years and has been re-inforced through my tutoring in high-school, joining study groups as an undergrad student, and later developing controls curriculum at Quanser. But how true the words of my teacher are I realized only as a Teaching Assistant of a controls lab at Queen's University. As a part of my Masters degree, I spent a term TA-ing a 4th year Robotics course at Queen's. The lab component of the course was based on Quanser's rotary family of experiments, which - incidentally - I had spent my first year at Quanser developing.

Even after specializing in controls during undergrad, I always say that it wasn't until my time at Quanser that I really learnt controls. It was while working on controls curriculum to pedagogically guide students through a control system experiment where I really needed to understand and learn control theory - once again, it was learning by teaching. And it was only years later, being a teaching Assistant at Queen's and actually delivering that same curriculum to the 4th year students, when my expertise truly took hold. it was also during this brief stint as a Teaching Assistant that I could benefit from the feedback provided by students - another form of learning by teaching, and bring back their comments to improve Quanser controls curriculum in general.

What I noticed during the Robotics course was that the students would benefit from more time spent playing with the experiment and trial-error type of work. However, there might not be enough time during the lab for that. What we can do instead is give that time to the students during pre-lab. The new version of Quanser's real-time control software QuaRC 2.0 has powerful visualization tools - why not to use the power of QuaRC and add a pre-lab component that would visually and dynamically represent Quanser's experiment. That way, students would get to the lab having a context and feel of the experiment and learn much more during the actual lab.

It's exciting to see how the principle of learning by teaching works for engineering team at Quanser. In our dynamic and multi-disciplinary group, every engineer brings certain expertise - to "teach" other team members, one must "learn" and understand his or her part. Working on multi-faceted projects, developing new controls experiments and refining existing labs and curriculae, we continue to improve the quality of our offerings as we are always learning by teaching.

Monday, November 16, 2009

QUARC: The QuaRC Tetralogy

In the past few months we talked about the new features and strengths of QUARC 2.0, the new version of our popular control systems design and development software. The diagram below succinctly captures QUARC’s characteristic strengths - and some of Quanser’s domains of expertise - and illustrates QUARC’s four pillars.





Namely, the QUARC tetralogy consists of:

  1. A visual programming tool, like Simulink. As a Rapid Control Prototyping (RCP) tool that provides full open-architecture, this is what QUARC fully integrates with and generates real-time code from. This visual programming tool is used as a flexible development platform and to maximize user friendliness.

  2. Multiple target Operating Systems (OS). The target OS, be it either a pseudo- or hard-real-time operating system is where the QUARC-generated code is run. Currently, QUARC models run under 32-bit Windows, Linux, QNX, and INtime (to be available soon).

    QuaRC-generated models are optimized for robust and real-time (i.e., deterministic) performance, by strictly adhering, for example, to a true multi-rate and multi-threaded design, or by taking advantage of multi-core CPUs (CPU affinity support).

  3. Hardware interfacing. QUARC allows interfacing to actual hardware in a real-time fashion by utilizing the Quanser’s HIL API and by supporting a growing number of third-party devices.

    The Quanser’s Hardware-In-the-Loop (HIL) API is a generic, card-independent, and extensible API. It is detailed in our QuaRC: Hardware-In-the-Loop (HIL) Card Support and HIL API post.

    As a complement to the HIL API, QuaRC also supports a wide variety of third-party-vendor sensors, devices, and robots, as described in our QuaRC: Third-Party Device Support article.

  4. Communication capabilities. QUARC implements a very flexible and powerful communication framework that allows for carrying out standard communication not only between QuaRC models, but also and especially between a QuaRC model and an external third-party application.

    The cornerstone of QuaRC’s communication capabilities is the Quanser’s Stream API, which is a generic, protocol-independent, and extensible communication API. Please refer to the QuaRC: Communication Capabilities and Framework article for a more detailed description.


Quanser Qball-X4 with iPod controller!

Our new Qball-X4 UAV has been flying autonomously or using a standard 4-channel joystick for some time now. We decided we wanted to fly the Qball-X4 with something a little less conventional: an iPod. Using QUARC, Quanser's real-time control software, and our stream communications API, we are able to interface an iPod and read the accelerometer measurements and user inputs directly into a Simulink model. Our Qball-X4 flight stabilization controller is also implemented in MATLAB Simulink using QuaRC, which allows the generated code to be downloaded and executed on-board the vehicle. Once we added the iPod inputs to our Qball-X4 model, it was simple to compile the controller and start flying.

The video below shows a test flight of the Qball-X4 we performed recently using the iPod's accelerometers to control the roll and pitch commands to the vehicle with one pilot, while the second pilot controls the throttle and the yaw. We are working on an iPod controller that only requires one pilot to fly the vehicle, but this test was a very interesting way to combine a new human interface with an existing vehicle controller.

Note: Qball-X4 is slated for release in spring 2010.

Saturday, October 31, 2009

Happy Halloween - with a bit of engineering

We are engineers - even when it comes to pumpkins. Seventeen pieces of art, including a virtual one, were entered into Quanser 2009 Pumpkin Challenge by our engineers.
Happy Halloween from Quanser!

1st prize for Julio's Corona Extra


2nd prize - Herve's masterpiece


3rd prize - Amin's MacQuanser


3rd prize - Max is haunted by pirates


3rd prize - Lisa can always see the bright side


Special Marketing award for Patrick's Q


And the Engineering Award for Derek

Wednesday, October 21, 2009

QUARC: Third-Party Device Support

In addition to being able to access hardware via Hardware-In-the-Loop (HIL) cards by using the familiar Simulink environment, as described in previous blog post, QuaRC also allows users to interact directly with third-party devices in a real-time fashion.

QUARC supports a wide variety of third-party-vendor devices, which can be categorized essentially into 3 main device families:

  1. Sensors & Human Interface Devices (HIDs)

  2. Haptic input devices

  3. Robot arms

This support goes above and beyond Quanser’s very own devices as well as the standard PC peripherals, like keyboards, mice, game controllers (i.e., joysticks), or force-feedback game controllers, that QUAC also supports.

Also the nature of the interface used by any one of the QUARC-supported devices to connect to a QUARC target system (e.g., Windows 32-bit PC, QNX PC, Linux Gumstix Verdex) is almost as diverse as the types of devices supported. The interfaces used include, but are not limited to, USB, FireWire (IEEE 1394), serial (e.g., RS-232, TTL, SPI), PS2, and network (e.g., TCP/IP, UDP, ARCNET, bluetooth).

We are often asked what the actual devices currently supported by QUARC exactly are. Even though this list is continuously growing, the following summarizes the third-party devices to which Simulink-compatible blocks are offered by our upcoming version of QUARC, QUARC 2.0.

However, a device supported under one QuaRC target (e.g., 32-bit Windows) might not be supported for another QuaRC target (e.g., Linux), due to, for example, connectivity or third-party driver compatibility issues. Any QuaRC target restriction is specified in-between square brackets below.

QUARC 2.0 supports the following sensors and Human Interface Devices (HIDs).

QUARC 2.0 also supports the following haptic (i.e., position sensing and force feedback) input devices.

QUARC supports the following multiple-DOF serial robot arms and robotic devices as well. By doing so, QUARC makes these robots Open Architecture (OA), which is to say that their Cartesian or joint position or rate commands can be individually set, as configured in your Simulink diagram, together with any customized advanced robotic control schemes.

QUARC is designed to meet the continually-increasing demand for interactive systems. For example, the power of QUARC is really harnessed when users easily couple one of its supported haptic input devices to one of its supported robot arms and quickly setup, in a Simulink diagram, a fully customizable teleoperation system.

Please stay tuned for announcements on additional third-party device support as well as for added QUARC support for Quanser’s very own new and exciting products, like the novel Quanser USB-Qbit and QPID boards.

Monday, October 5, 2009

A Week at the MICCAI Conference

I was in the UK last week where the Imperial College of London was hosting the 12th International Conference on Medical Image Computing and Computer Assisted Intervention (MICCAI 2009). This is where clinicians, computer scientists , bioscientists, , engineers, and other researchers gather every year to share their innovations in the field of medical robotics, medical image processing and computer assisted intervention. Beside the major focus on advances of image acquisition and computation at the MICCAI conference, robotic assisted surgery has attracted huge attention in the recent years. Robots can provide the surgeons with unprecedented precision, dexterity, and minimally invasive techniques. They can increase the quality of the operation while reducing the time of the operation and patient recovery. Image information from a wide range of sensor data can be integrated into such systems to equip the surgeon with enhanced vision capabilities and feedback system.

From Left : Professor Guang-Zhong Yang (Imperial College), Amin Abdossalami (Quanser), Keith Blanchet(Quanser).

Quanser’s great expertise in haptics and teleoperation has resulted in the design and development of such well-known general purpose robotic manipulators as High Definition Haptic Device HD2 and Haptic Wand. At MICCAI 2009, Quanser was invited to present its latest haptic devices, the HD2. This system has a high accuracy position measurement and a relatively large workspace. It can provide the operator with precise force feedbacks ranging from the reaction force of a brain tissue to the stiffness of a tooth. In addition, the device end-effector can be easily modified for a versatile range of applications. All these characteristics make the HD2 capable enough to be used for such applications as virtual training simulators, collaborative haptics, rehabilitation, or it can even act as either a master or slave robot in a telesurgery setup. Using our real-time software QuaRC we designed some surgical simulations to demonstrate the capabilities of our HD2 and its programming software. Quanser’s HD2 along with its real-time software QuaRC and our other booth material attracted a lot of interest from both clinicians and engineers during the MICCAI conference.

Quanser Booth in MICCAI 2009

Below, our blog followers can read about some presentations from other companies participating in the exhibition.

One of the FDA approved systems which is extensively being used for robotic surgery is the da Vinci made by Intuitive. In the following video a second generation of the da Vinci systems with three surgical arms is presented.


SenseGraphics was another exhibiting company in the MICCAI. Below, you can see their presentation of their 3D display setup.



In the following video Dr. Rodriguez from Imperial College is presenting part of their fascinating research in the field of developing new brain probes.



In the following video you can see some interesting 3D spatial tracking systems developed by NDI.



And last but not least are some cool products from INITION in the field of 3D displays.