官术网_书友最值得收藏!

3.5.1 機(jī)器人底座需求

要構(gòu)建機(jī)器人底座,需要滿足以下需求:

·一個(gè)堅(jiān)固的底盤(pán),包含一組具有良好摩擦性能的輪子。

·強(qiáng)大的驅(qū)動(dòng)器,可以幫助攜帶所需的有效載荷。

·驅(qū)動(dòng)控制。

如果讀者計(jì)劃建立一個(gè)真正的機(jī)器人底座,那么可能還需要考慮其他因素,例如電源管理系統(tǒng)(能夠在預(yù)期續(xù)航時(shí)間內(nèi)保障機(jī)器人有效運(yùn)行)、必要的電氣和嵌入式特性以及機(jī)械動(dòng)力傳輸系統(tǒng)。實(shí)際上,ROS能夠幫助讀者更好地實(shí)現(xiàn)上述需要。為什么?這是因?yàn)榛赗OS能夠?qū)φ鎸?shí)工作的機(jī)器人進(jìn)行仿真(更準(zhǔn)確地說(shuō),是模擬。但如果讀者調(diào)整一些參數(shù)并應(yīng)用實(shí)時(shí)約束,則肯定能夠以更高的逼真度進(jìn)行仿真),需要考慮的因素及實(shí)現(xiàn)如下所示:

·底盤(pán)和輪子可以用URDF中的物理特性定義。

·驅(qū)動(dòng)器可以使用Gazebo-ros插件定義。

·驅(qū)動(dòng)器控制可以基于ros_controllers定義。

基于上述考慮,如果要構(gòu)建自定義機(jī)器人,首先我們要考慮機(jī)器人的規(guī)格參數(shù)。

1.機(jī)器人底座規(guī)格參數(shù)

我們的機(jī)器人底座可能需要攜帶一個(gè)機(jī)器人手臂和一些額外的負(fù)載。此外,還應(yīng)確保它是機(jī)電穩(wěn)定的,使得它有足夠的扭矩拉動(dòng)自己的負(fù)載以及額定負(fù)載,并以較少的頓挫和邊際位姿誤差順利地平滑移動(dòng)。

所謂位姿包含了物體相對(duì)于世界/地球/環(huán)境的位置和旋轉(zhuǎn)(姿態(tài))坐標(biāo)。

對(duì)于我們要構(gòu)建的機(jī)器人底座而言,具體規(guī)格參數(shù)為:

·尺寸:600×450×200(長(zhǎng)×寬×高,單位為毫米)。

·類型:四輪差分驅(qū)動(dòng)機(jī)器人。

·速度:最高1米/秒。

·載荷:50千克(包含機(jī)械臂)。

2.機(jī)器人底座運(yùn)動(dòng)學(xué)模型

我們的機(jī)器人底座只有兩個(gè)自由度:沿x軸平移和沿z軸旋轉(zhuǎn)。由于方向盤(pán)固定,因此機(jī)器人不能在y軸上瞬時(shí)移動(dòng)。因?yàn)闄C(jī)器人只能在地面上移動(dòng),所以它也不能在z軸上移動(dòng)。此外,沿著x軸或y軸旋轉(zhuǎn)意味著機(jī)器人要么向左或右倒下,要么向前或后倒下,因此這也是不可能的。

如果是麥卡納姆輪系(又稱為瑞典輪)的情況下,機(jī)器人底座將有3個(gè)自由度,可以在x和y軸構(gòu)成的平面上萬(wàn)向平移,并能沿z軸旋轉(zhuǎn)。

因此,我們的機(jī)器人運(yùn)動(dòng)學(xué)模型如下所示:

其中,x′、y′和θ′表征了機(jī)器人的最終位姿,ω表征了機(jī)器人的角速度,δt表征了時(shí)間步長(zhǎng)。這就是所謂的正向運(yùn)動(dòng)學(xué)方程,因?yàn)槲覀兪歉鶕?jù)機(jī)器人的尺寸和速度來(lái)確定機(jī)器人的位姿的。

上述公式中的未知量為:

R=l/2×(nl+nr)/(nr-nl)

其中,nl和nr為左右兩個(gè)輪子的編碼器計(jì)數(shù)值,l是輪子的軸長(zhǎng):

ICC=[x-Rsinθ,y+Rcosθ]

同樣可以得到:

ωδt=(nr-nl)step/l

其中,step是每個(gè)編碼器刻度中輪子所覆蓋的距離。

主站蜘蛛池模板: 罗城| 正安县| 五常市| 内黄县| 太仓市| 平阴县| 永仁县| 营山县| 保靖县| 青海省| 昌图县| 辛集市| 九龙县| 古丈县| 井冈山市| 容城县| 宣汉县| 乌拉特前旗| 休宁县| 黄大仙区| 广安市| 临城县| 浦城县| 临桂县| 林周县| 永德县| 武隆县| 和田市| 遵化市| 云南省| 靖西县| 凌云县| 岳池县| 姜堰市| 郯城县| 平潭县| 安泽县| 会泽县| 商城县| 凉山| 长寿区|