-4

此代码用于使用 C 使模拟器中的机器人在特定路径中移动。while循环的代码是我需要进行更改的地方,我想知道如何更改代码以使机器人直线移动并停止,以及如何使用“定时距离”使其在三角形中移动。

while (1) {
    sprintf(buf, "M LR 60 -60\n");
    write(sock, buf, strlen(buf));
    memset(buf, 0, 80);
    read(sock, buf, 80);
}

M LR是机器人左右电机的名称(机器人有两个电机使其移动),60 和 -60 是它们的速度。此代码使机器人旋转。

完整代码在此链接中:[ C Robot ]

如何使这段代码工作?

int k = 1;

for (k = 1; k < 3 ; k++){
    sprintf(buf, "M LR 20 10\n");
    write(sock, buf, strlen(buf));
    memset(buf, 0, 80);
    read(sock, buf, 80);
}

for (k=3; k > 3; k++) {
    sprintf(buf, "M LR 0 0\n");
    write(sock, buf, strlen(buf));
    memset(buf, 0, 80);
    read(sock, buf, 80);
}
4

1 回答 1

2
for(;;) {
    sprintf(buf, "M LR 60 -60\n");
    write(sock, buf, strlen(buf));
    memset(buf, 0, 80);
    read(sock, buf, 80);
}

我认为没有理由这样做。

于 2013-02-01T12:21:45.400 回答