πŸ€– ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ Ρ€Π°Π±ΠΎΡ‚Π°: Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ нСсколькими сСрвомоторами

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ многоосСвыС Ρ€ΠΎΠ±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ†ΠΈΠ΅ΠΉ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ

🎯 БСгодня: Π‘ΠΎΠ±ΠΈΡ€Π°Π΅ΠΌ Ρ€ΠΎΠ±ΠΎΡ‚Π° с нСсколькими сСрвомоторами
⭐ ЦСль: ΠΠ°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ слоТныС двиТСния

πŸ‘¨β€πŸ« Π£Ρ‡ΠΈΡ‚Π΅Π»ΡŒ: АхмСтов Рустам
🏫 Π¨ΠΊΠΎΠ»Π°: Π“Π‘ΠžΠ£ β„– 1362
πŸ“… Π”Π°Ρ‚Π°: 2025-06-14
⏰ ВрСмя: 90 ΠΌΠΈΠ½ΡƒΡ‚

🎯 Наша Π·Π°Π΄Π°Ρ‡Π° сСгодня

πŸ› οΈ Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ А: Π ΠΎΠ±ΠΎΡ‚-манипулятор 🦾

  • 3 сСрвомотора (ΠΏΠ»Π΅Ρ‡ΠΎ, ΠΏΡ€Π΅Π΄ΠΏΠ»Π΅Ρ‡ΡŒΠ΅, Π·Π°Ρ…Π²Π°Ρ‚)
  • Π—Π°Π΄Π°Ρ‡Π°: Π²Π·ΡΡ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ ΠΈ ΠΏΠ΅Ρ€Π΅Π»ΠΎΠΆΠΈΡ‚ΡŒ
  • Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ: срСдняя

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π‘: Π¨Π°Π³Π°ΡŽΡ‰ΠΈΠΉ Ρ€ΠΎΠ±ΠΎΡ‚ 🚢

  • 4 сСрвомотора (2 Π½ΠΎΠ³ΠΈ Γ— 2 сустава)
  • Π—Π°Π΄Π°Ρ‡Π°: ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΏΠΎ прямой Π»ΠΈΠ½ΠΈΠΈ
  • Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ: высокая

πŸ“‹ План Ρ€Π°Π±ΠΎΡ‚Ρ‹

  1. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (15 ΠΌΠΈΠ½) - собираСм ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ
  2. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ (10 ΠΌΠΈΠ½) - присоСдиняСм ΠΊ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ
  3. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (15 ΠΌΠΈΠ½) - создаСм ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ
  4. ВСстированиС (10 ΠΌΠΈΠ½) - провСряСм Ρ€Π°Π±ΠΎΡ‚Ρƒ
  5. ДСмонстрация (10 ΠΌΠΈΠ½) - ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚

🧠 ВспоминаСм основы

πŸ”§ Π§Ρ‚ΠΎ ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ ΠΎ сСрвомоторах?

ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΡΠ΅ΠΌ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ понятия:

  • Π‘Π΅Ρ€Π²ΠΎΠΌΠΎΡ‚ΠΎΡ€ поворачиваСтся Π½Π° Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΡƒΠ³ΠΎΠ»
  • УправляСтся ШИМ-сигналом
  • Π˜ΠΌΠ΅Π΅Ρ‚ 3 ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°: ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅, зСмля, сигнал
  • ΠœΠΎΠΆΠ΅Ρ‚ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

πŸ€” Новая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: нСсколько сСрвомоторов

Вопросы для Ρ€Π°Π·ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΡ:

  • Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ 3-4 сСрвомотора ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ?
  • Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ двигались ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ?
  • Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ “согласованноС Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅”?
  • Как ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ столкновСний частСй Ρ€ΠΎΠ±ΠΎΡ‚Π°?

βš™οΈ ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ†ΠΈΠΈ сСрвомоторов

πŸ”Œ ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… сСрвомоторов

Π‘Ρ…Π΅ΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ:

1Arduino Uno:
2πŸ“ PIN 3  β†’ Π‘Π΅Ρ€Π²ΠΎΠΌΠΎΡ‚ΠΎΡ€ 1 (Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚)
3πŸ“ PIN 5  β†’ Π‘Π΅Ρ€Π²ΠΎΠΌΠΎΡ‚ΠΎΡ€ 2 (ΠΏΠ»Π΅Ρ‡ΠΎ)
4πŸ“ PIN 6  β†’ Π‘Π΅Ρ€Π²ΠΎΠΌΠΎΡ‚ΠΎΡ€ 3 (ΠΏΡ€Π΅Π΄ΠΏΠ»Π΅Ρ‡ΡŒΠ΅)
5πŸ“ PIN 9  β†’ Π‘Π΅Ρ€Π²ΠΎΠΌΠΎΡ‚ΠΎΡ€ 4 (Π·Π°Ρ…Π²Π°Ρ‚)
6
7πŸ”΄ 5V    β†’ ВсС красныС ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°
8⚫ GND   β†’ ВсС Ρ‡Π΅Ρ€Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ:

  • ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ сСрвомотор ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ PWM-ΠΏΠΈΠ½Ρƒ
  • ВсС сСрвомоторы ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ источника
  • ΠŸΡ€ΠΈ большом количСствС сСрвомоторов ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ внСшнСС ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅

πŸ“‘ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ мноТСствСнных сСрвомоторов

