移動機械人技術 odom 差動輪里程計 設計

2021-10-06 19:00:58 字數 1283 閱讀 1457

差動運動模型相關引數

#define param_wide_meter    (0.565)    // 兩輪間距-寬度

#define param_pulse_per_meter (32595) // 里程引數:每公尺脈衝數

#define param_pulse_lr_diff (0.9997) // 左右輪直徑差:左輪比右輪

#define param_pulse1_per_meter (param_pulse_per_meter*sqrt(param_pulse_lr_diff)) //左輪每公尺脈衝數

#define param_pulse2_per_meter (param_pulse_per_meter/sqrt(param_pulse_lr_diff)) //右輪每公尺脈衝數

#define enc_resolution (1024) // 編碼器解析度

差動輪里程計的更新如下:

void odom_calc::update_odom(float spd1_pps,    float spd2_pps,

int32_t round1_cnt, int32_t round2_cnt,

int32_t pulse1_cnt, int32_t pulse2_cnt)

else if (odom_th < -3.1415926)

moni_odom_left_m += delta1_m;

moni_odom_right_m += delta2_m;

}

速度旋量與電機速度轉換關係

float v1 = pobj->vf - 0.5*pobj->wf*pobj->car_param_width;

float v2 = pobj->vf + 0.5*pobj->wf*pobj->car_param_width;

pobj->mt1_spdref_rpm = (double)v1*pobj->car_param_pulse1_per_m*60.0/pobj->car_param_enc_resolution;

pobj->mt2_spdref_rpm = (double)v2*pobj->car_param_pulse2_per_m*60.0/pobj->car_param_enc_resolution;

mot1p_setspeedrpm(pobj->mt1_spdref_rpm);

mot2p_setspeedrpm(pobj->mt2_spdref_rpm);

移動機械人專案概述

之前有一篇關於機械臂專案 這一篇,就讓我來總結一下搭建乙個完整的移動機械人所需的知識及步驟吧,小小拙見,有問題請及時指正 這裡我還是不太想寫成大部分參考書上的那樣,什麼執行系統啊驅動系統啊。現在打字的我其實只是個工程師,不是在寫書或者 只是想用最簡單的話,描述給不是ai或者機械人領域的人聽,一如既往...

移動機械人 考綱複習

文末有考試技巧與考試說明 腿式幾種常見輪子型別,特點,和自由度數目 移動機械人機動性概念 典型輪式機械人機動性判定 機械人是完整性還是非完整性系統判斷 移動機械人感測器分類及其特點 常用本體感受式感測器和外感受感測器 引起移動機械人定位誤差的主要 基於概率地圖定位方法的思想和原理 markov lo...

移動機械人路徑規劃總結

先上總圖,熟悉一下路徑規劃的分類和各種演算法的分類。計算複雜度與機械人自由度成指數關係,不適合於解決高自由度機械人在複雜環境中的規劃,而且都不適合於解決帶有微分約束。適合於解決高自由度機械人在複雜環境下的運動規劃問題。機械臂的路徑規劃問題是不是屬於這種?主要演算法的提出過程 1990 rpp ran...