Software, Robots & Robotics
DuinoBlock4Kids (DB4K)
Block-based programming environment for programming learning via Educational Robotics (In Portuguese)
DB4K is a didactic kit for teaching computer programming for elementary school children via block-based programming and educational robotics. The kit was built on Constructivist assumptions and is based on the use of free technology, low-cost components, and recyclable materials. Through the programming blocks available at DB4K block-based programming environment, it is possible to control the most common robotics devices used in educational robotics classes with Arduino. Those programming blocks were designed to aid their use by children, in contrast with the blocks commonly found in visual environments for Arduino boards programming. This is achieved through a combination of text and icons. Each block makes explicit the device it controls and the result to be observed when the block is executed in the program. Hardware-related details, such as pinouts and voltage level values, are suppressed. The kit is also composed of a set of educational robotics materials. One of these materials is a plastic box, named The Little Magic Box which has all devices programmable by DB4k already connected to an Arduino Board. Some PET bottle robots were also developed. They are employed in activities with narratives to contextualize the use of the robotics devices previously dealt with in class with the Little Magic Box (Ref: AI from concrete to Abstract, AI&Societ, 2021 (In English)).
For more details about the DB4K Kit, you can access the DuinoBlocks4Kids Project Page (in Portuguese) and the related texts (in Portuguese) present in my Curriculum Vitae.
Litle Magic Box
Vampire Wheeled Robot
PET bottle Robot Bat (In Portuguese)
PET bottle Robot Dog (In Portuguese)
PET bottle Robot Fish Prototype (In Portuguese)
DB4K Video Poster (In Portuguese)
You can find more DB4K video tutorials on the QRZbots YouTube Channel
BlockWiSARD
Block-based programming environment for basic machine leaning education
Zero the Robot
BlockWiSARD is part of the AIcon2abs method (AI from concrete to Abstract, AI&Societ, 2021 (In English)). AIcon2abs was developed with the aim of finding a satisfactory way to facilitate initial contact of the lay public with the AI area, adopting machine learning as a gateway to this universe. In its most basic form, machine learning consists of giving examples of a specific class as inputs to an algorithm that will later classify new observations as belonging or not to that class. So, In AIcon2abas, we consider as a basic understanding of machine learning the perception of the following aspects: (i) in its most basic form, machine learning is about computers learning through examples, and (ii) machine learning occurs through the execution of a computer program.
AIcon2abs is composed by BlockWiSARD, a series of interactive ludic activities about the WiSARD weightless artificial neural network model, a set of educational robotics materials, and a standard instructional unit (IU). BlockWiSARD is a block-based programming environment designed to support people with no programming skills (i) to build programs that "transform" their computer into a machine capable of learning to recognize images and (ii) to understand how these programs work. BlockWiSARD can operate in low-cost computers without GPU and without requiring an internet connection. In BlockWiSARD, higher-level tasks necessary for a machine to learn from examples and the instantiation of the learning algorithm are included as commands in the program being developed. This feature intends to facilitate the perception of the distinction between a "conventional" computer program and a computer program capable of learning from examples. For that, BlockWiSARD has four blocks directly related to the training and classification process. By combining this set of blocks with the conventional programming blocks, it is easy to develop systems that (i) create an instance of a learning mechanism; (ii) request data to be learned; (iii) request corresponding labels for that data; and (iv) Classify new data given as input. The possibility of designing a programming language containing machine learning primitives has been raised by Tom Mitchell in 2006. In addition to the machine learning blocks, BlockWiSARD has a block responsible for generating a mental image of a given class. The mental images allow users to see a prototype of a class learned from trained patterns.
An essential BlockWiSARD premise is that each command block in the program must correspond directly to an observable action in the concrete world. This premise must also be valid for the machine learning-related programming blocks. With this objective, games, animations, and interactive ludic activities about WiSARD were designed and developed as part of the AIcon2abs method. Seymour Papert once said: "The reason you are not a mathematician might well be that you think that math has nothing to do with the body; you have kept your body out of it because it is supposed to be abstract, or perhaps a teacher scolded you for using your fingers to add numbers! This idea […] has inspired me to use the computer as a medium to allow children to put their bodies back into their mathematics." WiSARD is an appropriate tool to put people's bodies into learning AI through ludic activities. The WiSARD model ludic activities allow apprentices to observe the actions performed internally by the machine when the learning algorithm is instantiated in BlockWiSARD. It also allows the visualization of what the machine does when the Learn and Recognize blocks are used in the BlockWiSARD programs. More than that, those activities make it possible for people to perform all those actions as if they were the WiSARD algorithm itself.
BlockWiSARD has three operation modes: (i) Computer Only; (ii) Computer + Arduino , or (iii) Raspberry Pi (ii). The last two operation modes allow the use of BlockWiSARD in combination with educational robotics devices. Some examples of robotics materials compatible with BlockWiSARD were also developed as part of the AIcon2abs method. These robotics materials are not essential elements of the method but complementary ones. They are examples of possible robotic materials to be used in the intended learning process. Other materials, built using Arduino boards or Raspberry Pi single-board computers, can be designed to be used alongside BlockWiSARD. The possibility of using BlockWiSARD in combination with low-cost robotics provides the AIcon2abs method with the benefits of using robotics in the learning process.
For BlockWiSARD, the educational robotics materials, and the ludic activities to be adequately used in developing the intended learnings, the AIcon2abs method also includes a standard instructional unit with a workload of approximately 6 hours
Ref: How do Machines Learn?, arXiv, 2024 (In English)
BlockWiSARD + Simple Robotics - Video 1 (In English)
BlockWiSARD + Simple Robotics - Video 2 (In English)
BlockWiSARD + Simple Robotics - Video 3 (In English)
DuinoVox
Example of a program written in DuinoVox
DiunoVox library for the Scriptvox programming language was developed by me in partnership with Professor José Antonio dos Santos Borges at the TecnoAssist Laboratory (NCE/UFRJ). Scriptvox is a programming language in Portuguese, developed for pedagogical purposes that works natively with synthesized voice. It is part of the DosVox System, an Operating System for the visually impaired, having been the first commercial system that vocally synthesizes generic texts in the Portuguese language, created in 1993 and still widely used by visually impaired people in Brazil.
The DuinoVox library is a library developed for pedagogical purposes. It consists of a set of functions that simplify Arduino board programming. The library was created based on the same scientific bases used to develop the Duinoblocks4Kids Programming Environment. It works as a client system that sends command execution requests to a server application running inside an Arduino board connected to the computer. The server application that runs on the Arduino board was also developed as part of the DuinoVox project.
A robotic material inspired by the DB4K Litle Magic Box was also developed along with the software structure. This material was called the DuinoVox Sensory Box. The Sensory Box has plugs adapted to facilitate the connection of electronic devices and devices that aim to boost the sensory perception of the actuators' actions (sound, touch, movement, and air displacement). So that the user can more easily locate the electronic devices in the box, Braille marks were incorporated into the Sensory Box, indicating the right and left sides of the box and the positive pole of the electronic connectors.
DuinoVox Sensory Box
More Robots & Robotics
Robotic Minion
Automatic pet feeder Prototype
See my Curriculum Vitae for more of my software