Include a hardware component and a mechanical part.
Preferably, it involves something moving controlled by electronics in response to specific events.
Utilize a maximum number of Fab Lab tools and machines during production.
Project files must be open-source and accessible to the community.
Considering the Fab Lab criteria for the final project, four ideas were presented to the instructors for evaluation.
Final Project Ideas
Online Chess to Offline Chess Converting Serial Robot
This project is designed to bridge the gap between digital and physical chess. The robot is programmed to replicate on a physical chessboard the moves made in an online game. This allows players to enjoy the tactile experience of traditional chess while benefiting from the convenience and wide player base of online platforms. Whether used for practice, exhibition, or just for fun, this project brings a new dimension to the timeless game of chess.
In addition, the chessboard also captures the moves made by the offline player and feeds them back into the online game. This two-way interaction ensures seamless integration between the online and offline platforms, providing a truly immersive experience.
Soft Robotic Fish
Soft Robotic Fish aims to create an underwater robotic fish capable of mimicking the movements and behaviour of real fish. This soft robot, made from flexible materials, is designed to move through the water with the same grace and efficiency as its biological counterparts.
The initial version of the "Soft Robotic Fish" project was much more modest in scope. It was designed to operate within the confines of an aquarium, navigating through the water and interacting with other fish in a limited space. Despite its limited range, this early version was crucial in demonstrating the feasibility of creating a soft robot that could effectively mimic the movements of a real fish. It laid the groundwork for the more ambitious versions of the project that followed.
The project aims to provide a new tool for underwater exploration that can blend in with marine life, causing minimal disturbance to the environment.
Robotic Assistant for Disabled Chess Players
This project aimed to make the game of chess more accessible to people with physical disabilities. This robotic assistant is equipped with voice control functions, allowing players to dictate their moves without having to physically move the pieces.
The assistant is designed to understand a wide range of voice commands, can recognize standard chess move notation, and is capable of accurately moving the pieces to the correct positions on the board. This allows players with disabilities to compete on an equal footing, removing physical limitations from the game.
Interactive System of Robotic Head
The Interactive System of Robotic Head is a project that aims to develop a robotic head that not only detects movement in its range but also responds with appropriate facial expressions. The system is designed to track moving objects in its field of vision and translate these movements into a range of facial expressions, effectively mimicking human responses to stimuli. This feature enhances the interactive capabilities of the robot, making it much more engaging and effective in situations that require human-like interaction.
Professor Neil's first session
My first day at Fab Academy was awesome. I have chosen the Kochi node to pursue my fab academy. Once I reached the Fab Lab on January 24, 2024, the session about the Fab Academy and Fab Lab tour provided by the local instructors started sharp at 2:00 pm IST. It helps to get an overview of the Fab Lab machinery and facilities. The first online session by Professor Neil Gershenfeld about the topic " Project Management, Principles & Practices" started exactly at 7:30 pm and ended at 11:00 pm IST in Zoom. It was amazing to attend Neil's online session along with my peers, and I had a lot of fun.
Version Control
Version control, also known as versioning or source control, is the practice of managing changes to source code. Itβs about keeping a detailed account of every modification made to the code, ensuring that these changes are both trackable and reversible.
Version control plays an integral role in both software development and project management. The tracking and versioning of source code changes in the repository form the heart of this process.
Types of Version Control
Version control systems come in three main forms, each with its own set of advantages and drawbacks:
Local version control: In local version control, changes are stored locally in the files as a hotfix or patch before being pushed to a single version of code in a database.
Central Version Control:Central version control hosts different versions of the code in a centralized repository. Users can access these versions, and push or pull changes as needed.
Distributed Version Control: Distributed version control is the most sophisticated of the three. Here, each local repository fully mirrors the central repository, including its history.
Version Control System and GitLab
There are different versions of control systems available. For instance, there are GitHub, GitLab, and Beanstalk, out of which GitLab is preferred because GitLab is highly customizable and can be tailored to fit your specific needs, while GitHub has more limited customization options.
Getting started with GIT
Git is the free and open-source distributed version control system that's responsible for everything GitLab-related that happens locally on your computer.
Learn Git Branching
Learn Git Branching is an interactive web-based tutorial that allows users to learn Git commands and concepts. It is designed to help beginners understand the basics of Git and how it works. The tutorial provides users with a virtual environment where they can practice Git commands without having to install anything on their computers.
This creates a new SSH key, using the provided email as a label.
The encryption key is kept in a hidden folder in the user directory with the extension.pub after the SSH-RSA has been made. To display the public keys, open Git Bash and type
π
cat ~/.ssh/id_rsa.pub
To add this SSH key to GitLab πOpen GitLab π user settings π SSH keys π Add new keys π paste the public key π click on add key
Cloning the Git-Repository
Once done with the SSH keys setup we need to clone the repository provided by the Fab Foundation form GitLab to our system.
πOpen GitLab
πFrom the homepage select the repository
πClick on the code menu
πCopy the βclone with SHHβ URL
π Create a new folder to clone our Git repository
π Open the created folder
π Right-click and select βOpen Git Bash hereβ
π To clone the Git repository, type the below command:
π
git clone [ url ]
Once we are done with cloning the Git repository, it will appear in the folder
Web Design
My next task is to build a personal website which includes a brief description of myself, documentation of individual weeks and a description and sketch of my final project idea.
Getting started with web design
Learning the basic
HTML, CSS, and JavaScript are the three main languages used by web developers to build websites.
HTML is the backbone of any web page. It provides the structure and semantic meaning to the content on a website.
CSS is the language used to style the elements on a web page.
JavaScript is a powerful programming language that adds interactivity and dynamic functionality to web pages.
Select a code editor
There are various online and offline-based code editors available to download. For instance, Atom, Visual Studio Code, and brackets. However, I have chosen VS Code as my code editor because I am already familiar with using this code editor.
My first task is to build a landing page that includes information about myself and a sketch of my final project.
VS Code is a user-friendly editor that includes numerous extensions that enable a wide range of applications. Three extensions can be really useful while creating web pages, they are:
HTML Preview
HTML preview is an extension to preview HTML files while editing them in VS Code.
Live Server
One of my instructors recommended Live Server to me, which is similar to HTML Preview. It allows me to right-click an HTML document, run a server, and open a browser window with the file.
Save Typing
Save typing is an extension that is used to auto-save while typing.
Code Spell Checker
Code spell checker extension, which helps me to clear the spelling of words during documentation.
Once the VS Code and extensions are installed
π Open the folder that contains the git repository
π Edit the existing files and add new files to build a website
π Add the changed files to the git
πCommit the changes to git
π Push it to the GitLab repository branch
I have created my landing page in VS Code using HTML, CSS , Java Script, and Bootstrap. Finally I made my first webpage.
Bootstrap
Bootstrap is a free and open-source CSS framework that is widely used for responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other essential interface components. Bootstrap's responsive features make it easy for developers to create websites that automatically adjust to different screen sizes and viewports. It's a popular choice for developers because of its consistency, versatility, and user-friendliness.
W3school
W3Schools is a popular web development educational website. It offers free tutorials in all web development technologies, such as HTML, CSS, JavaScript, Python, Java, SQL, and many more. It is widely known for its simplicity and easy-to-understand approach, making it a great resource for both beginners and experienced developers. In addition to providing tutorials, it also offers references, examples, exercises, and quizzes to enhance learning and testing knowledge.
πI have used W3school tutorials to learn about the basics of HTML, CSS, and JavaScript.
It is an artificial intelligence (AI) chatbot technology that can process our natural human language and generate a response. Simply put β you can ask Chat GPT a question, and it will give you an answer.
I have found chatGPT to be a very useful tool for resolving my queries and clarifying my doubts. The platform has been able to provide me with accurate and reliable information in a timely manner, making it a go-to resource for me whenever I need assistance.
Notion
Notion is a powerful productivity tool that allows you to organize your work and life all in one place. It is an all-in-one workspace where you can write, plan, collaborate, and get organized - it essentially combines note-taking, task management, databases, and much more. With Notion, you can create your own system of pages, or use pre-made templates to get started. It is versatile and customizable, allowing you to structure your workspace exactly as you want. Whether you're an individual or part of a team, Notion's broad functionality can help streamline your workflow and increase productivity.