Базовая структура ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

 1#include <Servo.h>
 2
 3// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ сСрвомотора
 4Servo servo1;  // Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚
 5Servo servo2;  // ΠΏΠ»Π΅Ρ‡ΠΎ
 6Servo servo3;  // ΠΏΡ€Π΅Π΄ΠΏΠ»Π΅Ρ‡ΡŒΠ΅
 7Servo servo4;  // Π·Π°Ρ…Π²Π°Ρ‚
 8
 9void setup() {
10  // ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ сСрвомоторы ΠΊ ΠΏΠΈΠ½Π°ΠΌ
11  servo1.attach(3);
12  servo2.attach(5);
13  servo3.attach(6);
14  servo4.attach(9);
15  
16  // УстанавливаСм Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ полоТСния
17  moveToHome();
18}
19
20void moveToHome() {
21  servo1.write(90);  // Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
22  servo2.write(90);
23  servo3.write(90);
24  servo4.write(90);
25  delay(1000);
26}

⭐ Для Π»ΡŽΠ±ΠΎΠ·Π½Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ…: ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ†ΠΈΠΈ

Бинхронизация Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ:

Π§Ρ‚ΠΎΠ±Ρ‹ нСсколько сСрвомоторов двигались ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Π»ΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΎΠ΄Π½ΠΎ врСмя, Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ скорости:

\[t_{max} = \max\left(\frac{|\theta_{1,ΠΊΠΎΠ½Π΅Ρ†} - \theta_{1,старт}|}{\omega_1}, \frac{|\theta_{2,ΠΊΠΎΠ½Π΅Ρ†} - \theta_{2,старт}|}{\omega_2}, ...\right)\]

Π³Π΄Π΅ $\omega_i$ - максимальная ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ i-Π³ΠΎ сСрвомотора

Алгоритм ΠΏΠ»Π°Π²Π½ΠΎΠ³ΠΎ двиТСния:

 1void smoothMove(int angle1, int angle2, int angle3, int totalTime) {
 2  int currentAngle1 = servo1.read();
 3  int currentAngle2 = servo2.read();
 4  int currentAngle3 = servo3.read();
 5  
 6  int steps = totalTime / 20;  // 20 мс на шаг
 7  
 8  for (int i = 0; i <= steps; i++) {
 9    float progress = (float)i / steps;
10    
11    int newAngle1 = currentAngle1 + (angle1 - currentAngle1) * progress;
12    int newAngle2 = currentAngle2 + (angle2 - currentAngle2) * progress;
13    int newAngle3 = currentAngle3 + (angle3 - currentAngle3) * progress;
14    
15    servo1.write(newAngle1);
16    servo2.write(newAngle2);
17    servo3.write(newAngle3);
18    
19    delay(20);
20  }
21}

ΠšΠΈΠ½Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° манипулятора:

ΠŸΡ€ΡΠΌΠ°Ρ ΠΊΠΈΠ½Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° (ΠΎΡ‚ ΡƒΠ³Π»ΠΎΠ² ΠΊ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ):

\[\begin{cases} x = L_1 \cos(\theta_1) + L_2 \cos(\theta_1 + \theta_2) \\ y = L_1 \sin(\theta_1) + L_2 \sin(\theta_1 + \theta_2) \end{cases}\]

ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ ΠΊΠΈΠ½Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° (ΠΎΡ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΊ ΡƒΠ³Π»Π°ΠΌ):

\[\theta_2 = \pm \arccos\left(\frac{x^2 + y^2 - L_1^2 - L_2^2}{2L_1L_2}\right)\] \[\theta_1 = \arctan2(y, x) - \arctan2(L_2\sin(\theta_2), L_1 + L_2\cos(\theta_2))\]

πŸ› οΈ ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ А: Π ΠΎΠ±ΠΎΡ‚-манипулятор

πŸ—οΈ ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ манипулятора

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹:

  • ОснованиС: Π‘Π΅Ρ€Π²ΠΎΠΌΠΎΡ‚ΠΎΡ€ 1 (ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ Π½Π° 360Β°)
  • ΠŸΠ»Π΅Ρ‡ΠΎ: Π‘Π΅Ρ€Π²ΠΎΠΌΠΎΡ‚ΠΎΡ€ 2 (подъСм/опусканиС)
  • ΠŸΡ€Π΅Π΄ΠΏΠ»Π΅Ρ‡ΡŒΠ΅: Π‘Π΅Ρ€Π²ΠΎΠΌΠΎΡ‚ΠΎΡ€ 3 (сгибаниС Π² Π»ΠΎΠΊΡ‚Π΅)
  • Π—Π°Ρ…Π²Π°Ρ‚: Π‘Π΅Ρ€Π²ΠΎΠΌΠΎΡ‚ΠΎΡ€ 4 (ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅/Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅)

Π‘Ρ…Π΅ΠΌΠ° сборки:

1    [Π—Π°Ρ…Π²Π°Ρ‚] ← Π‘Π΅Ρ€Π²ΠΎΠΌΠΎΡ‚ΠΎΡ€ 4
2         ↑
3    [ΠŸΡ€Π΅Π΄ΠΏΠ»Π΅Ρ‡ΡŒΠ΅] ← Π‘Π΅Ρ€Π²ΠΎΠΌΠΎΡ‚ΠΎΡ€ 3
4         ↑
5      [ΠŸΠ»Π΅Ρ‡ΠΎ] ← Π‘Π΅Ρ€Π²ΠΎΠΌΠΎΡ‚ΠΎΡ€ 2
6         ↑
7    [ОснованиС] ← Π‘Π΅Ρ€Π²ΠΎΠΌΠΎΡ‚ΠΎΡ€ 1

