Top Banner
Fable: A Modular Robot for Students, Makers and Researchers Moises Pacheco, Rune Fogh, Henrik Hautop Lund and David Johan Christensen Abstract— The vision of the Fable modular robotic system is to transform the development of robots from a process performed mainly by experts, to an easily accessible and motivating activity that enables a large range of users to assemble and animate their own robotic ideas. To achieve this vision, the Fable system consists of a range of modules equipped with sensors and actuators, which users can easily assemble into a wide range of robots within seconds. The robots are user- programmable on several levels of abstraction ranging from a simple visual programming language to powerful conventional ones. This paper provides a brief overview of the concept, design and state of development for the second version of the Fable modular robotic system. I. INTRODUCTION Today’s world is filled with consumer products that con- stantly encouraged us to buy and not to build. Taught to us from an early age, plagiarism and copyright policies serve as mental barricades that dry out our curiosity, creativity and collaboration [1]. In this work we seek to revitalize and quench our users thirst for knowledge within the domain of robotics. We believe that, given the right tools, anyone can become a robot designer. In this paper we present the concept and design of Fable, a mechatronic construction kit that allows users to playfully build and program their own robots. Our objective is to motivate users both towards making their own robots and sharing them with others, that is as a DIY (Do it Yourself) kit and as a DIT (Do it Together) kit. We take inspiration from other modular robotic systems, which consist of a collection of simple robotic units that can attach and detach from each other to form a wide range of configurations [2], [3]. While several systems are designed to support self-reconfiguration, e.g. [4], [5], [6], Fable takes its inspiration mainly from user reconfigured and interactive systems such as Roblocks/cubelets [7], MOSS [8], Topobo [9] and LEGO Mindstorms. The rest of this paper starts by describing the concept behind Fable (Sec. II). It continues by presenting the design of Fable, that is: mechanics, electronics and software (Sec. III). Further in Sec. IV the paper exemplifies how robots are assembled and programmed. II. FABLE CONCEPT We have designed Fable as a modular robotic platform with a focus on our users’ needs, ranging from a classroom of kids, and after-school clubs, to hobbyists/makers and even researchers, as illustrated in Fig 1. This diversity in usability Technical University of Denmark (DTU), Center for Playware, Depart- ment of Electrical Engineering, Elektrovej, Building 326, DK-2800 Kgs. Lyngby, Denmark {mpac| djchr| hhl} @elektro.dtu.dk, [email protected] (a) Students (b) Maker (c) Researcher Fig. 1. Prospective Fable users with different interests, objectives and level of experience. is achieved by encapsulating key robotic functionalities into modules that can be combined in numerous configurations utilizing a shared connector and communication system. This gives us the freedom to design basic modules for kids and high-end modules for researchers while making it easy for makers to start building their own. To support this diversity of users we enable them to program the system by using their preferred programming language (Blockly, Python and Java are currently supported). The Fable system is designed to support constructionism and creative thinking. We took inspiration from Resnick’s et al. design principles [10] to empower users to be innovative. Furthermore, through a rapid reconfiguration of modules we support the user’s mental state of flow [11]. III. FABLE DESIGN This sections provides an overview of the design of our second version of the Fable system, details about the first version can be found in our previous work [12], [13], [14]. A. Mechanics Our approach uses powerful, yet easy to connect modules that allow users to assemble a functional robot in a matter of seconds. The Fable system is divided in active and passive
4

Fable: A Modular Robot for Students, Makers and …aut.elektro.dtu.dk/staff/djchr/publications/Pacheco2014.pdfFable: A Modular Robot for Students, Makers and Researchers Moises Pacheco,

Aug 08, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Fable: A Modular Robot for Students, Makers and …aut.elektro.dtu.dk/staff/djchr/publications/Pacheco2014.pdfFable: A Modular Robot for Students, Makers and Researchers Moises Pacheco,

