1. 程式人生 > >雙舵輪AGV里程計、運動控制核心演算法

雙舵輪AGV里程計、運動控制核心演算法

        舵輪AGV可以通過調整兩個舵輪的角度及速度,可以使小車在不轉動車頭的情況下實現變道,轉向等動作,甚至可以實現沿任意點為半徑的轉彎運動,有很強的靈活性。 因此在AGV行業,這種驅動方式應用很廣,但是目前能做好控制的廠家並不多。國內比較好的廠家主要有瀋陽新鬆機器人、蘇州華曉精密、上海同普,還有部分新創企業,蘇州極客嘉智慧科技有限公司,做的也很好。

        該種AGV,一般包含兩個舵輪,通常佈置在AGV車體中心前後、或AGV車體對角分佈。如圖:

本文將以在車體中心前後分佈方式的AGV為例,進行分析。

       大家都知道舵輪的引數有線速度大小、角速度大小、舵向值(v,w,a)三個引數(舵輪線速度方向一定等於舵向值)。同時我們控制雙舵輪AGV去跟隨路勁的時候,導航演算法控制器也會給AGV下發線速度大小、線速度方向、角速度(不同於差速輪AGV,舵輪AGV可以全向行走,因此線速度方向是可以不同於AGV的航向角的,本文假設的線速度方向相對於AGV航向角),然後AGV舵輪驅動演算法,將根據導航演算法下發的三個引數來解算兩個舵輪的三個引數。

       我們可以將該AGV簡化成兩個舵輪旋轉中心支點剛性連線的情況,以兩舵輪旋轉中心點來計算AGV線速度和角速度。

       已知導航演算法下發給AGV中心點的引數為(V,W,A),兩舵輪之間的距離D,求舵輪1的引數(V1,W1,A1),舵輪2的引數(V2,W2,A2)。如下圖:

其中W=W1=W2;

第一步:已知引數(V,W,A),求AGV的旋轉半徑。

根據A可知旋轉半徑與AGV中心點速度的幾何關係,如下圖所示“:

第二步:由於兩個舵輪旋轉中心支點與AGV是剛性連線,所以兩舵輪的中心支點必定與AGV旋轉中心同心。

將AGV旋轉中心與兩舵輪旋轉中心點連線,如下圖;

這裡問題變成了,已知A、R,求R1,R2,A1,A2;(提示簡單的三角幾何計算);

 

 

R1、R2、A1、A2就算到這裡。

 第三步:由於r=v/w,W1=W2=W,所以

V1=V*(R1/R);

V2=V*(R2/R);

第四步:將V1、V2、A1、A2分別解算出來,下發給兩舵輪控制器,雙舵輪AGV就可以按照你的導航演算法去運動了。

就講到這一步,再有其他問題,工程師要養成獨立深度思考的習慣,自己去搜索,自己去分析解決。

另外,雙舵輪的里程計,也可以根據此文章,倒退計算出來。

本篇文章新鮮出爐,未經審稿,如有表達紕漏之處,可以指出,轉載請說明出處。

相關推薦

舵輪AGV里程運動控制核心演算法

        舵輪AGV可以通過調整兩個舵輪的角度及速度,可以使小車在不轉動車頭的情況下實現變道,轉向等動作,甚至可以實現沿任意點為半徑的轉彎運動,有很強的靈活性。 因此在AGV行業,這種驅動方式應用很廣,但是目前能做好控制的廠家並不多。國內比較好的廠家主要有瀋陽新鬆機器人、蘇州華曉精密、上海同普,還有部分

里程推算定位與視覺里程

本文來自 lxiaoxiaot 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/lxiaoxiaot/article/details/6779936?utm_source=copy 里程計(Odometry):原文連結在此:http://e

第7講 視覺里程2 --- 求解相機的運動

上一篇部落格中學習了特徵提取和匹配的概念,並且呼叫OpenCV庫實現了ORB特徵的提取和匹配。 找到了匹配點後,我們希望能夠根據匹配的  點對 來估計相機的運動。由於相機的原理不同,情況就變得有點複雜了: 當相機為單目的時候,我們只知道2D的畫素座標,因而問題是根據兩組2

小豆包的學習之旅:里程運動模型

星球大戰裡面有2個非常出色的機器人一個是3PO,一個是R2。我的機器人呢就叫小豆包啦,代號FR2,不許侵犯它的署名哦。   常見的機器人運動模型包括:速度計運動模型,里程計運動模型和慣導運動模型。概率運動模型是對機器人運動的一種概率描述。   里程計是比較常見的一種型別。嚴格來說,里程計是一種感測

Day1[下] - Python基礎 基本語法流程控制

數字 tin 流程 label reference rst too ren ogr 一、變量\字符編碼 Variables are used to store information to be referenced and manipulated in a comput

PL/SQL程序設計流程控制

循環 其它 nbsp bsp lin ever lar if 語句 gin PL/SQL是 Procedure Language & Structured Query Language 的縮寫 PL/SQL是對SQL語言存儲過程語言的擴展 PL/SQL程序由三個塊組

花了三年時間開發的四軸運動控制卡,可以替代mcx314運動控制IC

