بازوی رباتیک DOF یعنی چه؟ (برای مبتدی)
DOF (Degrees of Freedom) یعنی تعداد محورهای حرکت مستقل. یک بازوی رباتیک ۴-DOF چهار مفصل قابل کنترل مستقل دارد: Base (چرخش افقی پایه)، Shoulder (شانه)، Elbow (آرنج)، و Wrist/Gripper (مچ/گیره).
در بازوهای رباتیک صنعتی از Inverse Kinematics (IK) برای محاسبه زاویه هر مفصل از روی موقعیت نقطه هدف استفاده میشود. نسخه سادهتر ما با Joystick هر مفصل را مستقیم کنترل میکنیم — Joint Space Control — که برای شروع بسیار آموزنده است.
محصولی که میسازید
یک بازوی رباتیک ۴-DOF با سرو MG996R که با Joystick کنترل میشود و حرکات را ضبط/پخش میکند.
- زمان ساخت: ۱۰ تا ۱۵ ساعت
- هزینه: ۱.۵ تا ۲.۵ میلیون تومان
- بار قابل حمل: ۵۰۰g
کد Arduino — Joystick Control + Record/Replay
#include <Servo.h>
Servo base, shoulder, elbow, wrist;
// پینهای Joystick:
const int JX1=A0, JY1=A1; // Base + Shoulder
const int JX2=A2, JY2=A3; // Elbow + Wrist
const int BTN_REC=2, BTN_PLAY=3;
// ضبط حرکات:
int recBase[100], recShld[100], recElbw[100], recWrst[100];
int recIdx=0, maxRec=100;
bool isRecording=false;
int pos[4] = {90, 90, 90, 90}; // موقعیت فعلی
void setup() {
base.attach(9); shoulder.attach(10); elbow.attach(11); wrist.attach(12);
pinMode(BTN_REC, INPUT_PULLUP);
pinMode(BTN_PLAY, INPUT_PULLUP);
for(int i=0;i<4;i++) { /* مقداردهی اولیه */ }
}
int readJoy(int pin, int center=512) {
int v = analogRead(pin) - center;
return (abs(v) > 50) ? map(v, -512, 512, -3, 3) : 0;
}
void loop() {
pos[0] = constrain(pos[0] + readJoy(JX1), 0, 180);
pos[1] = constrain(pos[1] + readJoy(JY1), 30, 150);
pos[2] = constrain(pos[2] + readJoy(JX2), 0, 180);
pos[3] = constrain(pos[3] + readJoy(JY2), 0, 180);
base.write(pos[0]); shoulder.write(pos[1]);
elbow.write(pos[2]); wrist.write(pos[3]);
if(digitalRead(BTN_REC)==LOW && recIdx < maxRec) {
recBase[recIdx]=pos[0]; recShld[recIdx]=pos[1];
recElbw[recIdx]=pos[2]; recWrst[recIdx]=pos[3];
recIdx++;
}
if(digitalRead(BTN_PLAY)==LOW && recIdx > 0) {
for(int i=0; i
چکلیست تست
| تست | نتیجه |
|---|---|
| هر ۴ سرو در محدوده حرکت میکنند؟ | بله |
| سروها گرم نمیشوند در حین حرکت؟ | UBEC 5A |
| ضبط و پخش حرکت کار میکند؟ | دکمه REC + PLAY |
| بازو وزن ۲۰۰g را بالا میبرد؟ | MG996R 15kg.cm |