Skip to content

Instantly share code, notes, and snippets.

@Niroth36
Last active January 27, 2024 22:21
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 Niroth36/46664dee286e5ea223290f2b143bfcd5 to your computer and use it in GitHub Desktop.
Save Niroth36/46664dee286e5ea223290f2b143bfcd5 to your computer and use it in GitHub Desktop.
GSoC 2023 - Development of a Robotic Education Platform for the DIY robot kit for educators

Development of a Robotic Education Platform for the DIY robot kit for educators GSoC 2023

This is the final report of all the work that was done for the GSoC 2023 Project

Abstract

The goal of this year's GSoC project was to apply more functionality to Fossbot(the DIY educational robot) and improve the existing code. This project is continuously developing in collaboration with Open Technologies Alliance (GFOSS) and has already been accepted to GSoC in 2019, 2021 and 2022. My first challenge was to study and understand the code written in the previous years. This was an essential step to implement the extended functionality and to improve the code. Next I started implementing Monaco which is a web based text editor, the very same that vs code uses. The capability to use monaco will be a great asset for the fossbot platform because until now there was only the choice of blockly available. Blockly helps the kids and adolescents to learning visual programming by using custom blocks to build programs. So with the use of monaco, the students have the ability to write code in python scripts (maybe later in other programming languages) and see their code executing on the physical robot or the Coppelia Simulator. Thus, it's a great opportunity for the students to have an early experience with the use of python. Another important functionality that was created in the period of GSoC 2023 project was the classroom mode. In the classroom mode the students can enter using their name and create projects. When they execute their project, this will be stored in a list which can only be visible by the teacher who can observe all the queued projects and orchestrate them.

front_pen

Deliverables

  • Implementation of monaco online IDE
  • Implementation of Classroom mode for teachers and students
  • Implementation of user login system

Future work

  • Connect Fossbot platform with the web based robotic simulator created in another GSoC 2023 project
  • Convert the front-end with the use of React.js

Student

GSoC Mentor

Organization

  • Open Technologies Alliance - GFOSS

Repositories

My work

FossBot User Interface

Two new operations where added to the existing FossBot Interface. The Monaco page where users can write and execute code using python and the Classroom mode page where the students can create projects and ask for permission to execute them and teachers can see those projects and orchestrate their execution.

Monaco Page

In the left column we can see all the operations of the robot that are available for use, which you can copy and past in the text editor. In the text editor you can write the code to be executed. Also there are buttons to save the project, execute the code and stop the execution.

monaco

Classroom Mode

In the classroom mode the teacher can see all the projects made by the students inside the classroom mode in the left column. Also from the write column the teacher can orchestrate the execution of the projects and see a student list with all the names of the students that have requested their project to be executed. On the other hand when a student enters the classroom mode, she/he can only see the projects that are created be her/him.

classroom

Home page

In the home page the following but has been added to enter the classroom mode.

classbutton

@ImtiazNayeemShawon
Copy link

I would like to contribute in frontend

@Niroth36
Copy link
Author

Hey thanks for your interest but we have started building a new platform.

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