🎯 Π—Π°Π΄Π°Π½ΠΈΠ΅ для манипулятора

ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ дСйствий:

  1. Π˜ΡΡ…ΠΎΠ΄Π½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ - всС сСрвомоторы Π² Ρ†Π΅Π½Ρ‚Ρ€Π΅
  2. ΠŸΠΎΠ²ΠΎΡ€ΠΎΡ‚ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ - ΠΏΠΎΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌ основаниС
  3. ΠžΠΏΡƒΡΠΊΠ°Π½ΠΈΠ΅ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ - сгибаСм ΠΏΠ»Π΅Ρ‡ΠΎ ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠ»Π΅Ρ‡ΡŒΠ΅
  4. Π—Π°Ρ…Π²Π°Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° - Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π·Π°Ρ…Π²Π°Ρ‚
  5. ПодъСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° - ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π΅ΠΌ ΠΏΠ»Π΅Ρ‡ΠΎ
  6. ΠŸΠΎΠ²ΠΎΡ€ΠΎΡ‚ ΠΊ Ρ†Π΅Π»ΠΈ - ΠΏΠΎΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌ основаниС Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ сторону
  7. ΠžΠΏΡƒΡΠΊΠ°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° - опускаСм ΠΊ мСсту назначСния
  8. ΠžΡ‚ΠΏΡƒΡΠΊΠ°Π½ΠΈΠ΅ - ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π·Π°Ρ…Π²Π°Ρ‚
  9. Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π΄ΠΎΠΌΠΎΠΉ - возвращаСмся Π² исходноС ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

πŸ’» ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ для манипулятора

 1#include <Servo.h>
 2
 3Servo baseServo;     // основаниС
 4Servo shoulderServo; // ΠΏΠ»Π΅Ρ‡ΠΎ
 5Servo elbowServo;    // ΠΏΡ€Π΅Π΄ΠΏΠ»Π΅Ρ‡ΡŒΠ΅
 6Servo gripperServo;  // Π·Π°Ρ…Π²Π°Ρ‚
 7
 8void setup() {
 9  baseServo.attach(3);
10  shoulderServo.attach(5);
11  elbowServo.attach(6);
12  gripperServo.attach(9);
13  
14  homePosition();
15  delay(2000);
16  
17  // ВыполняСм Π·Π°Π΄Π°Π½ΠΈΠ΅
18  pickAndPlace();
19}
20
21void homePosition() {
22  baseServo.write(90);      // Ρ†Π΅Π½Ρ‚Ρ€
23  shoulderServo.write(90);  // Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎ
24  elbowServo.write(90);     // прямо
25  gripperServo.write(90);   // ΠΏΠΎΠ»ΡƒΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚
26}
27
28void pickAndPlace() {
29  // 1. ΠŸΠΎΠ²ΠΎΡ€ΠΎΡ‚ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ
30  smoothMove(45, 90, 90, 90, 1000);
31  
32  // 2. ΠžΠΏΡƒΡΠΊΠ°Π½ΠΈΠ΅ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ
33  smoothMove(45, 120, 60, 90, 1500);
34  
35  // 3. Π—Π°Ρ…Π²Π°Ρ‚
36  smoothMove(45, 120, 60, 180, 800);
37  
38  // 4. ПодъСм
39  smoothMove(45, 90, 90, 180, 1500);
40  
41  // 5. ΠŸΠΎΠ²ΠΎΡ€ΠΎΡ‚ ΠΊ Ρ†Π΅Π»ΠΈ
42  smoothMove(135, 90, 90, 180, 1000);
43  
44  // 6. ΠžΠΏΡƒΡΠΊΠ°Π½ΠΈΠ΅
45  smoothMove(135, 120, 60, 180, 1500);
46  
47  // 7. ΠžΡ‚ΠΏΡƒΡΠΊΠ°Π½ΠΈΠ΅
48  smoothMove(135, 120, 60, 90, 800);
49  
50  // 8. Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π΄ΠΎΠΌΠΎΠΉ
51  smoothMove(90, 90, 90, 90, 2000);
52}
53
54void smoothMove(int baseAngle, int shoulderAngle, 
55                int elbowAngle, int gripperAngle, int duration) {
56  int startBase = baseServo.read();
57  int startShoulder = shoulderServo.read();
58  int startElbow = elbowServo.read();
59  int startGripper = gripperServo.read();
60  
61  int steps = duration / 20;
62  
63  for (int i = 0; i <= steps; i++) {
64    float progress = (float)i / steps;
65    
66    baseServo.write(startBase + (baseAngle - startBase) * progress);
67    shoulderServo.write(startShoulder + (shoulderAngle - startShoulder) * progress);
68    elbowServo.write(startElbow + (elbowAngle - startElbow) * progress);
69    gripperServo.write(startGripper + (gripperAngle - startGripper) * progress);
70    
71    delay(20);
72  }
73}

⭐ Для Π»ΡŽΠ±ΠΎΠ·Π½Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ…: РасчСт Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ пространства

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ достиТимых Ρ‚ΠΎΡ‡Π΅ΠΊ:

Для 2-Π·Π²Π΅Π½Π½ΠΎΠ³ΠΎ манипулятора Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ пространство ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ:

\[|L_1 - L_2| \leq \sqrt{x^2 + y^2} \leq L_1 + L_2\]

