Week One

Principles and practices, Project management.


Installing Linux

ubuntu

I understand Linux is a requirement in this course so, I installed Linux on my laptop as a dual boot alongside windows 8.1. To do that the first step is to create a partition by using the windows disk manager. Choose a drive which has adequate free space and use the option to shrink the volume. Allocate enough space for the Linux installation (22GB) and click shrink volume. Now you have created 22GBs free space on which you can install Linux.

Create a bootable flash drive by downloading the ubuntu 16 iso file from the website and mounting it on a flash drive. Restart the computer and boot from the flash drive. Follow the install procedure and install ubuntu on the partitioned space. Set your time and system password. Ubuntu is now installed, every time you boot, an option will be presented to you to select which OS to boot into.

Installing and Configuring Git

Git is a distributed revision control system used to manage work flows between multiple people working on the same file. Every Git directory on every computer is a full-fledged repository with complete history and full version tracking abilities, independent of network access or a central server

Git enables us to work on the same repository from different machines. Git tracks all the changes in the file and helps sync them with all the users.

Installing and configuring Git

  1. Create an account in Git lab.
    1. Go to http://git.fabacademy.org
    2. click sign in with fablabs and click signup.
    3. Enter your details for and create an account.
  2. Install Git on your laptop
    1. Open the terminal (Ctrl+Alt+T) and type
    2. sudo apt-get install git
  3. Generate SSH keys
    1. Open terminal (Ctrl+Alt+T) and type
    2. ssh-keygen -t rsa -b 4096 -C "your mail id"
    3. Enter a file in which to save the key (/Users/you /.ssh/id_rsa): [Press enter]
    4. Press enter to chose the default location.
    5. Set up a passphrase. This is similar to a password for your Git.
    6. A window will open showing you the SSH keys.
    7. Id_rsa is your private key and id_rsa is your public key.
  4. The next step is to Add an SSH agent
    1. Open terminal (Ctrl+Alt+T) and type
    2. eval "$(ssh-agent you -s)"
    3. ssh-add ~/.ssh/id_rsa # Add key to the agent
  5. Add a global username and global email id.
    1. Open terminal (Ctrl+Alt+T) and type
    2. git config --global user.name "your username"
    3. git config --global user.email your mail id
  6. The next step is to Add your public key to gitlab account
    1. Open terminal (Ctrl+Alt+T) and type
    2. sudo gedit ~/.ssh/id_rsa.pub
    3. Copy the entire thing and close the gedit window.
  7. Open the gitlab account (git.fabacademy.org)
    1. Click on Profile Settings → SSH Keys
    2. Paste the content under “Key”
    3. Give a title to identify which PC has the above Key
    4. Click on Add key and Done.
  8. Clone the repository
    1. Open terminal and change the directory to a location of your preference
    2. Type git clone git@git.fabacademy.org:fabacademy2017/fablabtrivandrum.git
    3. Done.

Git SSH

Syncing files between your local repository and fabacademy server

Git uses two commands to sync files between your local repo and the server these are the 'Pull' and ' push' commands.

  1. Open terminal by clicking (Ctrl+Alt+T)
  2. Go to your local directory in the terminal using the 'cd' command.
  3. Type git status #to see all the files that needed to be added to the server.
  4. Type git add --all #to add the files to the index.
  5. Type git commit -m "Initial comment" #commit these files to the next push.
  6. Type git pull #to get an updated copy of the repository.
  7. Type git push #push the indexed files into the server.

Git clone

Web Design

I'm new to HTML design hence I watched many HTML tutorials online to learn the fundamentals. I followed video tutorials to set up my first web-page, written in basic HTML.

HTML structure


	<!DOCTYPE html>

	<html lang=en>

	<head>

		<meta attributes />

	<title>

		HTML Document Structure

	</title>

	</head>

	<body>

		<h1>

			HTML Document

		</h1>

		<p>

			This is a simple HTML Document

		</P>

	</body>

	</html>
	

Then I got to know more about CSS (Cascading Style Sheet) and tried it write it on my own. It was time consuming.

Then I got to know about bootstrap from my colleagues and decided to pursue it. I searched online to find a simple theme which I could understand. I found a clean theme and started customizing it for my need. I modified the contents of each page and only kept what I need. I created master pages, which will act as the reference page and each week, I would update the contents of the page.

This is time consuming in the beginning as you have to edit the style sheet and HTML of the pages of the template you are going to use, but once it is set, I believe the procedure will be greatly simplified.

Idea for Final Project

A Followme Tool box.

final project

In the Fablab some of the operations are done using heavy duty machines (Shopbot). They are quite large and require some amount of manual labour in setting up for the operation. During the setting up of the machine, some hand tools are required to be used by the operator. For example-in setting up Shopbot-the operator has to fix the plywood sheet to the bed. During this process, he has to use some hand tools like Drills to make the hole and screw it in place. This will require some round trips to the tool box to get all the items like screws, drills, and clamps etc.

My Project Idea is to make the tool box come to the operator. I'm planning on building a Guided Mobile Tool Box. My origin idea was to make something that could follow the operator throughout the lab but, I have since simplified the project-as consideration for lack of time- to follow a predefined path around a specific machine (shopbot).

I was inspired the movie WALL-E, where the robots move in predefined paths and did specific functions. My plan is to make a robot that can carry the tool box and other utilities and follow the user on a fixed path around the machine. Thereby the tool box will be near the operator at all time and we can greatly reduce the complexity of the system.

I plan to use a combination of Ultrasonic sensors and Infrared sensors to sense the position of the operator and a simple line follower program to follow the predefined path. The operator will carry with him an ultrasonic beacon, and the robot will sense the relative position of the beacon and determine which direction to move and move close to it, stopping nearby the user. It would be a Guided Mobile Tool Box (GMTB). The path will be a thick line on the shop floor and the path can be customized to the individual size and contours of the machine.

<Prev       Next>