Academic Company Events NI Developer Zone Support Solutions Products & Services Contact NI MyNI

Developing an Automated Testing Process for Anoto Pens Used to Convert Handwriting into Digital Communication

  Print

Author(s):
Mats Andersson - Merital Ola Wassvik, Anoto AB

Industry:
Machine Vision/Imaging

Products:
TestStand, LabVIEW

The Challenge:
Developing a rugged production tester to test key components of an Anoto pen that uses real-time image processing to convert handwriting into digital communication.

The Solution:
Using NI TestStand and LabVIEW to develop a PC-based production test system in less than four months.

Anoto AB is a Swedish company with unique solutions for transmission of handwritten text from paper to digital media. Our technology incorporates digital communication and handwriting, putting the power of digital communication to pen and paper.

Our technology uses a digital pen, containing a small camera that continuously acquires and analyzes images on an Anoto-patterned paper. We based this patterned paper on a proprietary pattern of small dots on ordinary paper. Because every image we acquire contains enough information to make a calculation of the exact position of the pen, we can assign dynamic information that determines how the dot pattern should be interpreted.

The pen primarily consists of a digital camera, an image-processing unit, and a communication unit used to transfer anything written or drawn to any mobile phone or personal computer.

Identifying Test Requirements
Because we base our technology on advanced real-time image processing, it is crucial that a pen calculates its position after each image is acquired. The pen positioning system (PPS) executes this task. The PPS includes the printed Anoto dot pattern, an optic module that includes supporting electronics, hardware drivers, and software for image processing and dot pattern decoding. All software is executed on an ARM-based ASIC located in the pen.

The optic module (OM) consists of:
· IR-LED for illumination of the small spot, near the tip of the pen that the camera focuses on
· CMOS image sensor
· Imaging and illumination optics

Because the optic module is a key component of the pen, we test the module before mounting it in a pen to secure proper PPS function. We execute similar tests after mounting the optic module in the pen to secure proper functionality.

During the start of the project, we decided to focus on the following tasks:
· Developing a Windows-based test software that controls the tester, and analyzes and stores test results on disc
· Developing a pneumatic-controlled sledge that handles up to six test targets
· Developing a user-friendly interface that we could easily modify
· Making it easy to modify test limits, test steps, test logic, and how to save test results
· Ensuring the test system could support different user privileges
· Minimizing development cost and time by using off-the-shelf products
· Ensuring each tester could handle both OM and pen tests

We designed the tester to perform an isolated test on the optic module, test the optic module in a pen for different targets, and different angles to recreate the environment where an Anoto pen is used. ,This means that each test target consists of an Anoto-patterned paper mounted on a tilted surface that is positioned carefully towards the test object. A normal test step consists of setting a proper test target, acquiring a number of images, and analyzing the quality of the images to pass or fail the test step.

Saving Development Time with NI TestStand
In the initial stages, the PPS production tester software was primarily based on LabVIEW. However, it was apparent that the development and testing of a robust test executive core would require a large time investment due to the testing requirements.

Therefore, we selected National Instruments TestStand to simplify test limit handling, test step changes, and test logic. TestStand makes development of a test system easier and supports common development languages that work with ActiveX. TestStand also simplifies future needs for flexible database connections, flexible test limit calculation (floating limits), multiple operator privileges, multiple implementation tools, and error handling. Therefore, we could spend more time on test step development and user interface design.

We developed the user interface in LabVIEW. The test executive is based on a test stand that administrates tests and stores test data in an ASCII-based file. For each test step, the TestStand engine calls test steps developed in LabVIEW. The test step code executes a test step and reports the result to the TestStand engine that determines if it passes or fails. Limit values are read from a limit file. All step results are displayed in the user interface. Each test step receives specific test criteria from the TestStand engine before it executes a test.
An example of test criteria could be the type of test target, how many images to acquire, or the method of configuring the image sensor. We develop all test steps in LabVIEW.

We used GOOP® (Graphical Object Oriented Programming) to simplify future software changes and minimize software maintenance. We identified three classes: PPS, Pen HAL (Hardware Abstraction Layer), and Target HAL.

A typical test step starts by calling a method in the Target HAL to set the proper test target. Then, the Pen HAL is addressed in order to acquire a number of images that are sent to the PPS object for image analyzes. The PPS object responses by giving back a number of test result data that are transferred to the TestStand engine.

Integrating a Stable Production Line Tester in Less than Four Months
By using TestStand with LabVIEW and GOOP support, we developed and integrated a stable production line tester in less than four months. During the initial stage of the project, we discussed different test flows. In the end, we easily implanted the test system thanks to the process model support in TestStand.

Another impressive experience was the seamless transition from development environment to run-time executables. We attribute this to the run time engine wizard that is part of TestStand development software. Therefore, there was no need to install LabVIEW and TestStand development software in the production line. We can run the PPS production test software on a LabVIEW or TestStand run-time engines.

For more information, contact:
Mats Andersson
Merital
Svalvägen 34
237 36 Bjärred
Sweden
Mats.Andersson@merital.net

Browse All Case Studies »

  Print