ΠžΡΠΎΠ±Ρ‹Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ:

  • Π‘ΠΈΠ½Π³ΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ: $\theta_2 = 0Β°$ ΠΈΠ»ΠΈ $\theta_2 = 180Β°$
  • Π“Ρ€Π°Π½ΠΈΡ†Ρ‹: максимальноС ΠΈ минимальноС вытягиваниС

Алгоритм ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ достиТимости:

1bool isReachable(float x, float y, float L1, float L2) {
2  float distance = sqrt(x*x + y*y);
3  return (distance >= abs(L1 - L2)) && (distance <= L1 + L2);
4}

🚢 ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π‘: Π¨Π°Π³Π°ΡŽΡ‰ΠΈΠΉ Ρ€ΠΎΠ±ΠΎΡ‚

πŸ—οΈ ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ ΡˆΠ°Π³Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ€ΠΎΠ±ΠΎΡ‚Π°

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹:

  • ЛСвая Π½ΠΎΠ³Π°:
    • Π‘Π΅Ρ€Π²ΠΎΠΌΠΎΡ‚ΠΎΡ€ 1 (Ρ‚Π°Π·ΠΎΠ±Π΅Π΄Ρ€Π΅Π½Π½Ρ‹ΠΉ сустав - Π²ΠΏΠ΅Ρ€Π΅Π΄/Π½Π°Π·Π°Π΄)
    • Π‘Π΅Ρ€Π²ΠΎΠΌΠΎΡ‚ΠΎΡ€ 2 (ΠΊΠΎΠ»Π΅Π½Π½Ρ‹ΠΉ сустав - сгибаниС)
  • ΠŸΡ€Π°Π²Π°Ρ Π½ΠΎΠ³Π°:
    • Π‘Π΅Ρ€Π²ΠΎΠΌΠΎΡ‚ΠΎΡ€ 3 (Ρ‚Π°Π·ΠΎΠ±Π΅Π΄Ρ€Π΅Π½Π½Ρ‹ΠΉ сустав - Π²ΠΏΠ΅Ρ€Π΅Π΄/Π½Π°Π·Π°Π΄)
    • Π‘Π΅Ρ€Π²ΠΎΠΌΠΎΡ‚ΠΎΡ€ 4 (ΠΊΠΎΠ»Π΅Π½Π½Ρ‹ΠΉ сустав - сгибаниС)

Π‘Ρ…Π΅ΠΌΠ° ΠΊΠΈΠ½Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ:

1    [ΠšΠΎΡ€ΠΏΡƒΡ]
2    /        \
3[Π‘Π΅Π΄Ρ€ΠΎ_Π›]  [Π‘Π΅Π΄Ρ€ΠΎ_П] ← Π‘Π΅Ρ€Π²ΠΎΠΌΠΎΡ‚ΠΎΡ€Ρ‹ 1,3 (Ρ‚Π°Π·ΠΎΠ±Π΅Π΄Ρ€Π΅Π½Π½Ρ‹Π΅)
4   |          |
5[Π“ΠΎΠ»Π΅Π½ΡŒ_Π›] [Π“ΠΎΠ»Π΅Π½ΡŒ_П] ← Π‘Π΅Ρ€Π²ΠΎΠΌΠΎΡ‚ΠΎΡ€Ρ‹ 2,4 (ΠΊΠΎΠ»Π΅Π½Π½Ρ‹Π΅)
6   |          |
7[Π‘Ρ‚ΠΎΠΏΠ°_Π›]  [Π‘Ρ‚ΠΎΠΏΠ°_П]

🚢 Π¦ΠΈΠΊΠ» Ρ…ΠΎΠ΄ΡŒΠ±Ρ‹

Π€Π°Π·Ρ‹ шага:

  1. ΠžΠΏΠΎΡ€Π° Π½Π° Π»Π΅Π²ΡƒΡŽ Π½ΠΎΠ³Ρƒ - правая Π½ΠΎΠ³Π° поднимаСтся
  2. ΠŸΠ΅Ρ€Π΅Π½ΠΎΡ ΠΏΡ€Π°Π²ΠΎΠΉ Π½ΠΎΠ³ΠΈ - Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΏΠ΅Ρ€Π΅Π΄
  3. ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° ΠΏΡ€Π°Π²ΠΎΠΉ Π½ΠΎΠ³ΠΈ - касаниС Π·Π΅ΠΌΠ»ΠΈ
  4. ΠžΠΏΠΎΡ€Π° Π½Π° ΠΏΡ€Π°Π²ΡƒΡŽ Π½ΠΎΠ³Ρƒ - лСвая Π½ΠΎΠ³Π° поднимаСтся
  5. ΠŸΠ΅Ρ€Π΅Π½ΠΎΡ Π»Π΅Π²ΠΎΠΉ Π½ΠΎΠ³ΠΈ - Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΏΠ΅Ρ€Π΅Π΄
  6. ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π»Π΅Π²ΠΎΠΉ Π½ΠΎΠ³ΠΈ - касаниС Π·Π΅ΠΌΠ»ΠΈ

