FOSSbot: An open source and open design educational robot
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 542 | |
Author | ||
License | CC Attribution 2.0 Belgium: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/61518 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
FOSDEM 202337 / 542
2
5
10
14
15
16
22
24
27
29
31
36
43
48
56
63
74
78
83
87
89
95
96
99
104
106
107
117
119
121
122
125
126
128
130
132
134
135
136
141
143
146
148
152
155
157
159
161
165
166
168
170
173
176
180
181
185
191
194
196
197
198
199
206
207
209
210
211
212
216
219
220
227
228
229
231
232
233
236
250
252
256
258
260
263
264
267
271
273
275
276
278
282
286
292
293
298
299
300
302
312
316
321
322
324
339
341
342
343
344
351
352
354
355
356
357
359
369
370
372
373
376
378
379
380
382
383
387
390
394
395
401
405
406
410
411
413
415
416
421
426
430
437
438
440
441
443
444
445
446
448
449
450
451
458
464
468
472
475
476
479
481
493
494
498
499
502
509
513
516
517
520
522
524
525
531
534
535
537
538
541
00:00
RobotIntegral domainOpen setProjective planeRoboticsOpen sourceSoftwareWeb-DesignerPresentation of a groupForcing (mathematics)Level (video gaming)Universe (mathematics)Row (database)Term (mathematics)CodeComputer animation
01:28
Student's t-testPersonal digital assistantSoftware developerMetropolitan area networkSoftwareProjective planeForcing (mathematics)Row (database)Computer hardwareMachine codeAssembly languageComputer simulationCoordinate systemFront and back endsRoboticsComputer animation
02:04
UltrasoundEuclidean vectorGreatest elementMetreComputer programmingOrder (biology)Connectivity (graph theory)Multi-core processorWeightRoboticsTable (information)MereologyRevision controlProtein foldingObject (grammar)TelecommunicationMeasurementRule of inferenceEndliche ModelltheorieLine (geometry)Computer hardwarePoint (geometry)Right angleOpticsKonturfindungAkkumulator <Informatik>UltrasoundHydraulic motorCartesian coordinate system
04:21
Open sourceSpeichermodellPoint (geometry)RoboticsPlastikkarteOpen setBounded variationTelecommunicationWebsiteComputer animation
05:02
Universe (mathematics)Phase transitionDifferent (Kate Ryan album)Slide ruleLine (geometry)Vulnerability (computing)SoftwareRoboticsComputer animation
05:19
Elementary arithmeticPlastikkarteGraphics tabletControl flowScripting languageComputer programAsynchronous Transfer ModeCodeBlock (periodic table)Web pageVisual systemParameter (computer programming)RobotOperator (mathematics)Variable (mathematics)LogicProgrammschleifeView (database)GUI widgetKernel (computing)8 (number)SimulationComputer programmingCantor setRepetitionVirtual realityRoboticsLibrary (computing)MultiplicationStudent's t-testComputing platformComputer simulationShared memoryProjective planeLaptopGroup actionFormal languageMultiplication signVideoconferencingLoop (music)Line (geometry)Block (periodic table)Machine codeComputer configurationInteractive televisionWeb pageAsynchronous Transfer ModePlastikkarteDefault (computer science)Elementary arithmeticComputer iconRevision controlNumberSet (mathematics)Scripting languageCubeWindowRadical (chemistry)Game controllerComputer programmingResultantMedical imagingTraffic reportingMessage passingBootingTask (computing)Right angleReal-time operating systemDistanceOpen sourcePhysicalismMathematicsMeasurementCASE <Informatik>SimulationGoogolCategory of beingDifferent (Kate Ryan album)WebsiteSocial classLevel (video gaming)View (database)Limit (category theory)Thomas BayesIntegrated development environmentGreatest elementPlotterComputer animation
10:02
Computer simulationRight angleProjective planeVideoconferencingVirtual realityDifferent (Kate Ryan album)
10:22
Network socketSingle-board computerArmControl flowRobotAlgorithmSimulationReal numberDataflowTensorIntegrated development environmentLibrary (computing)Machine learningRaw image formatReinforcement learningReal-time operating systemUniverse (mathematics)Process (computing)Materialization (paranormal)Virtual realityStudent's t-testWeb browserLabour Party (Malta)MereologyGoogolComputing platformWireless LANDigital electronicsPoint (geometry)Game controllerRoboticsMachine codeLibrary (computing)Level (video gaming)NeuroinformatikBoss CorporationPlotterPRINCE2AreaForcing (mathematics)Vector potentialPresentation of a groupCore dumpComputer virusCausalityCombinational logicMachine visionNetwork socketPhysicalismAlgorithmVirtual machineFormal languageMultiplicationSoftware maintenanceDistribution (mathematics)Computer animation
13:18
Online helpContent (media)Group actionPresentation of a groupOpen setForcing (mathematics)Computer programmingDiagram
14:04
Computer programmingMereologyOrder (biology)SimulationMachine learningData managementMoment (mathematics)Integrated development environmentVirtual realityComputing platformUniverse (mathematics)RainforestTerm (mathematics)Machine codeForcing (mathematics)Process (computing)Presentation of a groupResultantComputer animation
15:31
Program flowchart
Transcript: English(auto-generated)
00:05
We're going to be presented by two amazing researchers, Iraklis and Christos. Good morning. Thank you for the introduction. Thank you for being here and attending our presentation.
00:24
I'm Iraklis Varlamis and here is Christos Kronis. We come from Harakopia University, but here we are also representing the Open Technology Alliance, the Greek Open Technology Alliance for Open Source Software. We will present today Fosbot, which is a project that started a couple of years ago
00:46
in terms of the Google Summer of Code as an open design and open source software robot. Gradually, it evolved to what you see here, which is a more concrete, let's say, robot,
01:00
a more concrete design that is specifically targeted to educators in all educational levels. So, together with me, I have Christos and I will give the floor to Christos Kronis, who is the lead developer of the team, Fosbot, and also the designer of this robot.
01:22
So, Christos, the floor is yours. Thank you. Hello, I'm Christos. I would like first to introduce the team behind the Fosbot. Let's start with my PhD supervisor, Professor Iraklis Varlamis, who is the coordinator of the project. Me, as the designer of the robot, including the hardware and the software.
01:43
Eleftheria and Vanay, who are front-end and back-end developers and past Google Summer of Code contributors of the project. Dimitris and Joris are back-end developers and assemblers of the physical robot. And finally, Manoushos, who is a back-end developer and also the developer of the Fosbot simulator.
02:06
So, this is the Fosbot. Also, we have a physical version of the robot in the table. Let's start with an overview of the hardware and design aspects of the Fosbot. On the front side of the robot, we have a multi-core RGB LED on the top left,
02:25
a photoresistor on the top right and ultrasonic sensor in the middle. The entire body of the robot is 3D printable in any FDM printer with bed size 220 by 220 mm.
02:42
The design is customizable and easy to assemble. At the bottom of the robot, there are three IR optical sensors, suitable for line following or edge detection application. The robot moves based on two DC motors and a 3D roller on the back side.
03:06
This motor has odometers to measure the movement of the robot. And there is also a 3-axis accelerometer and gyroscope sensor inside. At the back of the robot, there is a speaker and an off switch charging port.
03:26
The robot is powered by three lithium-ion rechargeable batteries. On the top of the robot, there are some unique features, a pulling component in the back side of the robot.
03:41
That component gives the opportunity to the user to attach a small object, let's say using a rope, in order to measure how the extra weight affects the movement of the robot. Also, we have a large detachable cover, it's the white circular piece on the top.
04:04
That component is Lego brick combatable and also has a hole in the front side. This hole drives to the bottom of the robot, allowing a marker to be attached for programmatic drawing.
04:22
Now, let's summarize the key points from the hardware design aspects. The robot is 3D readable and offers repairability and customization. It can be designed to be used with common electronics.
04:43
In the card version, the brain of the robot is based on the Raspberry Pi, but we already see some variation of the robot with Arduino or Microbit inside. It's open source and open design, of course, and it comes in a low cost, around 90 to 120 euros.
05:03
In the slide, you can see our lab on Jargobio University, and some pictures from, let's say, the assembly line of the physical robot. Also, we have some pictures from different assembly phases of the robot.
05:21
Now, we'll speak about the software. We have created a custom platform built in the robot with three modes, the guitar garden mode, the elementary school mode, and the high school or advanced mode. The guitar counter mode features a friendly UI with card blocks based on Google's Blockly. Additionally, it's expandable with the option to add new cards to execute Python on Blockly scripts.
05:45
For the elementary school, we have the custom user interface, once again based on more complicated Google's Blockly version, that uses custom code blocks for all the sensors of the robot. The experience is similar to Scratch, and that makes the robot to be easy,
06:08
that offers easy interaction with the robot. Finally, we have the high school or advanced mode, and this mode is based on Jupyter notebooks and native Python language.
06:20
This mode is under construction, but will be available soon. Now, let's take a look to the platform UI. This is the platform's home screen. That home screen allows the creation of multiple projects. Also, we have the ability to import, export, or share projects between users.
06:45
Also, using the little cog in the top right, we can modify the behaviors on some blocks, such as the default distance, let's say for one step movement. The icon with the three ABC cubes in the lower right,
07:00
offers access to the Kittergarten mode. Now we see the Kittergarten mode. The Kittergarten mode utilizes a simplified version of Blockly, using card-based blocks for basic actions. In the bottom right corner, we can see an example
07:23
of how this mode can be used in a classroom setting. In this example, we are trying to teach students the numbers through a gritted carpet with numbers on it. In the elementary school mode, we have, as already said, a fully custom version of Blockly.
07:41
On the left side, we have different categories of blocks, including mathematics, programming movement, and sensing. On the right, there are some control buttons and a terminal window for printing real-time measurements and messages. Now, for the advanced mode.
08:02
The advanced mode of the robot is based in Jupyter. The user can directly program the robot using native Python language combined with our custom robot library, and the code can be combined with text and images. Then, the whole page can be exported,
08:20
including the result of the program execution, as an experimental report in a class. Now, the first boot in action. This is a line-following program written using Blockly. It's a very common task for students when we teach them robotics.
08:44
We have some videos to present you. On the left, you see a video of the robot following a line and stopping when it detects an obstacle in front of it. On the right, we have a video of the robot running the same code, but this time following the line in the loop.
09:01
When a colleague puts her hand in front of the robot, it stops and waits until no obstacle is detected. Additionally, the physical robot will also have a simulated environment.
09:24
We have developed a library and a custom simulation environment for our robot using Coppelia Sim. This was a crucial step for us, because it eliminates the need for a physical robot, and that means that the experimentation with the robot comes in no cost.
09:43
Our software platform works seamlessly in both the physical and the simulated environment, allowing the project to run identically in either setting. On the left, you can see a video of a simple example of our platform combined with the simulator.
10:04
Here are more examples of our virtual environment. Those examples were created for different teaching scenarios. Also, we have a video in the top right that demonstrates a line-following project inside the simulator.
10:24
We are trying to constantly improve the robot, and we have received strong interest from our university students. We have already students creating educational material and developing new features such as the real-time graphs,
10:41
and soon we will hope to integrate the new features to the main platform. Now, let's dive deeper into the workings of our platform. Firstly, we have created a custom library to simplify the process of controlling the electronic parts of the robot,
11:02
and that library is based on my 2019 Google Summer of Code contribution. The platform was built using Flask, Socket.IO, Python, Blockly, and can be deployed to the robot via docking containers for easy distribution and maintenance.
11:21
The robot, after powering up, tries to connect to a non-Wi-Fi, and if that is not possible, then the robot creates its own wireless access point. The access to the platform can be gained through a user-preferred browser such as Chromium, and finally, all the necessary tools
11:43
are already pre-installed inside the robot. This will allow a hassle-free experience, as the user never needs to install anything to their computer. In this slide, we present a brief overview of how users can be accessed at multiple levels of the robot.
12:00
The top level is designed for less experienced users, and is where the platform resides inside multiple Docker containers. The access to this layer can be achieved through a web browser. The second and third levels are designed for advanced users, with knowledge of Python language and bus,
12:23
and can be accessed through SSH. Before concluding, I would like to present the future prospects for the robot and its potential use in higher education. In Harakobio University, we have already started to examine
12:42
the potential of using the Fosbund as a machine learning robotics platform, by combining the custom high-level library, the simulated environment, and the physical robot with advanced algorithms. With this combination, the Fosbund we believe has the potential to be used in various ways,
13:02
for example reinforcement learning. Additionally, if attached to the robot some advanced sensors, such as cameras or lighters, it can be used as a self-driving platform or a computer vision platform, whatever. So, don't bring us to the end of our presentation.
13:22
I hope you enjoyed. Before closing, I want to add a couple of things to this excellent presentation of Christos. First of all, I have to say that technology wouldn't be successful without content, first of all, and without people. So, with the help of Open Technologies Alliance,
13:42
we also managed to have a great group of educators, primary and secondary education, that currently are creating and developing educational activities and educational content for teachers in Greece.
14:01
They are currently running some seminars for Fosbund and they are currently educating them on programming and using Fosbund in their teaching activities, over 1,000 or almost 1,000 teachers around Greece.
14:23
So, the benefit is that we have the virtual simulation environment of Fosbund so they can start working on the simulation environment and then everything that they have created there they can directly apply it to Fosbund, they can print Fosbund, assemble it and use it in the actual process.
14:42
Another thing that I would like to add to the higher education part of this presentation, of this work, is that we are currently working with some colleagues in the university in order to develop a short-term curriculum, let's say a one-year curriculum with basic IT courses
15:01
such as data management courses IOT programming, basic Python programming, machine learning and AI, as Christo said, in order to develop content that in most of the activities will use Fosbund as its main demonstration platform. So this is another effort that we are trying to do,
15:20
we are working on at the moment and we hope that it will soon bring us some results. And I would like to thank you once again for your attendance.