VJC案例 計算走過的距離

2021-10-01 03:08:09 字數 1221 閱讀 1417

計算走過的距離

專案內容:計算機械人走過的距離。

相關模組:直行、轉向、轉角檢測、顯示。

程式設計

在本例中,我們讓機械人先走一段直線,接著走一段弧線,然後再走一段直線。最後,呼叫兩個轉角檢測模組,分別檢測左輪和右輪的轉角,並顯示出來,例程如圖所示。

引數設定

「轉角檢測」模組:開啟「轉角檢測」模組的對話方塊,如圖

在下圖對話方塊中選擇「左輪、編碼器檢測」,就會彈出如下對話方塊:

在其中選擇「轉角變數一」,確定。

用同樣的方法,將第二個「轉角檢測」模組的引數設定為「右輪、編碼器檢測、轉角變數二」。

「顯示」模組:選擇「引用變數」,在兩行中分別顯示「轉角變數一」和「轉角變數二」。

**執行

**執行時,顯示軌跡,可以看到機械人走過一條曲線,最後在右上角的顯示屏上顯示出左右輪的轉角數。

機械人的輪子轉一圈,機械人的光電編碼器接收到33個脈衝,轉角計數為33。真實的能力風暴機械人輪子的直徑d=64mm。您可以根據檢測到的左右輪平均轉角數,用如下公式計算出機械人走過的平均距離:

您還可以在以上例程中新增一段程式,計算機械人走過的距離,並將計算結果顯示出來。不過,用上述公式計算出的結果適用於真實的機械人,與**介面上的標尺不一定吻合。

小知識:光電編碼器

光電編碼器是靠發射與接收紅外光來工作的,由碼盤和光電編碼模組組成。碼盤安裝在機械人的輪子上,隨輪子一起轉動。光電編碼模組則裝在輪子的支架上。碼盤上共有66個輻條,黑白相間。光電編碼模組同時具有發射與接收紅外線的功能,參見下圖

無訊號返回 有訊號返回

從圖中可以看出:紅外線照射在黑色輻條上時沒有反射訊號,因為紅外光大部分已經被黑色輻條吸收;當紅外線照射在白色輻條上時有反射訊號,因為紅外光在白色輻條上反射強烈。於是,當機械人運動時,光電編碼器就能接收到脈衝訊號。輪子每轉一圈,共產生33個脈衝。光電編碼器有計數功能,能累加接收到的脈衝數。

通過日期計算距離當前時間的距離

格式1 通過 2014 12 11 22 22 22 獲得 今天22 22 昨天22 22 2天前 1個月前 3年前 nsstring datestr 2015 01 15 22 22 22 nsdateformatter dateformat nsdateformatter alloc init ...

壞賬的計算案例

東方公司對應收賬款的減值處理採用備抵法,年末按5 計提壞賬準備.2010年12月初,公司 應收賬款 餘額為600000元,壞賬準備 貸方餘額為30000元.10日,乙公司確定無法償還欠款,報經批准,確認壞賬損失35000元,15日,收回上年已計提丙公司的壞賬準備應收款項20000元.20日,賒銷貨物...

多維曼哈頓距離的計算

這篇寫的不錯 給出五維空間n個點的座標,求其中兩點的最大曼哈頓距離。我們可以定義曼哈頓距離的正式意義為l1 距離或城市區塊距離,也就是在歐幾里得空間的固定直角座標系上兩點所形成的線段對軸產生的投影的距離總和。例如在平面上,座標 x1,y1 的點 p1 與座標 x2,y2 的點 p2的曼哈頓距離為 x...