πŸ’» ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ для ΡˆΠ°Π³Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ€ΠΎΠ±ΠΎΡ‚Π°

 1#include <Servo.h>
 2
 3Servo leftHip;    // Π»Π΅Π²Ρ‹ΠΉ Ρ‚Π°Π·ΠΎΠ±Π΅Π΄Ρ€Π΅Π½Π½Ρ‹ΠΉ
 4Servo leftKnee;   // Π»Π΅Π²ΠΎΠ΅ ΠΊΠΎΠ»Π΅Π½ΠΎ
 5Servo rightHip;   // ΠΏΡ€Π°Π²Ρ‹ΠΉ Ρ‚Π°Π·ΠΎΠ±Π΅Π΄Ρ€Π΅Π½Π½Ρ‹ΠΉ  
 6Servo rightKnee;  // ΠΏΡ€Π°Π²ΠΎΠ΅ ΠΊΠΎΠ»Π΅Π½ΠΎ
 7
 8// Π£Π³Π»Ρ‹ для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ
 9int hipCenter = 90;     // Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅Π΄Ρ€Π°
10int hipForward = 120;   // Π±Π΅Π΄Ρ€ΠΎ Π²ΠΏΠ΅Ρ€Π΅Π΄
11int hipBackward = 60;   // Π±Π΅Π΄Ρ€ΠΎ Π½Π°Π·Π°Π΄
12int kneeDown = 90;      // Π½ΠΎΠ³Π° Π½Π° Π·Π΅ΠΌΠ»Π΅
13int kneeUp = 45;        // Π½ΠΎΠ³Π° поднята
14
15void setup() {
16  leftHip.attach(3);
17  leftKnee.attach(5);
18  rightHip.attach(6);
19  rightKnee.attach(9);
20  
21  standingPosition();
22  delay(2000);
23  
24  // НачинаСм Ρ…ΠΎΠ΄ΡŒΠ±Ρƒ
25  for(int i = 0; i < 4; i++) {
26    walkCycle();
27  }
28  
29  standingPosition();
30}
31
32void standingPosition() {
33  leftHip.write(hipCenter);
34  leftKnee.write(kneeDown);
35  rightHip.write(hipCenter);
36  rightKnee.write(kneeDown);
37  delay(500);
38}
39
40void walkCycle() {
41  // Π¨Π°Π³ ΠΏΡ€Π°Π²ΠΎΠΉ Π½ΠΎΠ³ΠΎΠΉ
42  stepRight();
43  delay(200);
44  
45  // Π¨Π°Π³ Π»Π΅Π²ΠΎΠΉ Π½ΠΎΠ³ΠΎΠΉ
46  stepLeft();
47  delay(200);
48}
49
50void stepRight() {
51  // 1. ПоднимаСм ΠΏΡ€Π°Π²ΡƒΡŽ Π½ΠΎΠ³Ρƒ
52  rightKnee.write(kneeUp);
53  delay(300);
54  
55  // 2. Π”Π²ΠΈΠ³Π°Π΅ΠΌ ΠΏΡ€Π°Π²ΡƒΡŽ Π½ΠΎΠ³Ρƒ Π²ΠΏΠ΅Ρ€Π΅Π΄
56  rightHip.write(hipForward);
57  delay(400);
58  
59  // 3. ΠžΠΏΡƒΡΠΊΠ°Π΅ΠΌ ΠΏΡ€Π°Π²ΡƒΡŽ Π½ΠΎΠ³Ρƒ
60  rightKnee.write(kneeDown);
61  delay(300);
62  
63  // 4. ΠŸΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌ вСс - отталкиваСмся Π»Π΅Π²ΠΎΠΉ Π½ΠΎΠ³ΠΎΠΉ
64  leftHip.write(hipBackward);
65  rightHip.write(hipCenter);
66  delay(400);
67}
68
69void stepLeft() {
70  // 1. ПоднимаСм Π»Π΅Π²ΡƒΡŽ Π½ΠΎΠ³Ρƒ
71  leftKnee.write(kneeUp);
72  delay(300);
73  
74  // 2. Π”Π²ΠΈΠ³Π°Π΅ΠΌ Π»Π΅Π²ΡƒΡŽ Π½ΠΎΠ³Ρƒ Π²ΠΏΠ΅Ρ€Π΅Π΄
75  leftHip.write(hipForward);
76  delay(400);
77  
78  // 3. ΠžΠΏΡƒΡΠΊΠ°Π΅ΠΌ Π»Π΅Π²ΡƒΡŽ Π½ΠΎΠ³Ρƒ
79  leftKnee.write(kneeDown);
80  delay(300);
81  
82  // 4. ΠŸΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌ вСс - отталкиваСмся ΠΏΡ€Π°Π²ΠΎΠΉ Π½ΠΎΠ³ΠΎΠΉ
83  rightHip.write(hipBackward);
84  leftHip.write(hipCenter);
85  delay(400);
86}

⭐ Для Π»ΡŽΠ±ΠΎΠ·Π½Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ…: Π”ΠΈΠ½Π°ΠΌΠΈΠΊΠ° Ρ…ΠΎΠ΄ΡŒΠ±Ρ‹

Π¦Π΅Π½Ρ‚Ρ€ масс ΠΈ равновСсиС:

Для устойчивой Ρ…ΠΎΠ΄ΡŒΠ±Ρ‹ Ρ†Π΅Π½Ρ‚Ρ€ масс Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π°Π΄ ΠΎΠΏΠΎΡ€Π½ΠΎΠΉ Π½ΠΎΠ³ΠΎΠΉ:

\[x_{ЦМ} = \frac{m_{корпус} \cdot x_{корпус} + m_{Π½ΠΎΠ³Π°} \cdot x_{Π½ΠΎΠ³Π°}}{m_{общая}}\]