不能 輸入 內部 pga 位數 數據 光柵 邏輯 兩種 采用pci + FPGA架構,所有的運動控制通過一個FPGA實現,性能達到日本mcx314運動IC的水平,主要性能如下: 主要技術指標跟性能: ● 32位PCI總線,4軸伺服/步進電機控制; ● 40路光耦隔離輸

運維學習之Apache的配置訪問控制虛擬主機和加密訪問https

linuxapache一、安裝Apache服務yum install httpd -ysystemctl start httpd systemctl stop firewalld systemctl enable httpd systemctl disable firewalld 二、apache信息1.ap

Dubbo框架應用之(三)--Zookeeper註冊中心管理控制臺的安裝及解說

root pan rda 查詢 bsp err 封裝 form keep 我是在linux下使用dubbo-2.3.3以上版本號的zookeeper註冊中心客戶端。Zookeeper是Apache Hadoop的子項目,強度相對較好,建議生產環境使用該註冊中

1簡單控制

ota time posit 垂直 log 字符 space date cto 一、物體移動 法1: void Update () { //transform:(轉換)Translate:(平移)Input.GetAxis:(獲得軸輸入)

httpd-2.4實現虛擬主機訪問控制及https功能

httpd-2.4 安全訪問 https 虛擬主機準備工作:在Centos7中安裝httpd,使用yum安裝或自己編譯安裝,建議使用yum安裝,快捷又方便。 關閉防火墻及selinux。提供兩個基於名稱的虛擬主機www1, www2;有單獨的錯誤日誌和訪問日誌;先建立虛擬主機www1a.在

對象的繼承訪問控制

類名 ont extend 權限 成員 以及 style protected 問控制 對象的繼承(擁有部分相同的屬性和方法) 繼承的好處: 1.父類裏面定義的類成員可以不用在子類中重復定義,節約了編程的時間 人是一個父類 男人類 女人類 2.同一個父類的子類擁有相

微軟 WCF的幾種寄宿方式,寄宿IIS寄宿winform寄宿控制寄宿Windows服務

創建 src 體驗 ash pos 如果 理解 文件 .get WCF寄宿方式是一種非常靈活的操作,可以在IIS服務、Windows服務、Winform程序、控制臺程序中進行寄宿,從而實現WCF服務的運行,為調用者方便、高效提供服務調用。本文分別對這幾種方式進行詳細介紹並開

java修飾符訪問控制

修飾符 row ransient ext 說明 prot class nds jni JAVA修飾符類型(public,protected,private,friendly) public的類、類屬變量及方法,包內及包外的任何類均可以訪問;protected的類、類屬變量及

數組運算符流程控制

連接 邏輯 1.3 這一 相對 != 區別 同時 print 1.數組 1.1數組的基本概念及作用 1.數組是相同數據類型元素的集合 數組本身是引用數據類型,即對象。但是數組可以存儲基本數據類型,也可以存儲引用數據類型。 2.數組的舉例: int [] a = ne

關於數組運算符流程控制的總結

開始 字符 操作 break 邏輯運算符 n+1 順序執行 pri tin 數組 概念:相同數據類型元素的集合。 可以存儲基本數據類型,也可以存儲引用數據類型。 寫法: 一、聲明數組並分配內存,同時將其初始化。靜態數組。 int [] a = new int []

httpd服務之虛擬主機訪問控制https配置

服務 httpd 實驗要求:建立httpd服務器,要求提供兩個基於名稱的虛擬主機:(1)www.X.com,頁面文件目錄為/web/vhosts/x;錯誤日誌為/var/log/httpd/x.err,訪問日誌為/var/log/httpd/x.access(2)www.Y.com,頁面文件目錄為/w

配置防盜鏈訪問控制Directory訪問控制FilesMatch

lamp架構配置防盜鏈我的網站遇到最多的是兩類盜鏈,一是圖片盜鏈,二是文件盜鏈。曾經有一個訪問量極大的網站盜鏈我網站的圖片,一天竟然消耗了數G的流量。同時,我站放的不少幾十兆的大型軟件也常遭到文件盜鏈,大量消耗我站資源。1、新增內容[root@centos7 local]# vi /usr/local/apa

linux-RAID磁盤陣列進程管理日誌管理systemctl控制

達內/linux/計算機/雲維/雲計算/紅帽/RAID磁盤陣列 廉價冗余磁盤陣列RAID– Redundant Arrays of Inexpensive Disks– 通過硬件/軟件技術,將多個較小/低速的磁盤整合成一個大磁盤– 陣列的價值:提升I/O效率、硬件級別的數據冗余– 不同RAID級別的功能、特性

RAID磁盤陣列 進程管理 日誌管理 systemctl控制

riad 進程管理 日誌管理? RAID磁盤陣列? 廉價冗余磁盤陣列– Redundant Arrays of Inexpensive Disks– 通過硬件/軟件技術,將多個較小/低速的磁盤整合成一個大磁盤– 陣列的價值:提升I/O效率、硬件級別的數據冗余– 不同RAID級別的功能、特性各不相同? RAID