2018年智能机器人技术综合实训专题二控制算法
2018年智能机器人技术综合实训专题二控制算法
教材:《ROS机器人项目开发11例》
自学:
第2章,使用ROS、OpenCV和Dynamixel伺服电机进行人脸检查与跟踪,
(摄像头检测人脸得到方位PID控制舵机跟踪)
人脸识别之前已经讲过,控制机器人左转和右转的代码也提过,这里需要复习并实现;
第8章,在Matlab和Android上运行ROS,此部分延续专题一,很多算法可以在Matlab中找到,
应用API可以直接控制ROS机器人;
复习智库文章-甲子光年-APP--->API
案例学习:
V-Rep巡线小车示例:(线导引式物流小车)
理解模数转换,灰度传感器,电机控制,与能控能观的联系。
将其巡线核心代码读懂。
if (simExtK3_getLineSensor(k3Handle,0)>0.5) then
velLeft=maxVel -- left sensor intensity > 0.5
else
velLeft=maxVel*0.5 -- left sensor intensity <= 0.5
end
if (simExtK3_getLineSensor(k3Handle,1)>0.5) then
velRight=maxVel -- right sensor intensity > 0.5
else
velRight=maxVel*0.5 -- right sensor intensity <= 0.5
end
simExtK3_setVelocity(k3Handle,velLeft,velRight) -- Set desired left and right motor
认真学习视频,v.youku.com/v_show/id_XMzkyNjQ1NzMxMg==.html
将上述代码,修改为PID算法。代码精简优雅,并且效率提高,如何做到?
补充练习:
将灰度传感器改为摄像头,如何实现下述巡线小车功能?
参考链接:blog.csdn.net/ZhangRelay/article/details/81352622
四旋翼呢?空中机器人算法如何设计?为什么?
说明PID控制的局限性,传统控制理论的优势和不足,并比较现代控制理论。
误差在传统PID控制中的作用,被控对象模型在现代控制理论中的作用?
学有余力的同学,请自学并完成ETH的ROS课程:
blog.csdn.net/ZhangRelay/article/details/79463689
完成第3课:本课练习的目标是实现Husky机器人闭环控制。 首先,从激光扫描中获取支柱(singlepillar)的位置,然后控制机器人,使其行驶到支柱附近。(PID算法)
blog.csdn.net/zhangrelay/article/details/79956801
提示:
//P-Controller to drive husky towards the pillar
//propotinal gain
float p_gain_vel = 0.1;
float p_gain_ang = 0.4;
if(x_pillar>0.2)
{
if (x_pillar <= 0.4 )
{
vel_msg_.linear.x = 0;
vel_msg_.angular.z = 0;
}
else
{
vel_msg_.linear.x = x_pillar * p_gain_vel ;
vel_msg_.angular.z = -(y_pillar * p_gain_ang) ;
}
}
else
{
vel_msg_.linear.x = 0;
vel_msg_.angular.z = 0;
}
cmd_pub_.publish(vel_msg_);
为什么是这样?
文章来源: zhangrelay.blog.csdn.net,作者:zhangrelay,版权归原作者所有,如需转载,请联系作者。
原文链接:zhangrelay.blog.csdn.net/article/details/84979485
- 点赞
- 收藏
- 关注作者
评论(0)