УсловиС статичСской устойчивости:

\[|x_{ЦМ} - x_{ΠΎΠΏΠΎΡ€Π°}| < \frac{L_{стопа}}{2}\]

ВраСктория двиТСния стопы:

ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Π°Ρ траСктория стопы ΠΏΡ€ΠΈ шагС:

\[\begin{cases} x(t) = x_0 + v \cdot t \\ y(t) = h \cdot \sin\left(\frac{\pi t}{T}\right) \end{cases}\]

Π³Π΄Π΅ h - высота подъСма Π½ΠΎΠ³ΠΈ, T - врСмя шага

ΠŸΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ:

 1void smoothStep(float stepLength, float stepHeight, int duration) {
 2  int steps = duration / 20;
 3  
 4  for(int i = 0; i <= steps; i++) {
 5    float t = (float)i / steps;
 6    
 7    // ΠŸΠ°Ρ€Π°Π±ΠΎΠ»ΠΈΡ‡Π΅ΡΠΊΠ°Ρ траСктория подъСма Π½ΠΎΠ³ΠΈ
 8    float height = stepHeight * sin(PI * t);
 9    
10    // Π›ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΏΠ΅Ρ€Π΅Π΄
11    float forward = stepLength * t;
12    
13    // ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌ Π² ΡƒΠ³Π»Ρ‹ сСрвомоторов
14    int hipAngle = calculateHipAngle(forward);
15    int kneeAngle = calculateKneeAngle(height);
16    
17    rightHip.write(hipAngle);
18    rightKnee.write(kneeAngle);
19    
20    delay(20);
21  }
22}

πŸ”§ ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈ настройка

πŸ“‘ Π‘Ρ…Π΅ΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ

Для манипулятора:

1Arduino β†’ Π‘Π΅Ρ€Π²ΠΎΠΌΠΎΡ‚ΠΎΡ€Ρ‹
2PIN 3   β†’ ОснованиС (base)
3PIN 5   β†’ ΠŸΠ»Π΅Ρ‡ΠΎ (shoulder)  
4PIN 6   β†’ ΠŸΡ€Π΅Π΄ΠΏΠ»Π΅Ρ‡ΡŒΠ΅ (elbow)
5PIN 9   β†’ Π—Π°Ρ…Π²Π°Ρ‚ (gripper)
65V      β†’ ВсС красныС ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°
7GND     β†’ ВсС Ρ‡Π΅Ρ€Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°

Для ΡˆΠ°Π³Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ€ΠΎΠ±ΠΎΡ‚Π°:

1Arduino β†’ Π‘Π΅Ρ€Π²ΠΎΠΌΠΎΡ‚ΠΎΡ€Ρ‹
2PIN 3   β†’ Π›Π΅Π²Ρ‹ΠΉ Ρ‚Π°Π·ΠΎΠ±Π΅Π΄Ρ€Π΅Π½Π½Ρ‹ΠΉ
3PIN 5   β†’ Π›Π΅Π²ΠΎΠ΅ ΠΊΠΎΠ»Π΅Π½ΠΎ
4PIN 6   β†’ ΠŸΡ€Π°Π²Ρ‹ΠΉ Ρ‚Π°Π·ΠΎΠ±Π΅Π΄Ρ€Π΅Π½Π½Ρ‹ΠΉ
5PIN 9   β†’ ΠŸΡ€Π°Π²ΠΎΠ΅ ΠΊΠΎΠ»Π΅Π½ΠΎ

⚠️ Π’Π°ΠΆΠ½Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹

ΠŸΠΈΡ‚Π°Π½ΠΈΠ΅:

  • ΠŸΡ€ΠΈ 3-4 сСрвомоторах ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ Ρ‚ΠΎΠΊΠ° ΠΎΡ‚ USB
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ внСшний источник питания 6-7.4Π’
  • ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΎΠ±Ρ‰ΡƒΡŽ зСмлю (GND)

ΠœΠ΅Ρ…Π°Π½ΠΈΠΊΠ°:

  • ЗакрСпляйтС сСрвомоторы Π½Π°Π΄Π΅ΠΆΠ½ΠΎ
  • Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ сСрвомоторов
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ ΡƒΠ³Π»ΠΎΠ² ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π°

πŸ§ͺ ВСстированиС ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ°

πŸ” Пошаговая ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°

Π­Ρ‚Π°ΠΏ 1: ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ

 1void testAllServos() {
 2  Serial.println("ВСстируСм сСрвомоторы...");
 3  
 4  servo1.write(0);   delay(1000);
 5  servo1.write(180); delay(1000);
 6  servo1.write(90);  delay(1000);
 7  Serial.println("Π‘Π΅Ρ€Π²ΠΎΠΌΠΎΡ‚ΠΎΡ€ 1 - OK");
 8  
 9  // Аналогично для ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… сСрвомоторов
10}

Π­Ρ‚Π°ΠΏ 2: ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ²

  • Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ сСрвомоторы Π½Π΅ ΡƒΠΏΠΈΡ€Π°ΡŽΡ‚ΡΡ Π² мСханичСскиС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»ΠΈ
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ всС ΡƒΠ³Π»Ρ‹ достиТимы
  • НастройтС ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΡƒΠ³Π»Ρ‹

Π­Ρ‚Π°ΠΏ 3: ВСстированиС ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

  • ЗапуститС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΏΠΎ шагам
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ
  • Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ Π² плавности ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ²

