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.
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:
3. Make the changes to the files you want, following commands to stage,
commit and push the changes
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)
2. Click on "Open the Link"
3. Click on "Open"
4. Click on "Add to Workspace"
5. Make the required changes, for exemple: add, modify, delete Files
within the cloned repository
6. Visualize the modifications to ensure they are conform to the
specified requirements.
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
8. Commit the changes
9. Synchronize:
10. The changes are visible:
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.
Final Project
XplorerBot - Unmanned Ground Vehicle (UGV)
Key Features:
-
Robust and Agile Chassis:
- Aluminum alloy chassis for stability and protection.
- Compact design for maneuvering diverse terrains.
-
High-Performance Motor System:
- Powerful DC motors and heavy-duty motor drivers.
-
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.
-
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.
-
Flexible Expansion Capabilities:
-
GPIO pins and I2C ports for seamless integration of additional
sensors, actuators, or modules.
-
Customization and system integration for specific requirements.
-
Extensive Software Support:
-
User-friendly development platform with SDK and libraries.
-
Programming and control, autonomous behavior development, and
third-party software integration.
-
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.
-
Efficient Power Management:
- Rechargeable power bank support for prolonged operation.
Key Sensors:
-
Ultrasonic Sensor and TOF Sensor:
-
Accurate distance measurement for obstacle detection and
collision avoidance.
-
GPS Module:
-
Precise geographical location determination for mapping,
navigation, and localization during outdoor operations.
-
Camera Module:
-
Visual information capture for object recognition, tracking, and
image processing.
-
LIDAR Sensor (optional):
-
Laser-based sensor for advanced perception, obstacle detection,
and autonomous mapping.
-
IMU (Inertial Measurement Unit):
-
Combines accelerometers and magnetometers for vital data on
linear acceleration, angular velocity, and magnetic field
orientation.
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.