Robotics TXT — A Quantum Leap
Announced in February 2014 at the Nuremberg Toy Fair, the much anticipated new controller is the 4th generation from fischertechnik, and the 3rd I play with, after the Intelligent Interface, the Robo Interface (which I didn't use) and the RoboTX.
The Robotics TXT features the same number of inputs and outputs as in the RoboTX controller: 8 universal inputs, a combination of 4 dual outputs for motors or 8 single outputs for lamps, and 4 faster counter inputs. But the Robotics TXT also packs a microSD-card slot, a clock, a touch screen, and a USB port for the camera. The Robotics TXT controller was sampled by fischertechnik. |
Hardware
The new controller includes two processing units: an Cortex-A8-based micro-computer running on Linux and a Cortex-M3-based micro-controller. This dual-processor configuration is common for industrial controllers and combines the best part of each unit.
The Cortex-A8-based micro-computer handles high-level operations like communication, display, storage and image processing thank to the Linux operating system, while the Cortex-M3-based micro-controller excels in the deterministic management of inputs and outputs. From day one, most of the key features are available and work: camera, WiFi, Bluetooth. Clock and I²C have been added recently with release 4.2.3 of RoboPro. Still pending, micro-SD card. |
From left to right: jack plug for power, microSD-card slot,
USB to PC, USB for camera |
There's also a 10-pin expansion port, with I²C bus. Among the main differences, the expansion port had 10 pins instead of 6, but doesn't provide power.
The I²C bus operates at 3.3 V and thus, is not compatible with the I²C bus of the RoboTX, which runs at 5 V. That means the sensors designed for the RoboTX are not compatible with the Robotics TXT. Learn How to connect an I²C Device to the Robotics TXT? However, the current I²C implementation is limited to fast mode (400 kHz) only. Similarly, it supports neither standard mode (100 kHz) nor clock stretching, as the RoboTX used to. Faster speed as fast mode+ (1 MHz) isn't featured. Surprisingly, the I²C port is managed by the MPU running on Linux, not by the MCU. Actually, the MCU is only used for the encoder motors. The MPU running on Linux manages all the inputs/outputs. |
Unfortunately, the documentation about the Robotics TXT controller doesn't provide much details about the 10-pin expansion port.
For example, no information is provided about the CAN bus, as spotted in this disassembly. However, the Serial port is documented and can be interfaced to a standard FTDI cable to display the booting sequence. |
Software
A new release of RoboPro supports the new controller. I was very curious to see how RoboPro would provide an easy access to such powerful features.
With such sophisticated hardware, the risk is having a complicated programming environment with a steep learning curve. Luckily, RoboPro provides different levels of complexity: one very easy for beginners, one for confirmed users and one for advanced users. Even for advanced users, I strongly recommend starting with the easy levels to get familiar with the new concepts, especially the camera and the image recognition. |
The only real limitation comes from the impossibility to display complex calculations without boxes and arrows, prone to the spaghetti syndrome, as in the triangulation routine of the soccer robot. I'd like to have boxes where I can write my algorithms using standard code, as in MatLab and LabView.
Now, the manuals provides no clue on such advanced algorithms, as it used to be for mechanics, electromechanics and electronics. There's a real challenge for fischertechnik to stick with the educational goal that has made its reputation, and thus provide the adequate documentation. |
Finally, as the main processor runs on Linux, fischertechnik provides a TXT C Programming Expert Kit. This would have been a nice introduction to embedded systems, should an Arduino-like framework been provided. However, it is not clear which core does what.
The learning curve is too steep and there's ample room for an intermediate solution between the C low level routines and the GUI-based RoboPro. |
Scratch
Scratch is a development tool based on blocks, similar to MakeCode used with the Starter Set for micro:bit.
A Scratch implementation consists on two parts:
A dedicated extension for ftScratch3 provides a rich assortment of blocks for fischertechnik sensors and actuators. During my tests, ftScratch3 worked very nicely. However, Scratch turns the Robotics TXT controller into a simple interface: the controller needs to stay connected to the PC, which performs all the processing. The same environment also supports the Bluetooth Smart controller. |
|
Conclusion
The new Robotics TXT controller is packed with many news features and opens doors to new horizons. Once again, fischertechnik offers an integrated and consistent system with hardware and software that work well together, as well as models that introduce into each feature.
Now, let's hope for a full development of all features and an extension module —like the expansion modules for the Intelligent Interface and for the Robo Interface— built around a Cortex-M3, better documentation and for some sort of compatibility with the previous RoboTXs, for example through Bluetooth, so we could reuse them. |
Pros
|
Cons
|
Wrap-Up
|
Links
Posted: 03 Jan 2016 Updated: 14 Mar 2020 |