πŸ› Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° РСшСниС
Π‘Π΅Ρ€Π²ΠΎΠΌΠΎΡ‚ΠΎΡ€ дСргаСтся НСдостаток питания Π’Π½Π΅ΡˆΠ½Π΅Π΅ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅
ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π·Π°Π΅Π΄Π°Π΅Ρ‚ ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° Π£ΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ
НСточныС ΡƒΠ³Π»Ρ‹ ΠŸΠ»ΠΎΡ…Π°Ρ ΠΊΠ°Π»ΠΈΠ±Ρ€ΠΎΠ²ΠΊΠ° ΠΠ°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΡƒΠ³Π»Ρ‹
Π ΠΎΠ±ΠΎΡ‚ ΠΏΠ°Π΄Π°Π΅Ρ‚ ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ баланса Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

🎀 ДСмонстрация Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ²

πŸ“Š ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ успСха

Для манипулятора:

  • βœ… ΠŸΠ»Π°Π²Π½Ρ‹Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ двиТСния всСх сСрвомоторов
  • βœ… Π£ΡΠΏΠ΅ΡˆΠ½Ρ‹ΠΉ Π·Π°Ρ…Π²Π°Ρ‚ ΠΈ пСрСнос ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°
  • βœ… Π’ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅
  • βœ… Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π² исходноС ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Для ΡˆΠ°Π³Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ€ΠΎΠ±ΠΎΡ‚Π°:

  • βœ… УстойчивоС равновСсиС Π²ΠΎ врСмя двиТСния
  • βœ… ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ†ΠΈΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ Π½ΠΎΠ³
  • βœ… Плавная ΠΏΠΎΡ…ΠΎΠ΄ΠΊΠ°
  • βœ… Π”Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ прямой Π»ΠΈΠ½ΠΈΠΈ

πŸ† Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ достиТСния

БонусныС возмоТности:

  • 🌟 Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ сСнсоров (расстояния, касания)
  • 🌟 ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ слоТных Ρ‚Ρ€Π°Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ
  • 🌟 АвтономноС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡
  • 🌟 Адаптация ΠΊ прСпятствиям

πŸ“Ή Π€ΠΎΡ€ΠΌΠ°Ρ‚ дСмонстрации

План выступлСния (2 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ):

  1. ΠŸΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (30 сСк) - Ρ‡Ρ‚ΠΎ создали
  2. ДСмонстрация Ρ€Π°Π±ΠΎΡ‚Ρ‹ (60 сСк) - ΠΏΠΎΠΊΠ°Π· Π² дСйствии
  3. ОбъяснСниС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² (30 сСк) - ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

πŸ€” РСфлСксия ΠΈ Π²Ρ‹Π²ΠΎΠ΄Ρ‹

🎯 Π§Ρ‚ΠΎ ΠΌΡ‹ ΠΈΠ·ΡƒΡ‡ΠΈΠ»ΠΈ

ВСхничСскиС Π½Π°Π²Ρ‹ΠΊΠΈ:

  • βœ… ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ мноТСствСнных сСрвомоторов
  • βœ… ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ
  • βœ… Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ слоТных мСханичСских систСм
  • βœ… ΠžΡ‚Π»Π°Π΄ΠΊΠ° ΠΌΠ½ΠΎΠ³ΠΎΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½Ρ‹Ρ… систСм

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΡ‚Π΅Ρ…Π½ΠΈΠΊΠΈ:

  • 🧠 ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ†ΠΈΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ Π² многоосСвых систСмах
  • βš™οΈ Бинхронизация ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… устройств
  • 🎯 ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Ρ€Π°Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ двиТСния
  • πŸ”„ ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ связь Π² систСмах управлСния

πŸ” Анализ слоТностСй

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹:

  1. Бинхронизация - всС сСрвомоторы Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ согласованно
  2. ΠœΠ΅Ρ…Π°Π½ΠΈΠΊΠ° - конструкция Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‡Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎΠΉ
  3. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ - слоТная Π»ΠΎΠ³ΠΈΠΊΠ° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ†ΠΈΠΈ
  4. ΠžΡ‚Π»Π°Π΄ΠΊΠ° - ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² = ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ

πŸš€ ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΌΠΈΡ€Π΅

Π“Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΈΠ΅ систСмы:

  • 🏭 ΠŸΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹Π΅ Ρ€ΠΎΠ±ΠΎΡ‚Ρ‹-манипуляторы
  • πŸ₯ Π₯ирургичСскиС Ρ€ΠΎΠ±ΠΎΡ‚Ρ‹
  • 🎬 АниматронныС систСмы
  • πŸš€ ΠšΠΎΡΠΌΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ манипуляторы
  • πŸ€– Π§Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Ρ€ΠΎΠ±ΠΎΡ‚Ρ‹

🏠 Π”ΠΎΠΌΠ°ΡˆΠ½Π΅Π΅ Π·Π°Π΄Π°Π½ΠΈΠ΅

πŸ“‹ Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ (для всСх)

1. ΠžΡ‚Ρ‡Π΅Ρ‚ ΠΎ практичСской Ρ€Π°Π±ΠΎΡ‚Π΅ Π‘ΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΎΡ‚Ρ‡Π΅Ρ‚ (2-3 страницы), Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ:

  • ОписаниС созданного ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°
  • Π‘Ρ…Π΅ΠΌΡƒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ сСрвомоторов
  • ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
  • ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ
  • ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ

