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_);
為什麼是這樣?