此代码用于使模拟器中的机器人使用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);
}
答案 0 :(得分:2)
for(;;) {
sprintf(buf, "M LR 60 -60\n");
write(sock, buf, strlen(buf));
memset(buf, 0, 80);
read(sock, buf, 80);
}
我认为没有理由这样做。