Fable: A Modular Robot for Students, Makers and Researchers

Moises Pacheco, Rune Fogh, Henrik Hautop Lund and David Johan Christensen

Abstract— The vision of the Fable modular robotic systemis to transform the development of robots from a processperformed mainly by experts, to an easily accessible andmotivating activity that enables a large range of users toassemble and animate their own robotic ideas. To achieve thisvision, the Fable system consists of a range of modules equippedwith sensors and actuators, which users can easily assemble intoa wide range of robots within seconds. The robots are user-programmable on several levels of abstraction ranging from asimple visual programming language to powerful conventionalones. This paper provides a brief overview of the concept, designand state of development for the second version of the Fablemodular robotic system.

I. INTRODUCTION

Today’s world is filled with consumer products that con-stantly encouraged us to buy and not to build. Taught to usfrom an early age, plagiarism and copyright policies serveas mental barricades that dry out our curiosity, creativityand collaboration [1]. In this work we seek to revitalize andquench our users thirst for knowledge within the domain ofrobotics. We believe that, given the right tools, anyone canbecome a robot designer.

In this paper we present the concept and design of Fable,a mechatronic construction kit that allows users to playfullybuild and program their own robots. Our objective is tomotivate users both towards making their own robots andsharing them with others, that is as a DIY (Do it Yourself)kit and as a DIT (Do it Together) kit.

We take inspiration from other modular robotic systems,which consist of a collection of simple robotic units that canattach and detach from each other to form a wide range ofconfigurations [2], [3]. While several systems are designedto support self-reconfiguration, e.g. [4], [5], [6], Fable takesits inspiration mainly from user reconfigured and interactivesystems such as Roblocks/cubelets [7], MOSS [8], Topobo[9] and LEGO Mindstorms.

The rest of this paper starts by describing the conceptbehind Fable (Sec. II). It continues by presenting the designof Fable, that is: mechanics, electronics and software (Sec.III). Further in Sec. IV the paper exemplifies how robots areassembled and programmed.

II. FABLE CONCEPT

We have designed Fable as a modular robotic platformwith a focus on our users’ needs, ranging from a classroomof kids, and after-school clubs, to hobbyists/makers and evenresearchers, as illustrated in Fig 1. This diversity in usability

Technical University of Denmark (DTU), Center for Playware, Depart-ment of Electrical Engineering, Elektrovej, Building 326, DK-2800 Kgs.Lyngby, Denmark {mpac| djchr| hhl} @elektro.dtu.dk, [email protected]

(a) Students

(b) Maker (c) Researcher

Fig. 1. Prospective Fable users with different interests, objectives and levelof experience.

is achieved by encapsulating key robotic functionalities intomodules that can be combined in numerous configurationsutilizing a shared connector and communication system. Thisgives us the freedom to design basic modules for kids andhigh-end modules for researchers while making it easy formakers to start building their own. To support this diversityof users we enable them to program the system by usingtheir preferred programming language (Blockly, Python andJava are currently supported). The Fable system is designedto support constructionism and creative thinking. We tookinspiration from Resnick’s et al. design principles [10] toempower users to be innovative. Furthermore, through a rapidreconfiguration of modules we support the user’s mental stateof flow [11].

III. FABLE DESIGN

This sections provides an overview of the design of oursecond version of the Fable system, details about the firstversion can be found in our previous work [12], [13], [14].

A. Mechanics

Our approach uses powerful, yet easy to connect modulesthat allow users to assemble a functional robot in a matter ofseconds. The Fable system is divided in active and passive

Page 2: Fable: A Modular Robot for Students, Makers and …aut.elektro.dtu.dk/staff/djchr/publications/Pacheco2014.pdfFable: A Modular Robot for Students, Makers and Researchers Moises Pacheco,

(a) Small size (b) Medium size (c) Compatibility of twoconnector sizes

Fig. 2. Connector design: With the current design any size is possibleand compatible with the rest, having only as a lower limit the small sizeconnector diameter.

