Crystalfontz 635: Integral component of an open-source ROS (Robot Operating System)

Crystalfontz supports education, especially when electronic projects in the classroom are involved. Imagine our excitement when we were contacted by professors from the Artificial Intelligence and Robotics Lab of Politecnico di Milano university. Born in 1971, AIRLab is one of the first groups of researchers working on Artificial Intelligence, Robotics and Computer Vision in Italy.

Their work at the lab includes the development of hardware and software for “a wide range of autonomous robot systems, including wheelchairs, off-road vehicles, multi-copters, cars, forklifts, agricultural robots, and so on.”

In Search of the Best LCD for A Robotics Project

The team of three professors reached out us about a project in the works that would build a “general-purpose notification system for robots.” The Crystalfontz 635 enclosed display was a chosen as a good fit due to the hardware features and good Linux support.

CFA635-Enclosed LCD Module

As noted by the project lead:

“We intend to publish the notification system we will develop as an open-source component of ROS (Robot Operating System: the de facto standard in autonomous robotics). We think that such a package will be interesting for many other ROS users, as it solves a common problem and nothing similar is currently available.”

Update From the Team: ROS Project

The ROS-Crystalfontz is a software package for the ROS middleware for robotics (http://www.ros.org/). The package has been developed for the CFA-635 display with an onboard keypad; though it may be usable with (or adaptable to) other models, this has not been tested yet.

Source Code
ROS-Crystalfontz software package source code is here:
https://github.com/AIRLab-POLIMI/ros-crystalfontz

Overview
A complete description of the package, its functionalities, and usage is provided here:
https://github.com/AIRLab-POLIMI/ros-crystalfontz/blob/master/README.md

The key components of the ROS-Crystalfontz package are the following ROS nodes:

crystalfontz_driver
Provides an interface between ROS-based software and a Crystalfontz display based on the use of ROS topics. More specifically, crystalfontz_driver enables the programmer to use all the functionalities of the CFA-635 simply by publishing or reading messages on topics, thus completely removing the need to know and use the communication protocols.

crystalfontz_logic
Provides a menu-based system to run scripts using the keypad of the Crystalfontz display. An arbitrarily complex tree of submenus can be easily defined, simply by storing the scripts into a subdirectory tree having the same structure. Submenu names correspond to directory names in the tree.

The package includes documentation and examples.