任务简介
本文为 virtual world challenge pack 中的基本运动(BASIC MOVEMENT) 中的
“sensabot challenge”, 如图 1 所示. 要求从起点 A 出发,
每到达一条红线时停下来并且举起机械臂一次再放下机械臂一次, 完成最后一次
(第三条红张) 动作后直接退回到开始区域.
图 1 sensbot challenge 界面图
此挑战使用的 robot 为 “Clawbot IQ”, 基本配置如图 2 所示.
图 2 robot 基本配置
程序
#pragma config(StandardModel, "RVW Clawbot IQ")
//*!!Code automatically generated by 'ROBOTC' configuration wizard !!*//
// global vars
float distance = 50;
float rotation_count = distance / (PI * 6.4);
//
void arm_up_down()
{
setMotorSpeed(armMotor, 80);
sleep(600);
setMotorSpeed(armMotor, -80);
sleep(600);
stopMotor(armMotor);
}
//
void forward_help()
{
for(int i = 0; i < 3; ++i){
forward(rotation_count);
arm_up_down();
}
}
//
void backward_help()
{
backward(3 * rotation_count);
}
// entry function
task main()
{
forward_help();
backward_help();
}
图 3 为通过第一条红线后的截图.
图 3 运行中间截图
运行结果如图 4 所示.
图 4 运行结果