nao机器人学习笔记3

这篇博客主要介绍了NAO机器人如何进行闭环控制,通过读取脚底中心压力值来调整平衡。同时,利用API实现单目测距,订阅ALRedBallDetection事件获取红球信息,并计算球与NAO的距离。最后,讨论了全身控制,通过wbSetEffectorControl函数控制右手臂到达目标点,保持NAO的平衡。
摘要由CSDN通过智能技术生成

一、闭环控制

从内存中取得 ”Device/SubDeviceList/LFoot/FSR/CenterofPressure/X/Sensor/Value” 的值,这个值也就是左脚底中心压力的值的X方向,中心压力值,X方向是向前的

Y方向是左右的的。在自己的模块中申明如下的变量AL::ALPtr<AL::ALMemoryProxy> memProxy (成员变量,取内存的一个代理)。取得这个值以后将它用来设置脚的平衡性。

 

void ClimbStair::keepBalance()
{
	enableStiffness();

	AL::ALValue LAnkleRoll = "LAnkleRoll"; 
	AL::ALValue LAnkleRollAngle = 0.0f; 
	float fractionMaxSpeed = 0.1f; 

std::string pressureX = std::string("Device/SubDeviceList/LFoot/FSR/CenterOfPressure/X/Sensor/Value");
	std::string pressureY = std::string("Device/SubDeviceList/LFoot/FSR/CenterOfPressure/Y/Sensor/Value");

	// enter the loop
	while (true)
	{
		AL::ALValue x = mMemory->getData(pressureX);
		AL::ALValue y = mMemory->getData(pressureY);

		LAnkleRollAngle = computeAngleFromPressure(x, y
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值