Quanser’s QUARC software adds powerful tools and capabilities to MATLAB® and Simulink® to make the development and deployment of sophisticated real-time mechatronics and control applications easier. QUARC generates real-time code directly from Simulink-designed controllers and runs it in real-time on the Windows target - all without digital signal processing or without writing a single line of code.
QUARC is an integral part of Quanser's teaching lab workstations and the comprehensive courseware with Simulink-based lab exercises that accompanies them. With QUARC, students’ efforts focus on key control concepts rather than tedious code writing. QUARC user interfaces are easy to understand, which means students do not require any extensive training. They work with controllers that are clear and match standard system block diagrams used in textbooks. Students can tune parameters of the running model by changing block parameters in the Simulink diagram, view the status of a signal in the model and stream data to MATLAB workspace or to a file for off-line analysis.
The courseware developed by Quanser engineers effectively demonstrates and teaches the mechatronic design approach practised in industry. This includes modeling, controller design, simulation and implementation.
QUARC seamlessly integrates with Quanser’s research platforms to implement virtually any control algorithm. Combined with Quanser power amplifiers and data acquisition cards, QUARC provides an ideal rapid prototyping and hardware-in-the-loop development environment, ideal for design, simulation, implementation and testing of time-varying systems used in communications, controls, signal processing, video processing, image processing, and more.
With its extensive collection of features and capabilities, QUARC presents a rapid control prototyping environment adaptable to virtually any mechatronic interface and scalable for complex multi-input and multi-output systems. This means you can reduce week-long development process to a few hours, turning overwhelmingly complex applications into feasible, even easy ones. The main features of QUARC include:
The QUARC HIL API provides a whole new way of accessing hardware, creating a flexible and extensible framework supporting DAQ and external devices. By changing a single parameter, you can change the data acquisition card used by an entire diagram.
The QUARC Stream API allows to conduct standard communication between QUARC models, between a QUARC model and external third-party applications (e.g., graphical user interface), or even between two external third-party applications. The Stream API is independent of the development environment and can be used in C/C++, .NET, MATLAB®, or LabVIEW™. The Stream API also enables the communication between multiple real-time model over the internet. This could be used for distributed control, teleoperation, device interfacing, etc. The stream API natively supports TCP/IP, UDP, serial, shared memory, named pipes, ARCNET, and other protocols.
QUARC can be configured to automatically create multiple threads for multi-rate models, where Simulink diagram contains block with different sample times. QUARC also handles threads that run completely asynchronously and are aperiodic. Such asynchronous threads are useful for communications, for worker threads or for idle-time processing and are an advanced feature of QUARC.
Researchers incorporating off-the-shelf devices in their projects further benefit from QUARC's extensive suite of third-party device blocks. These blocks not only allow a Simulink model to communicate with external devices, such as Denso and Kinova robots, PGR cameras and Geomagic haptic devices, but also to implement the mathematical framework for controlling them. All this is possible without the need to learn new tools or hand coding since the controller design and integration is performed in an environment most researchers are familiar with, such as Windows®, MATLAB and Simulink. Click here for the latest list of interfaces supported by QUARC.
For full details on QUARC features, visit the full documentation page and check the release notes.
¹ 32-bit Windows Host PC requires installation of 32-bit MATLAB, 64-bit Windows Host PC requires installation of 64-bit MATLAB
² Linux DuoVero target requires a DuoVero Zephyr board 9provided by Quanser) with the Yocto root file system customized for QUARC
³ Linux Verdex target requires a Verdex Pro XL6P board (provided by Quanser) with the Open Embedded root file system customized for QUARC
* required for labs