modules. Active modules contain a set of electronic boardswith a microcontroller, onboard power, and a radio devicefor wireless communication with a PC. These modules alsoprovide functionalities through actuation and sensing, e.g.one active module design is a 2 degree of freedom joint,see Fig. 4(a). Passive modules consist of a variety of shapesmade out of empty plastic shells. These passive moduleshelp give the robot structure and shape, e.g. a ’Y’ shapedmodule is used to connect three modules together and an’X’ to connects four modules. Both can be seen in the robotconfiguration in Fig. 4(b).

A key feature in modular systems are the connectors sincethey serve as the only contact surface between modules. Ourcurrent connector design, illustrated in Fig. 2, is genderlessand four way redundant, which allows our users to exploreseveral connection possibilities between modules. Each con-nector has at least one ring of magnets that attaches to amatching set on the connecting end. The connector uses aset of flanges that lock the modules allowing only the userto disconnect them by pulling them apart. With this designwe obtain a strong connection between modules and yet it’seasy enough for children to disconnect. The connector designis scalable, meaning that it is compatible between differentsizes, giving us the possibility of combining large moduleswith small ones, as illustrated on Fig. 2(c).

B. Electronics

For the Fable system we have developed a set of electronicboards that combined with commercially available boardsgive us a modular electronic configuration. The electronicboards are designed for simplicity, low production cost,flexibility and hackability. The modular approach enablesus to create different active modules by mixing electronicsboards in new configurations. Table I describes the electronicboards currently used in Fable. Different active modules anda radio dongle will use a specific subset of the electronicsmodules. As we develop new types of Fable modules we willdevelop new modular electronic boards to support them.

C. System Network Architecture

The underlying objective of the Fable network architectureis to make the robot programming as simple and flexibleas possible. Due to a low lag radio communication link to

Board Name Details DescriptionModule Board 11.1v, 1000mAh

LiPo batteryMain mother board for ac-tive modules

Dongle Board 5v USB powered Main mother board fordongles

User InterfaceBoard

RGB diode,button, buzzer,recharge plug,on/off switch

Functions for user feed-back and direct interactionwith module/dongle

Motor Board RS232 half-duplex dualbuffer

Interface board for serialcontrol of Dynamixel mo-tors (e.g. AX-12A)

Arduino ProMini

AVR Atmega328,3.3v, 8MHz

MCU module for donglesand modules

Radio Board NRF24L01+,2.4GHz, 2MBit,SPI interface

Wireless communicationbetween modules anddongles

TABLE IOVERVIEW OF ELECTRONICS BOARDS USED IN FABLE

Fig. 3. Network architecture of the Fable system.

the modules, the user can program the distributed robotsas if it was centralized and connected directly to the PC.Therefore, the user avoids the difficulties of cross-compiling,downloading program to robot and debugging a distributedembedded platform.

The network architecture of the Fable system is shownin Fig. 3. The user PC is serially connected to a don-gle which provide a shared 2 Mbit radio communicationlink between the user control application and the modules.Modules are addressed using an ID and their module type.Web services can be used to enhance the possibilities ofthe user application, currently we use a web service APIfor speech generation. Although the radio communication isshown here as a master-slave architecture, it can also functionas a peer-to-peer network. This could be exploited in certainresearch studies, e.g. on distributed control. In addition,we plan to exploit asynchronous communication betweendifferent dongles to enable the different users to programcollaboratively by writing different part of the program andremotely calling functions developed by other users.

Page 3: Fable: A Modular Robot for Students, Makers and …aut.elektro.dtu.dk/staff/djchr/publications/Pacheco2014.pdfFable: A Modular Robot for Students, Makers and Researchers Moises Pacheco,

(a) Modules

(b) Quadruped

Fig. 4. (a) Four active joint modules and eight passive modules. (b) AFable quadruped robot assembled from the above twelve modules.

