教程 | 阿克曼结构移动机器人的gazebo仿真(一)
第一章、從SOLIDWORKS中導出URDF
? ? ? ?二輪差速小車已經完結。接下去要進入阿克曼結構移動機器人的仿真。阿克曼小車的結構也就是我們看到最多的應用最廣的車型,也稱為car-like robot。在這里先挖下一個大坑,因為要做的東西很多,目前要做的僅僅是讓阿克曼小車能夠在gazebo仿真器中跑動起來,并且能夠進行建圖導航即可,后續再對其進行拓展。本次系列要做的還是類似于二輪差速車仿真實現這樣的一個流程,不過這次要分別用Twist消息和ackermann消息實現阿克曼小車的運動,以及建圖導航,請各位拭目以待。
1.配置sw_urdf_exporter插件
? ? ? ?在二輪差速小車gazebo仿真的第一章已經說到配置的方法,這邊再給一個插件的下載地址
[http://wiki.ros.org/sw_urdf_exporter] ? ?http://wiki.ros.org/sw_urdf_exporter?
下載sw2urdfSetup.exe文件后點擊安裝,安裝后就能用插件從SolidWorks中導出URDF模型了。
2.打開創建好的solidworks模型
? ? ? 下面是裝配好的tianracer阿克曼小車模型裝配體(這里非常感謝天之博特的模型支持),值得注意的是在裝配的過程中,小車的車頭要指向X軸正方向,豎直方向為Z軸正方向,這些在裝配的過程中需要額外注意,否則導出的URDF文件在gazebo或者RVIZ中小車的方位會有問題,如小車直接側翻等等。
3.創建所有link點和坐標系和joint軸線
? ? ? ?與差速小車配置有所不同的是,這次需要將點、坐標系、軸線混合起來配置。因為有些地方需要用到兩軸線的交點作為點,然后構建坐標系,配置深度攝像頭、激光雷達、單目攝像頭的方式與之前配置差速小車傳感器配件的方式一樣,我們還可以找一個小零件做imu傳感器模塊(其實仿真環境里面沒有必要用到imu,但是為了還原真實性的話可以放置用一下),以上配置方式我按下不表,可參考二輪差速小車的配置方式。附上鏈接:
[ROS學習初探之自建小車模型并進行仿真(一)]??
? ? ?接下去重點講一下阿克曼底盤的配置,我們先看一下阿克曼車的運動學模型:
我們可以看到車子轉彎的時候兩前輪會發生擺轉,在模型中令小車轉向的是與兩前輪相連接的轉向鉸鏈也叫steering hinge,前邊兩個steering hinge通過連桿連接形成正梯形四邊形結構,正因為是特殊的正梯形四邊形結構,使得兩前輪的轉動角度不同,且四輪的旋轉中心可匯交與車外的一點,而這一點即使小車的旋轉中心。通過控制steering hinge的轉動角度,可求得小車的最小轉彎半徑,在這里我們要記錄一下車子前后輪的輪距wheel base,以及左右輪的寬度,以便于后續的需要。前后輪的配置與二輪差速小車的配置一致這里不再贅述。主要講一下steering hinge,先配置left steering hinge ,在配置的時候盡量保持前后輪平行,并在配置前將與之相配合的輪子隱形以便于配置,并且需要將連桿刪去(gazebo無法仿真四邊形機構),因其與base_link相配合,我們在base_link上邊設置其旋轉軸,并將其命名為le_steer:
接著我們在left steering hinge上創建左輪的轉動軸,并將其命名為le_fr_wh:
選擇參考幾何體--點,選擇剛剛建立的兩軸線交叉生成點,該點為left steering hinge以及left front wheel旋轉軸的交點:
以點為基準建立坐標系并將其命名為le_steer_hinge:
我們對right steering hinge的配置如法炮制,至此坐標系和軸線已經全部配置完畢。
4.使用sw_urdf_exporter插件導出URDF
? ? ?依次點擊“工具—File—Export as URDF”打開插件,首先配置的是URDF Exporter界面,配置方法在二輪差速小車章節已經寫的比較詳細了,這里不再贅述,值得注意的是前輪的配置parent link 到child link的順序依次是base_link-->steering_hinge-->front_wheel,并且steering hinge的joint type是revolute,wheel的joint type是continuous,傳感器的joint type是fixed。如下圖所示:
至此URDF Exporter界面已經配置完畢,點擊“Preview and Export”選項,會出現一個新的界面,先配置的是各個joint,在這里我們需要配置一下兩個steering hinge joint以及四個wheel joint的limit參數,如下圖所示:
其他的joint可以不用去配置,接著點擊next進入link配置界面:
在此界面無需做太多的配置,慣量參數可以在后期配置,這里我們通過修改color的參數來設置各個link的顏色。
? ? ? 檢查無誤后點擊“Export URDF and Meshes”。選擇路徑對導出文件進行保存。切記命名的時候,文件名不能帶有大寫字母和中文,以免出現問題。我們將其命名為“racebot_description”。
小結
? ? ? 以上便是從solidworks導出阿克曼小車urdf的全部過程。接下去要做的便是將導出的功能包放進ubuntu系統并對其進行配置,先做一個鍵盤控制節點用Twist消息類型控制小車運動的實現,敬請期待。
參考資料
1.[ROS學習初探之自建小車模型并進行仿真(一)]?
https://blog.csdn.net/qq_48427527/article/details/108071749?spm=1001.2014.3001.5501
總結
以上是生活随笔為你收集整理的教程 | 阿克曼结构移动机器人的gazebo仿真(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 推荐八款好用的项目管理工具
- 下一篇: 四书五经之大学