I am a co-founder of Artilect FabLab and Toulouse FabLab Festival. Artilect was the first FabLab create in France in 2009. I like to give access to people who like create things.
I am also a researcher in a lab of aerospace in Toulouse.
My Ph.D. was about evolving robot in 3D simulation. My post-doc was about how to build physical robots from modular bricks. For these research, I use a genetic algorithm to evolve: morphology, controller.
Why I do the Fab Academy
I would like to take the time to develop open hardware tools to democratize digital fabrication, iot device and robotics for everyone. The fab academy is the opportunity to learn, to share, to create and to document projects.
The goal of this project is to create plug & play electronic modules and rigid structures to build any type of robots, iot devices or machines.
Inspirations
Inspiration from others projects :
What it will do?
Plug and play, auto detect topology: self detect the electronic modules and display the modules and the physical connections (topology) on an application.
To prototype quicky and easily electronic or IOT devices
To build cnc machines
To build modular robots
Who will use it?
It could be use by maker to make new thinks.
Children to learn robotics.
FabLab to make modular cnc machines.
Startup to prototype IOT devices
git@gitlab.fabcloud.org: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Solution
check if the key is inside your .ssh directory
Minimun of git's commands to know and to use at the beginning to upload files on gitlab:
Excute first a git status to know which files are new or modified or ..
$ git status
Add the new files to your git repository with the command add, neither they will be not uploaded:
$ git add namefile
Select what you want to upload with commit (-a for all the file) and comment your upload with -m:
$ git commit -a -m "your comment"
Upload the files on gitlab with the push command:
$ git push
Finish with a git status to know is every is fine and you upload everything:
$ git status
nothing to commit, working tree clea
Problem
Don't forget the option -a to commit all files.
If you add files with the command add do commit : you will only commit the added files and not the modified files.
Additionnal Git Command
To rename a file or a directory
$ git mv oldfile newfile
My plan and ideas for my fabacademy webpage
Make a website like a file explorer: each directory and file will be displayed like inside Explorer or Finder with an icon or a block of texts or images.
The order of the items will be described by three numbers x,y, and z inside the name file x_y_z_name.extention. X.Y is the numbers to describe the order outside blocks. Z inside a block.
A block can display a gallery of pictures, a text of documentation, a step of a project, a plan, an idea, a problem. etc
What I learned?
I use to program in C, C++ with Emacs on Linux. I am less familiar with web development but I am very interested to learn javascript to develop web application and website.
I know a little HTML, and CSS but I am not a specialist. I would like to try to code from scratch to understand how HTML and javascript interact.
For the code editor, I plan to use Atom as the main editor. For the command line editor, I would like to learn to use vi. vi is very useful on Linux but I never spend the time to use it.
Vi editor
Vi is a text editor in text mode that can be executed in a terminal. It is very useful when you operate on a server or you want to edit quickly a config file.
The difficulties and the advantages of Vi are that you could not use a mouse and you need to know keyboard command.
Here the minimum commands to know to use vi:
i to insert text (insert mode)
ESC to leave insert mode
:w to save
:q to quit
Atom editor
Atom is a very modern text editor. I used to program with emacs text editor that is very nice far highlight code and completion. Atom has the same characteristics but more user-friendly.
What I did for the website?
I did the website from scratch in HTML and javascript. There are two javascript main functions: One is to format the style of the icon and another one to format the page. I don't use CSS because my goal was to learn javascript.
And I wanted to keep the possibility changed dynamically the design of the website.
Responsive website?
The website is in part responsive. The icon keeps the same size but its reorganize when the width of the page is smaller. Still some problem with the text block.
Some pictures need to be inserted here...
To inspire me I used the following website: http://jsbin.com/utupuw/5/edit?html
How to reduce or convert the size or the format of many images on MacOS X?
To convert pictures, screenshots or photos, I find sips. A command line tool very usefull. Here the command to convert all the png images from a directory with a width of 1024:
$ sips *.png --resampleWidth 1024
How to include html, images and files?
The next step will be to generate locally the tree structure of the website to know where the files are. This is not possible in HTML because you need to execute code on the server to do it. One way could be to generate from the yml file (To test).
The following command displays all the files and directories from the current directory that begin with a number and all the files inside these directories excluded the hidden files:
To Computer-Aided Design I propose to test OpenScad, FreeCad, Fusion and Solidwork as a 2D and 3D tools.
2D
The goal is to sketch a part of our hexagonal module for the final project. Each module could be a fixe on a 3D structure. For this, we need small bumpers on the slide of the face.
FreeCAD
3D
Openscad
Modular design on OpenScad with inculed files (arduin, wheel, sensor, motor).
This week the goal is to use a laser cutter and a vynil cutter.
Realisation of a 2D construction kit with a laser cutter
My idea was to find a way to build any types of solids: cubes, pyramids with the same construction kit laser cut. For this problem, I start to find a solution for a simple cube. To assemble each face of my cube, I propose to use some connectors. The connectors are designed with OpenScad with a parametric code. The laser cutter used for this kit is a Chinese laser cutter machine from Columbia's University Makerspace. (Thanks, Mo to allow me to use this machine). Usually, I use a Trotec or an Epilog laser machine. So this is nice exercise to use different machines for the same job.
Parametric design on OpenScad
The connector model is parametric. You can add connectors with parametric angels, chamfer. The thickness of the material could be changed also with various other parameters.
segmentSize=50; //mm
tickness = 3; //mm material
resolution=50; //number of segment $fn
connectorLength=10;
deepBump=0.5;
widthBump=0.2;
chamfer=1;
chamferOffset=0;
chamferConnector=1;
chamferConnectorOffset=0.5;
offSetLaser=-0.05;
My parameters on Trotec speedy 500 120Watts
power: 100%
speed: 1%
frequency : 10000
My parameters on Epilog 40Watts
power: 100%
speed: 12%
frequency : 5000
Adjustment of the parameters
After a first assemblage, we can see that the connectors are moving and do not fit. In fact, after control, the thickness of the acrylic is not 3mm but 2.85mm. After an adjustment of the thickness, the result is much better.
Final Results
For the final cut, I chose a transparent acrylic. The width was first not correct. I adjust two time before to get the good value.
Improvements
The last change was not the good one. The laser offset was too much increase and too large to be assembled nicely. A lot of connectors were broken before to get a correct assemblage.
This could be improved. The code could be improved too. The last version of the source code: OrcasConstructionKit_7.scad.
The goal is to realize a sticker with the logo of Artilect FabLab Toulouse. The logo from a jpg image. The first step was to convert the raster logo into a vectorial representation. The conversion is getting with a tool that converts the logo in black & white by contrast.
The second step is to setup the vynil cutter and cut the vynil. I apply two times the process to be sure the vinyl is cut correctly. Slowly I removed the negative par. Be careful, some small letters can move. Remove the small part with a small knife. Clean the surface where the sticker will be applied and use the transfer paper to do it. To get the expected results I repeat all the process three times but with the experience, you find the good way to do it.