D. User Programming

The user develops the system application from a per-sonal computer using one of the supported programminglanguages. When the user executes the application programit is not cross-compiled but run locally on the PC. SimpleAPIs enable the user-program to call functions on the remotemodules through the dongle connected to the PC (basedon module IDs). The round-trip lag for a simple remoteprocedure call is around 4.2 ms, longer if the remote moduleneed to perform processing. This is sufficiently low for mostapplications and can be reduced even further in future work.

For non-programmers to quickly start developing applica-tions a graphical user interface (GUI), based on Blockly [15]is used. Blockly is an open-source framework for buildingapplication specific visual programming languages inspiredby the Scratch programming environment [16]. An exampleof a Blockly program for controlling a simple interactive Fa-ble robot is shown in Fig. 5(a). The source output generatedfrom Blockly is written in Python. This string of Pythoncode is send from the Blockly JavaScript web-applicationthrough an HTTP request to a Python server which executes

the Python control application.More experienced users can also write applications di-

rectly in either Python or Java. Further, we plan to addMatlab support for research and university education infuture work.

IV. EXAMPLE

This example illustrates a simple typical robot that couldbe build and programmed by most non-expert users.

Fig. 4(a) shows the modules as an exploded view of theQuadruped shown in Fig 4(b). The quadruped consist ofeight passive modules: four feet, two ’Y’, one ’X’ and onetail module. In addition, four active joint 2DOF modulesis used in the quadruped. It takes on average 16.9 secondsto assemble and 9.8 seconds to disassemble the robot foran experienced user. This type of quadruped robot has pre-viously been programmed by young students with differentgait patterns, who in the process learned about programming,robotics, and mathematics.

A simple example of a Blockly program, which can beused to control the robot, is shown in Fig. 5(a). This programfirst uses a web API to speak a sentence (local playback onthe PC) and then enters an infinite loop where it mirrors theangle of one joint on module 11 to the opposite joint onmodule 13. Further, the program plots the position in real-time in a graph which is an integrated part of the graphicaluser interface for debugging and educational purposes. Thisprogram enables the user to use one joint actuator to re-mote control another joint on a different module. We haveobserved such simple interactions to be both playful andengaging for younger children (age around 9-10 years), whoare also able to program such behaviors themselves. Testshave shown that the main loop of this program is executedwith 90 Hz on average. The main limitation on the executionspeed is the communication path from PC to dongle (serial),dongle to module (radio), module to Dynamixel servo (half-duplex serial) and back again in the case of the “get” method.

In Fig. 5(b) the equivalent Python source code generatedfrom the Blockly program is shown. We anticipate thatthe similarity between Blockly and Python will facilitatenon-programmers to transition from a visual programminglanguage to more conventional programming. More advancedcontrol strategies e.g. for research experiments could beimplemented in Python, Java and in future work also inMatlab.

V. CONCLUSION

In this paper we briefly described the vision, concept anddesign of the latest version of Fable. Fable is a modularrobotic playware platform that enables non-technical users,ranging from young students, makers and researchers toassemble and program their own interactive robots. Wedescribed the mechanics of the system with passive andactive modules and a scalable and robust connector design,that enables users to build and reconfigure a robot in amatter of seconds. The paper also provides an overviewof our modular electronic design and how this allows us

Page 4: Fable: A Modular Robot for Students, Makers and …aut.elektro.dtu.dk/staff/djchr/publications/Pacheco2014.pdfFable: A Modular Robot for Students, Makers and Researchers Moises Pacheco,

(a) Blockly (b) Python

Fig. 5. (a) A simple example Blockly program for controlling two Fable joint modules. (b) The corresponding Python code output by Blockly.

