RobotDog icon indicating copy to clipboard operation
RobotDog copied to clipboard

Open JTDeve opened this issue 5 years ago • 1 comments

讲的很通俗易懂,棒! 想请教一下ListLeg(void)函数中的if(Abs(body.vx) < 2 && Abs(body.vy) < 2 && Abs(body.rotate) < 2)是什么意思啊,body.vx和body.vy不知道具体是什么参数,那个,我能有幸加您QQ嘛(980902473)

JTDeve avatar Nov 15 '19 06:11 JTDeve

不好意思今天才看到你的问题。body.vx代表的是机器人在x方向的行走速度,body.vy同理。

可以在body_task.c里面看到以下代码:

if(body.workstate == Walk)
{
	body.vx = remote.value.right_y - 16;
	body.vy = remote.value.right_x - 16;
	body.rotate = remote.value.left_x - 16;
	ListLeg();
	Move(&FR_Leg);
	Move(&FL_Leg);
	Move(&BL_Leg);
	Move(&BR_Leg);
}

大意是当机器人是行走状态时,body.vx由遥控器的数据决定(遥控器的中值是16),但我的遥控器数值不稳定,这里是设置一个遥控器死区,防止出现静止时机器人乱动的情况。

imuncle avatar Mar 18 '20 01:03 imuncle