送藥小車(chē)代碼倉(cāng)庫(kù):https://gitee.com/lcsc/medical_car
更好的觀看體驗(yàn)請(qǐng)去:https://lceda001.feishu.cn/wiki/ZDYbwqDfCiwVlckUEcScF0KSnRh
送藥小車(chē)立創(chuàng)開(kāi)源平臺(tái)資料:https://oshwhub.com/li-chuang-kai-fa-ban/21-dian-sai-f-ti-zhi-neng-song-yao-xiao-che
小車(chē)尋紅線環(huán)的調(diào)試與實(shí)現(xiàn)
一般我們?cè)谛≤?chē)比賽中最常用的是光電二極管灰度傳感器,但是這里我們已經(jīng)有K210識(shí)別到的紅色色塊坐標(biāo)了。所以在地圖中的尋紅線是在K210返回來(lái)的色塊坐標(biāo)基礎(chǔ)上進(jìn)行的。
依靠K210返回來(lái)的巡線中線偏移,對(duì)于PID控制來(lái)說(shuō),測(cè)量值是紅線相較屏幕中線的偏移,目標(biāo)值是想讓紅線偏移為0,輸出值是電機(jī)的速度。
根據(jù)14_立創(chuàng)梁山派與K210串口通信協(xié)議框架搭建.md文檔我們的立創(chuàng)梁山派已經(jīng)可以獲取到色塊的坐標(biāo)了。接下來(lái)就可以參考10_小車(chē)角度環(huán)的調(diào)試與實(shí)現(xiàn).md文檔來(lái)實(shí)現(xiàn)了。
用K210發(fā)送過(guò)來(lái)的數(shù)據(jù)實(shí)現(xiàn)尋紅線
還是在pid_thread.c中實(shí)現(xiàn)(和文檔10_小車(chē)角度環(huán)的調(diào)試與實(shí)現(xiàn)中是一樣的套路):
創(chuàng)建相應(yīng)的PID控制參數(shù)的結(jié)構(gòu)體:
positional_pid_params_t red_lines_pid;
初始化控制結(jié)構(gòu)體并修改kp ki kd(因?yàn)橐呀?jīng)有速度環(huán)了,兩邊輪子轉(zhuǎn)速基本是一樣的,所以kp取的是比較小的):
// 巡紅線回中pid配置 // 尋紅線 pid 參數(shù)初始化 positional_pid_init(&red_lines_pid, 0.004, 0, 0, 5, 1.5, -1.5); // 修改 尋紅線 kp ki kd red_lines_pid.positional_pid_set_value(&red_lines_pid, 0.005, 0, 0.0005);
在PID的軟件定時(shí)器回調(diào)函數(shù)中計(jì)算兩個(gè)輪子需要的速度:
// 巡紅線環(huán) if (car_find_red_line_enable_flag == 1) { red_lines_result_motor1_speed_target = positional_pid_compute( &red_lines_pid, red_lines_target, lines_offset); } else { red_lines_result_motor1_speed_target = 0; }
在打開(kāi)巡紅線環(huán)后,給小車(chē)一個(gè)運(yùn)行速度,如果能能識(shí)別到紅線并成功傳輸給立創(chuàng)梁山派,此時(shí)小車(chē)就可以沿著紅線前進(jìn)了。
最終就是各個(gè)外環(huán)計(jì)算出來(lái)的速度一起加起來(lái)給速度環(huán)(內(nèi)環(huán)):
motor1_speed_target = raw_target_speed + red_lines_result_motor1_speed_target + position_result_motor1_speed_target + angle_ring_speed_target; motor2_speed_target = raw_target_speed + (-red_lines_result_motor1_speed_target) + position_result_motor2_speed_target - angle_ring_speed_target;
在實(shí)際運(yùn)行時(shí),巡線時(shí)打開(kāi)尋紅線環(huán),關(guān)閉角度環(huán)(或位置環(huán))。轉(zhuǎn)彎時(shí)關(guān)閉巡紅線環(huán),打開(kāi)角度環(huán)(或位置環(huán))。
審核編輯 黃宇
-
PID
+關(guān)注
關(guān)注
35文章
1472瀏覽量
85475 -
調(diào)試
+關(guān)注
關(guān)注
7文章
578瀏覽量
33923 -
開(kāi)發(fā)板
+關(guān)注
關(guān)注
25文章
5032瀏覽量
97371 -
智能小車(chē)
+關(guān)注
關(guān)注
87文章
549瀏覽量
81723 -
智能循跡小車(chē)
+關(guān)注
關(guān)注
1文章
11瀏覽量
10593
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論