Skip to content

Instantly share code, notes, and snippets.

@Eleftheria-99
Last active September 10, 2022 23:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Eleftheria-99/e9cf5ce26405796adc740fc55a40b6e8 to your computer and use it in GitHub Desktop.
Save Eleftheria-99/e9cf5ce26405796adc740fc55a40b6e8 to your computer and use it in GitHub Desktop.
GSoC 2022 - Development of a DIY robot kit for educators

DIY Robot kit for educators GSOC 2022

This is the final report of the work which was done as part of the DIY robot kit for educators GSoC 2022 Project

Abstract

The goal of the project was to extend the low-cost DIY robot kit for educators as well as to create easy integration and control of the DIY robot for users with very little or no programming experience and also suitable for younger ages. So, the kids and adolescents can use our application for learning visual programming by using the custom blocks to build programs and then the robot can execute them in real time. All of the parts of the modular DIY robot kit are 3D-printable, and together with basic low-cost electronics and sensors are used to assemble the robot, for a successful operation. Extensive and simple guidelines of how to print and assemble the robot are to be provided, so that non-expert staff in robotics, electronics or IoT programming, will be able to follow them successfully. In addition, the Blockly graphical UI will be extended with configurable blocks that will allow the easy though fine-grained operation of the robot. This project will be developed in collaboration with Open Technologies Alliance (GFOSS), as it was based on the previous GSoC projects of the applicants of 2019 and 2021. It will refine the robot assembly guidelines, manual for the installation of the software stack (which will be automated as much as possible in order to support the continuous integration of software updates), and will extend the stack both in terms of the front-end of Google Blockly and the back end code in order to facilitate the robot operation and programming.

front_pen

Complete instructions for FossBot - DIY Robot Kit

Deliverables

  • Update of the Core library (Backend code) for controlling the robot with respect to new sensors
  • Updates of the flask server for remote control of the robot using Sockets
  • Front-end implementation, integrating Blockly and control and parameterization panel
  • Code and Blocks’ documentation

Future work

  • More electronic sensors support
  • More Blockly blocks
  • Multilingual support
  • Companion app for Android/IOS

Student

  • Eleftheria Papageorgiou

GSoC Mentors

  • Iraklis Varlamis
  • Christos Chronis

Organization

  • Open Technologies Alliance - GFOSS

More info you can find in the following links

Work and Repository

All of the work can be found at this repository: https://github.com/eellak/fossbot.git

FossBot User Interface

The FossBot User Interface consists of 4 pages, the main one, the manual operation, the control panel and the Blockly page.

Operation Modes

There are different ways to use FOSSBot. Using the FOSSBot user interface allows the user to choose one of the possible modes of use:

  • the user interface of the robot without the use of code that is suitable for preschool children and shows the main capabilities of the robot, for example moving the robot forward or backward. This one can be achieved using the manual operation page.
  • the block-based graphical programming interface aimed at primary school students, using the Blockly UI.

1. Main page

The main page is the page that loads when the user opens the link e.g. http://fossbot-003.local:5000/ From this page the user can open the other pages, using the correct buttons. In this page the user can see all the projects created and saved in the robot. He can create a new project, run or edit an existing project, stop a running project.

main_page

2. Μanual operation page

This page shows 4 buttons, each one of them for the basic operations of the robot: move forward, backward, right and left. It can be used instead of a remote control for small children to be able to navigate the robot into a room.

manual operation page

3. Control panel page

This page shows all the variables that their value can be changed by the user.

διαχειριστικο περιβαλλον

4. Blockly UI page

This page can be used to create code that can be saved as well as executed by the robot. On the left side, there are different categories, in which the Blockly blocks are divided. More info regarding the Blockly Blocks can be found here.

blockly

Expert users

Ssh access

The ssh interface is pre-activated. The username is "pi" and the password is "raspberry". Command line command : ssh pi@fossbot-003.local

Samba access

You can access the full filesystem, using the samba access system. You can access to full filesystem

Visual studio

You can access the full filesystem, using the visual studio extension known as "Remote Explorer" and then choosing the "Ssh Target". The username is "pi" and the password is "raspberry".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment