【发布时间】:2021-01-28 22:03:28
【问题描述】:
我正在使用 webbots 中的 UR3 执行拾取和放置任务。 我需要机器人去拾取位置,抓住物体(合上手指),然后去放置位置。类似于以下代码:
while (wb_robot_step(TIME_STEP) != -1) {
// 1. Go to Pick position
for (i = 0; i < 6; ++i)
wb_motor_set_position(ur_motors[i], pick_position[i]);
// 2. Grasp the object
for (i = 0; i < 2; ++i)
wb_motor_set_position(finger_motors[i], 0.5);
// 3. Go to Place position
for (i = 0; i < 6; ++i)
wb_motor_set_position(ur_motors[i], place_position[i]);
}
但是,当我运行代码时,我看到当机器人要拾取位置时,手指也会闭合。我在文档中读到“wb_motor_set_position 函数存储新位置,但它不会立即启动电机”。所以我想知道如何在第 1 步和第 2 步之间添加延迟,即只有在电机驱动达到所需位置后手指才会闭合。我使用了 sleep 但没有帮助。
【问题讨论】:
标签: webots