Project management

This week I worked on defining my final project idea and started to getting used to the documentation process.

Research

Git is a version control system for software development that allows teams to manage and keep track of changes to their code. It enables multiple users to work on the same codebase simultaneously and provides features such as branching and merging to manage different versions of code.

GitLab is a web-based Git repository manager that provides source code management (SCM), continuous integration and delivery (CI/CD), and project management features. It is built on top of Git and extends its functionality to provide a web interface, a bug tracking system, and other features for collaborative software development. With GitLab, teams can manage their code repositories, plan and track projects, automate testing and deployment, and collaborate on code development in a single place.

2. GitLab Workflow

Clone a repository, make changes, commit and push, using CMD

To clone a repository from GitLab and make changes, these steps should be followed:

1. Open a terminal or command prompt window and navigate to the directory where you want to clone the repository.

imageA3

2. Run the following command to clone the repository: "git clone https://fabacademy.org/2023/labs/bottrop/students/yassine-louchi" and change to the newly created directory:

imageA5

3. Make the changes to the files you want, following commands to stage, commit and push the changes

imageA8

Clone a repository, make changes, commit and push using VSCode

To clone a repository from GitLab and make changes, these steps should be followed:

1. Click on the "Visual Studio Code (HTTPS)

imageA15

2. Click on "Open the Link"

imageA16

3. Click on "Open"

imageA17

4. Click on "Add to Workspace"

imageA18

5. Make the required changes, for exemple: add, modify, delete Files within the cloned repository

imageA19

6. Visualize the modifications to ensure they are conform to the specified requirements.

imageA20

7. Write the commit message: A brief description of the purpose or nature of the change, this will help to track the changes along the development of the project

imageA21

8. Commit the changes

imageA22

9. Synchronize:

imageA23

10. The changes are visible:

imageA24

Creating My Website with HTML and CSS

In the website development project, a structured approach was taken. A main folder housed subfolders for HTML, CSS, and resources. Distinct HTML files for various pages were created using Visual Studio Code, incorporating essential tags for structure.

Content was added using semantic HTML tags for clarity. CSS styling was managed through a dedicated styles.css file linked in the HTML <head> section, enabling customization of layout, colors, and fonts.

Version control was maintained using Git, with regular commits documenting changes for a traceable development history. For live previews and testing, a local server in Visual Studio Code was utilized.

imageA25

Final Project

XplorerBot - Unmanned Ground Vehicle (UGV)

Key Features:

  1. Robust and Agile Chassis:
    • Aluminum alloy chassis for stability and protection.
    • Compact design for maneuvering diverse terrains.
  2. High-Performance Motor System:
    • Powerful DC motors and heavy-duty motor drivers.
  3. Precise Control System:
    • Advanced control system with an integrated MCU and motor driver board.
    • Encoder for DC motor ensures precise control, accurate navigation, and positioning.
  4. Comprehensive Sensor Suite:
    • Ultrasonic and TOF sensors for distance measurement.
    • Infrared sensor for object detection, gyroscope for orientation sensing, line following sensor, and RGB-Camera.
  5. Flexible Expansion Capabilities:
    • GPIO pins and I2C ports for seamless integration of additional sensors, actuators, or modules.
    • Customization and system integration for specific requirements.
  6. Extensive Software Support:
    • User-friendly development platform with SDK and libraries.
    • Programming and control, autonomous behavior development, and third-party software integration.
  7. Remote Control and Communication:
    • Wi-Fi and Bluetooth support for remote control via PS4 controller.
    • Real-time monitoring, data collection, and operation from a distance.
  8. Efficient Power Management:
    • Rechargeable power bank support for prolonged operation.

Key Sensors:

Respresentation of the final Project

This initial version I drew in Fusion360 provides a simple overview of the robot. It's like a rough sketch that helps me determine the sizes for the case, electronics, DC motor, and other mechanical parts. This starting point gives me a general layout, making it easier to plan out the details as I move forward.

imageA26