to build and develop new types of modules faster. Further,we described how the user could program the system as ifit was a centralized robot at different levels of abstractionranging from a visual programming language to conven-tional languages such as Python and Java. Currently, we areextending the Fable system with more passive and activemodules, including a gripper, a head module with varioussensors and a rotational base module which can also be usedas a wheel. Furthermore we are working on interfacing Fablewith Matlab and Simulink to allow researchers to simulatealgorithms with hardware in the loop.

REFERENCES

[1] Paul Goodman. Compulsory miseducation. Penguin Harmondsworth,1971.

[2] Mark Yim, Wei-Min Shen, Behnam Salemi, Daniela Rus, Mark Moll,Hod Lipson, Eric Klavins, and Gregory S Chirikjian. Modular self-reconfigurable robot systems [grand challenges of robotics]. Robotics& Automation Magazine, IEEE, 14(1):43–52, 2007.

[3] Kasper Stoy, David Brandt, and David Johan Christensen. Self-reconfigurable robots: an introduction. MIT Press, 2010.

[4] H. Kurokawa, K. Tomita, A. Kamimura, S. Kokaji, T. Hasuo, andS. Murata. Distributed self-reconfiguration of M-TRAN III modularrobotic system. International Journal of Robotics Research, 27(3-4):373–386, 2008.

[5] E. H. Østergaard, K. Kassow, R. Beck, and H. H. Lund. Design of theATRON lattice-based self-reconfigurable robot. Autonomous Robots,21:165–183, 2006.

[6] Alexander Sproewitz, Aude Billard, Pierre Dillenbourg, and Auke JanIjspeert. Roombots-mechanical design of self-reconfiguring modularrobots for adaptive furniture. In Robotics and Automation, 2009.ICRA’09. IEEE International Conference on, pages 4259–4264. IEEE,2009.

[7] Eric Schweikardt and Mark D Gross. roblocks: a robotic constructionkit for mathematics and science education. In Proceedings of the8th international conference on Multimodal interfaces, pages 72–75.ACM, 2006.

[8] ModularRobotics. Moss robot construction system. http://www.modrobotics.com/moss/. Accessed: 2014-06-26.

[9] Hayes Solos Raffle, Amanda J Parkes, and Hiroshi Ishii. Topobo: aconstructive assembly system with kinetic memory. In Proceedingsof the SIGCHI conference on Human factors in computing systems,pages 647–654. ACM, 2004.

[10] Mitchel Resnick, Brad Myers, Kumiyo Nakakoji, Ben Shneiderman,Randy Pausch, Ted Selker, and Mike Eisenberg. Design principles fortools to support creative thinking. In NSF Workshop on Report onCreativity Support Tools, 2005.

[11] Mihaly Csikszentmihalyi. Flow: The psychology of optimal perfor-mance. 1990.

[12] Moises Pacheco, Mikael Moghadam, Arnthor Magnusson, B Silver-man, Henrik Hautop Lund, and David Johan Christensen. Fable:Design of a modular robotic playware platform. In Robotics andAutomation (ICRA), 2013 IEEE International Conference on, pages544–550. IEEE, 2013.

[13] Arnthor Magnusson, Moises Pacheco, Mikael Moghadam, Hen-rik Hautop Lund, and David Johan Christensen. Fable: Sociallyinteractive modular robot. In The Eighteenth International Symposiumon Artificial Life and Robotics 2013, 2013.

[14] Bjarke Heesche, Ewen MacDonald, Rune Fogh, Moises Pacheco, andDavid Johan Christensen. Playful interaction with voice sensingmodular robots. In Social Robotics, pages 180–189. Springer, 2013.

[15] Google. blockly - a visual programming editor. https://code.google.com/p/blockly/. Accessed: 2014-06-26.

[16] Mitchel Resnick, John Maloney, Andres Monroy-Hernandez, NatalieRusk, Evelyn Eastmond, Karen Brennan, Amon Millner, Eric Rosen-baum, Jay Silver, Brian Silverman, et al. Scratch: programming for

all. Communications of the ACM, 52(11):60–67, 2009.