2. Анализ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ ΠžΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ вашСго Ρ€ΠΎΠ±ΠΎΡ‚Π° ΠΈ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΈΠΌΠ΅Π½Π½ΠΎ такая координация Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ°.

🎯 ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ (ΠΏΠΎ ТСланию)

3. Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π”ΠΎΡ€Π°Π±ΠΎΡ‚Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π΄ΠΎΠ±Π°Π²ΠΈΠ²:

  • ΠŸΠ»Π°Π²Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ двиТСниями
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° ошибки
  • Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

4. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ€ΠΎΠ±ΠΎΡ‚Π° Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ Ρ€ΠΎΠ±ΠΎΡ‚Π° с 5-6 сСрвомоторами:

  • НазначСниС ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ
  • ΠšΠΈΠ½Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ схСма
  • Алгоритм управлСния

⭐ Для ΡˆΠΊΠΎΠ»ΡŒΠ½Ρ‹Ρ… аспирантов

5. ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ модСль:

  • ΠšΠΈΠ½Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ вашСго Ρ€ΠΎΠ±ΠΎΡ‚Π°
  • ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Ρ€Π°Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ двиТСния
  • РаспрСдСлСния Π½Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ

6. Π˜ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΈ исслСдуйтС ΠΎΠ΄Π½Ρƒ ΠΈΠ· Ρ‚Π΅ΠΌ:

  • Алгоритмы планирования Ρ‚Ρ€Π°Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ
  • БистСмы тСхничСского зрСния для Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΠ²
  • АдаптивноС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠ·Π²Π΅Π½Π½Ρ‹ΠΌΠΈ систСмами

πŸŽ‰ Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

πŸ† Наши достиТСния

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹:

  • πŸ€– Π‘ΠΎΠ·Π΄Π°Π»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ многоосСвого Ρ€ΠΎΠ±ΠΎΡ‚Π°
  • πŸ’» Освоили ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ
  • πŸ”§ ΠΠ°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ слоТныС систСмы
  • 🎯 Поняли ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ синхронизации

НовыС знания:

  • 🧠 ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ†ΠΈΡ Π² робототСхничСских систСмах
  • βš™οΈ ΠœΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°Ρ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ²
  • πŸ“ ΠšΠΈΠ½Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° мСханичСских систСм
  • πŸ”„ ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π°Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ

🌟 Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅

“Π ΠΎΠ±ΠΎΡ‚ - это Π½Π΅ просто Π½Π°Π±ΠΎΡ€ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ. Π­Ρ‚ΠΎ систСма, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² согласии с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ для достиТСния ΠΎΠ±Ρ‰Π΅ΠΉ Ρ†Π΅Π»ΠΈ!”

πŸš€ Π§Ρ‚ΠΎ дальшС?

На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΡƒΡ€ΠΎΠΊΠ°Ρ…:

  • Π”Π°Ρ‚Ρ‡ΠΈΠΊΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связи
  • БистСмы тСхничСского зрСния
  • Π˜ΡΠΊΡƒΡΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ Π² Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΡ‚Π΅Ρ…Π½ΠΈΠΊΠ΅
  • АвтономныС робототСхничСскиС систСмы

🎯 БСгодня Π²Ρ‹ создали Π½Π°ΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΡ‚Π΅Ρ…Π½ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ систСму!

πŸ“š Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ рСсурсы

πŸ”— ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ссылки

ДокумСнтация ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:

πŸ“– РСкомСндуСмая Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π°

Для школьников:

  • “ΠœΠ½ΠΎΠ³ΠΎΠΎΡΠ΅Π²Ρ‹Π΅ Ρ€ΠΎΠ±ΠΎΡ‚Ρ‹” - Π .М. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ΠΎΠ²
  • “ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ†ΠΈΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ Π² Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΡ‚Π΅Ρ…Π½ΠΈΠΊΠ΅” - И.К. ΠœΠ΅Ρ…Π°Π½ΠΈΠΊΠΎΠ²
  • “ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΠ²-манипуляторов” - А.П. ΠšΠΎΠ΄Π΅Ρ€ΠΎΠ²

⭐ Для ΡƒΠ³Π»ΡƒΠ±Π»Π΅Π½Π½ΠΎΠ³ΠΎ изучСния:

  • “Robotics: Modelling, Planning and Control” - Siciliano
  • “Introduction to Robotics Mechanics and Control” - Craig
  • “Robot Motion Planning” - Latombe

πŸ› οΈ Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹

ИдСи для развития:

  • Π ΠΎΠ±ΠΎΡ‚-Ρ…ΡƒΠ΄ΠΎΠΆΠ½ΠΈΠΊ (рисуСт ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρ‹)
  • Π ΠΎΠ±ΠΎΡ‚-сортировщик (сортируСт ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹ ΠΏΠΎ Ρ†Π²Π΅Ρ‚Ρƒ)
  • Π ΠΎΠ±ΠΎΡ‚-ΠΎΡ„ΠΈΡ†ΠΈΠ°Π½Ρ‚ (ΠΏΠΎΠ΄Π°Π΅Ρ‚ Π½Π°ΠΏΠΈΡ‚ΠΊΠΈ)
  • Π ΠΎΠ±ΠΎΡ‚-ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π½Ρ‚ (ΠΈΠ³Ρ€Π°Π΅Ρ‚ Π½Π° ксилофонС)

УспСхов Π² создании многоосСвых Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΠ²! πŸ€–βš™οΈβœ¨