1. Project Managment¶
Final Project Setup¶
This week I worked on defining my final project idea and started to getting used to the documentation process. My final project is based off my dog on the front page. She is very fast. So fast that I cant keep up with her, but I wanted to see if I could build something to compete with her. The idea for the project is a robot similar to the boston dynamics dog that uses servos to move its limbs.
This is a rough draft of what I think it will look like
This is just an AI generated design to give a better perscpetive becuase I not a good artist
For this project I think ill need:
- 4 servos
- A micro controller with lots of pin outs to move each servo seperatly (maybe an ESP32)
- A way to control the servos remotly
- A case to hold the servos (3D printed or cut out on laser cutter)
- Legs to be attatched to the servos
To build it: 1. Figure out how to control one servo with a microcontroller 2. Figure out how to control all 4 3. How to control 2 at a time 4. Control 1 servo through the micro controller with a remote 5. Control all 4 servos with a remote 6. Figure out how to make two of the legs move at the same time through the remote 7. Design the legs 8. Design a board for easier wire managment 9. Make a case to hold the board, microcontroller and servos 10. Document
Overview¶
This week I worked on defining my final project idea and started to getting used to the documentation process. This included setting up my Gitlab account, downloading MKDocs, and setting up Markdown.
Version Control¶
Verison control is a system that allows somone to manage and track changes to files and code. Thier are many types of version code including: - Local version control (Keeps versions of files of a single computer
- Centralized Version Control (Uses a central server)
- Distributed Version Control (Every user has a full copy of the repository)
Gitlab is a (DVC) platform and it can show the timeline of the code through commits. You can collaborate on a file with others through branches and can prevent mixed timelines through push and pull commands which adds the files added to the branch to the main one. This is why its used by Fab Academy. It has the normal parts of any version control with timelines and branches but differs in that multiple people can work on the same project at the same time which is nessicary due to the group work asspect of Fab Academy. I choose Vscode and MKDocs becuase it made the overly complicated code of HTML used normaly with git into simple text writing for the most part besides adding photos and videos.
Step 1: Setting up the Git¶
First I open the GitLab Workflow that was a combination of steps to setup the website created by Latin Fab Graduates. First I open the email from the fab offical account that allowed me to create a gitlab account that would be linked to the larger Fab git group.
Step 2: Installing softwares for coding¶
Github Desktop : On the slides I was following I saw the advantages of using Github Desktop compared to using a web broswer to modify the site. I believed this to be a good idea so I downloaded it beleving it would be helpful. While it would be helpful for someone using Github, Im using Gitlab which wouldnt link well to the desktop service. I accidently made a second account not associated with the Fab Accadmey page. I tried linking the two together through the github linking button on my Fab account but was unable to access anything on my fab account the desktop. I eventually relaized that I didnt need to instal it and deleted it from my mac.
This is the where I tried to link the two accounts together
VSCode: I origanlly instaled it when I tried to use the Github desktop, this was becuase I was blindly following the slides without looking at all the resources. I kept it unlike Github desktop since when I found the doc afore mentioned it listed it on the steps on the doc afore mentioned.
Part 3: SSH Key¶
The SSH key allows the modifications of the gitlab on MKDocs. To get access to my SSH key I used the macs terminal and first tried running the commands given in the doc. The issue was that I was unable to find where my SSH key was after running all the commands. I then asked ChatGPT where I would find my SSH key on Mac. It gave me a list of commands that I ran through my mac terminal listed here.
Heres part of the solution that ChatGPT gave me about finding my SSH key
Part 4: MKDocs¶
To instal MKDocs I first had to install Python. That in itself was easy, I just installed it directly from the website. The problem was in a part I was suppose to do while installing it. In the doc it says to selcet “add PATH to python” the issue is that when installed on mac that opiton doesnt exist. Once again I went to ChatGPT after how helpful it had been with my SSH key issue. I asked where I could add PATH to python and it told me to run these commands after that I needed to install pip onto python so I could install MKDocs.
Heres how easy downloading Python was
Pip didnt work well on mac so I instead used pip3 and installed it with the help of ChatGPT in the same conversation linked above. From thier I was able to follow the instructions on the doc to instal MKDocs.
Part 5: HTML to MKDocs¶
Changing from HTML which was the template I was on origanaly was the trickiest part of the website. I first tried to switch it over by deleting all of the parts that were linked with HTML and then cloning my repository so that I could add the MK template linked on the slides on slide 6. This failed becuase the gitlab-ci file I had also needed to be removed since it was also for the html template. I dont know why I kept it, I tired commiting it multiple times with it even though in the template for the MK verison thier is a gitlab-ci file that was clearly diffrent from the other one.
Part 6: Images¶
For screenshots on mac I use the command CMD + Shift + 3. I then put all of them in a folder outside of my Gitlab one so I can convert them into JPG files. For photos taken on my phone I upload them to my drive and then download them to my folder for later conversion to JPG. Once thier finished I send the converted images under images and then to the week their associated with.
Issues Encountered¶
Throughout the setting up of my gitlab for documentation I encounted a few problems. When origanlly setting up my gitlab I accidently selected the html template instead of the markdown one which made it difficult to link my gitlab to my markdown software well. To solve this I replaced all my files in my gitlab with the ones in the markdown template. This didnt effect my documentation much since I still was unsure of what I was entierlly doing.