From 31a0d5e30f2b12c1d7f3ed2b58e285faa14d3337 Mon Sep 17 00:00:00 2001 From: Andrei-Claudiu Mihai Date: Wed, 29 Apr 2026 14:43:26 +0300 Subject: [PATCH 1/2] Initial version of the documentation --- .../project/2026/andrei.mihai2407/index.md | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 website/versioned_docs/version-acs_cc/project/2026/andrei.mihai2407/index.md diff --git a/website/versioned_docs/version-acs_cc/project/2026/andrei.mihai2407/index.md b/website/versioned_docs/version-acs_cc/project/2026/andrei.mihai2407/index.md new file mode 100644 index 00000000000..5921b6f6c9a --- /dev/null +++ b/website/versioned_docs/version-acs_cc/project/2026/andrei.mihai2407/index.md @@ -0,0 +1,24 @@ +--- +sidebar_label: 'Joystick-Controlled Mini Excavator' +sidebar_position: 1 +--- + +# Joystick-Controlled Mini Excavator + +## Description +The project aims to build a mechanical excavator arm controlled via a joystick interface. The system processes analog signals from a 2-axis joystick and digital inputs from command buttons to determine the arm's direction and movement type. A core feature of the control logic is the implementation of **software end-stops** to prevent mechanical strain on the joints. + +The system drives four servomotors to coordinate: +* **Base Rotation** (swing) +* **Main Boom Lift** +* **Stick Movement** (dipper) +* **Bucket Operation** (open/close) + +The result is a fluid, responsive robotic arm capable of manipulating light objects, accurately replicating the user's input from the joystick. + +## Technical Summary (Peripherals) +To implement this in Rust, the following hardware peripherals and concepts will be used: +* **ADC (Analog-to-Digital Converter):** To read the voltage values from the joystick's X and Y axes. +* **PWM (Pulse Width Modulation):** To control the precise position of the 4 servomotors. +* **GPIO (General Purpose Input/Output):** For the joystick button and additional control switches, using **interrupts** for immediate response. +* **RTIC / Embassy:** A concurrency framework to manage the real-time execution of the control loop. \ No newline at end of file From 713ee4641758181764bd6440433664a25f7d143c Mon Sep 17 00:00:00 2001 From: Andrei-Claudiu Mihai Date: Wed, 29 Apr 2026 17:18:31 +0300 Subject: [PATCH 2/2] Updated project description --- .../project/2026/andrei.mihai2407/index.md | 85 +++++++++++++++---- 1 file changed, 69 insertions(+), 16 deletions(-) diff --git a/website/versioned_docs/version-acs_cc/project/2026/andrei.mihai2407/index.md b/website/versioned_docs/version-acs_cc/project/2026/andrei.mihai2407/index.md index 5921b6f6c9a..ea4a4bce345 100644 --- a/website/versioned_docs/version-acs_cc/project/2026/andrei.mihai2407/index.md +++ b/website/versioned_docs/version-acs_cc/project/2026/andrei.mihai2407/index.md @@ -4,21 +4,74 @@ sidebar_position: 1 --- # Joystick-Controlled Mini Excavator +Articulated robotic system with 4 degrees of freedom, based on converting a mini-excavator into an intelligent machine controlled via joystick. + +:::info + +**Author**: Mihai Andrei-Claudiu \ +**GitHub Project Link**: [acs-project-2026-andreimmihai](https://github.com/UPB-PMRust-Students/acs-project-2026-andreimmihai) + +::: ## Description -The project aims to build a mechanical excavator arm controlled via a joystick interface. The system processes analog signals from a 2-axis joystick and digital inputs from command buttons to determine the arm's direction and movement type. A core feature of the control logic is the implementation of **software end-stops** to prevent mechanical strain on the joints. - -The system drives four servomotors to coordinate: -* **Base Rotation** (swing) -* **Main Boom Lift** -* **Stick Movement** (dipper) -* **Bucket Operation** (open/close) - -The result is a fluid, responsive robotic arm capable of manipulating light objects, accurately replicating the user's input from the joystick. - -## Technical Summary (Peripherals) -To implement this in Rust, the following hardware peripherals and concepts will be used: -* **ADC (Analog-to-Digital Converter):** To read the voltage values from the joystick's X and Y axes. -* **PWM (Pulse Width Modulation):** To control the precise position of the 4 servomotors. -* **GPIO (General Purpose Input/Output):** For the joystick button and additional control switches, using **interrupts** for immediate response. -* **RTIC / Embassy:** A concurrency framework to manage the real-time execution of the control loop. \ No newline at end of file +This project achieves the mechatronic conversion of a conventional excavator into an active robotic system with 4 degrees of freedom, electronically controlled via a joystick interface. The system processes analog signals on the OX/OY axes and digital inputs to coordinate four servomotors dedicated to base rotation, main arm lifting, stick movement, and bucket actuation. The control logic integrates signal mapping algorithms and software travel limits, eliminating the risk of mechanical overstressing of the joints. The final result is a machine capable of smooth and precise movements, optimized for object manipulation in the workspace by faithfully replicating joystick commands. + +## Motivation + +I chose this project because it offers a really cool practical challenge: how to adapt electronics onto an object that wasn’t designed for it. I want to learn how to manage multiple motors simultaneously in Rust and how to accurately read signals from a joystick to control a physical mechanism. + +## Architecture + +Add here the schematics with the architecture of your project. Make sure to include: + - what are the main components (architecture components, not hardware components) + - how they connect with each other + +## Log + + + +### Week 5 - 11 May + +### Week 12 - 18 May + +### Week 19 - 25 May + +## Hardware + +Detail in a few words the hardware used. + +### Schematics + +Place your KiCAD or similar schematics here in SVG format. + +### Bill of Materials + + + +| Device | Usage | Price | +|--------|--------|-------| +| [Raspberry Pi Pico W](https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html) | The microcontroller | [35 RON](https://www.optimusdigital.ro/en/raspberry-pi-boards/12394-raspberry-pi-pico-w.html) | + + +## Software + +| Library | Description | Usage | +|---------|-------------|-------| +| [st7789](https://github.com/almindor/st7789) | Display driver for ST7789 | Used for the display for the Pico Explorer Base | +| [embedded-graphics](https://github.com/embedded-graphics/embedded-graphics) | 2D graphics library | Used for drawing to the display | + +## Links + + + +1. [link](https://example.com) +2. [link](https://example3.com) +... \ No newline at end of file