機器人學導論實驗1—CoppeliaSim 平臺介紹及初步使用BJTU

1. 實驗內容分析

對實驗內容的理解及關鍵點:

理解這個實驗的關鍵點在于理解如何使用CoppeliaSimMATLAB來控制和操作機器人。需要熟悉這兩個工具的基本操作,例如如何加載場景、如何修改機器人參數、如何使用MATLAB客戶端程序來控制機器人等。此外,還需要理解機器人的基本運動原理,例如,改變車輪的速度會如何影響機器人的運動。這些知識和技能將對我們在機器人技術領域的進一步學習和研究有很大的幫助。

任務一及任務二的實驗思路:

任務一:加載場景、修改機器人參數

  1. 首先,需要加載預設的場景文件。這可以通過菜單欄的File–> Open Scene…選項來完成,或者直接雙擊場景文件。
  2. 加載場景后,需要點擊開始按鈕(場景視圖上方的播放按鈕)來啟動場景。
  3. 接下來,需要展開場景層次中的機器人模型,雙擊Bob_leftMotor的圖標來打開joint property對話框。
  4. 在joint property對話框中,點擊Show dynamic parameters來打開動力學參數對話框。
  5. 在動力學參數對話框中,更改選定電機的Target velocity(目標速度)。將其設置為90度/秒,這樣機器人就會開始移動。
  6. 最后,對機器人的另一個電機Bob_rightMotor執行同樣的操作,然后按下停止按鈕。

任務二:利用MATLAB客戶端程序實現對機器人的控制

  1. 首先,需要啟動CoppeliaSim并加載場景文件。
  2. 然后,需要啟動MATLAB,打開測試程序(test.m),并設置斷點,按F10單步執行程序,觀察每一步執行后場景的變化。
  3. 在程序的循環部分,添加代碼向機器人發送不同的命令。可以添加一行代碼bob_setWheelSpeeds(connection , 10, 10)將左右車輪速度設置為10 rad/s。
  4. 如果程序運行沒有報錯,并且CoppeliaSim成功執行仿真,那么這個實驗就完成了。

2. 實驗過程分析

  1. 機器人的運動:通過觀察機器人在模擬過程中的運動,我們可以了解到機器人的運動狀態,包括速度、方向等。如果機器人能夠按照預期的路徑和速度進行運動,那么說明我們對機器人的控制是成功的。
  2. 地圖和路徑的變化:通過觀察地圖和路徑的變化,我們可以了解到機器人對環境的認知。如果地圖和路徑能夠準確地反映出環境的實際情況,那么說明我們的環境感知和地圖構建是成功的。
  3. 機器人的參數的變化:通過觀察機器人的參數的變化,我們可以了解到機器人的內部狀態。例如,我們可以通過觀察輪速、編碼器值、位置和方向的變化,來了解機器人的運動狀態和位置狀態。
  4. 全局地圖的顯示:全局地圖顯示了機器人的當前環境,包括地圖段和路徑段。如果全局地圖能夠準確地反映出環境的實際情況,那么說明我們的環境感知和地圖構建是成功的。
  5. 目標位置的顯示:目標位置顯示了機器人的預期位置和方向。如果機器人能夠按照預期的路徑和速度進行運動,那么說明我們對機器人的控制是成功的。

3. 實驗結果分析

3.1 加載場景、修改機器人參數

加載場景文件

修改Bob_leftMotor電機參數

修改Bob_ right Motor電機參數

3.2 利用 MATLAB 客戶端程序實現對機器人的控制

設置斷點,按F10單步執行程序,觀察每一步執行后場景的變化。

可以看到目標位置在每一步模擬中的顯示。目標位置顯示了機器人的預期位置和方向

在循環中添加一行代碼,將左右車輪速度設置為10 rad/s

全局地圖

運行截圖

實驗結果分析:

? ? ?通過觀察機器人的參數的變化,我了解到機器人的內部狀態。通過觀察輪速、編碼器值、位置和方向的變化,了解到了機器人的運動狀態和位置狀態。

4. 遇到的問題和心得

遇到的問題

  1. 在修改機器人參數,更改電機速度的時候不能夠點擊對話框按鈕,最后發現是因為程序正在執行中不能夠修改參數,關閉程序后,重新點擊對話框按鈕就可以設置參數了。
  2. 不理解test.m中的代碼作用,通過單步執行,可以實時觀察到地圖場景以及機器人運行路線,方向。對代碼有了更加清晰的認識和理解。

實驗心得

????????通過這個實驗我理解了機器人運動的基本原理:通過控制機器人的輪速,我可以觀察到改變輪速會如何影響機器人的運動,從而理解機器人運動的基本原理。

????????熟悉了機器人模擬器的操作:通過加載場景、修改機器人參數、添加地圖和路徑段等操作。掌握了MATLAB和CoppeliaSim的使用:通過編寫和執行MATLAB代碼來控制CoppeliaSim中的機器人,掌握了如何使用MATLAB和CoppeliaSim來進行機器人仿真。

????????我不僅學會了這些操作和機器人運動背后的原理也提高了問題的解決能力:在實驗過程中,可能會遇到各種問題,如代碼錯誤、模擬器崩潰等,都會一直鍛煉著我的能力,讓我直面困難,勇于實踐。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/11592.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/11592.shtml
英文地址,請注明出處:http://en.pswp.cn/web/11592.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Docker 部署 Prometheus 實現一個極簡的 QPS 監控

背景 : Prometheus 是近年來最流行的開源監控框架, 其功能強大且易于使用, 擁有各種主流后端語言(Java/Go/Python/Node.js等)與各種場景(如web handler/ k8s/Nginx/MySQL等)的客戶端, 并自帶圖形化顯示頁面。分享一個快速入門Prometheus 的教程, 實現一個極簡的, 后端開發需要特…

Nginx-基礎-基礎配置-Location

Location 參數匹配模式 參數匹配方式匹配模式說明注意事項精準匹配普通字符串匹配用于標準uri前,要求請求字符串與uri精準匹配,成功則立即處理,nginx停止搜索其他匹配。~正則匹配正則表達式匹配用于正則uri,表示uri包含正則表達…

使用 Docker 輕松部署 Spring Boot 應用

當今軟件開發領域,Docker 和 Spring Boot 的組合已成為開發和部署應用程序的黃金標準。在這篇博客中,我們將詳細探討如何將 Spring Boot 應用容器化并使用 Docker 進行部署,確保你的部署過程既高效又可靠。 引言 Docker 提供了一個標準化的…

基于SSM的理發店會員管理系統的設計和實現(有報告)。Javaee項目。ssm項目。

演示視頻: 基于SSM的理發店會員管理系統的設計和實現(有報告)。Javaee項目。ssm項目。 項目介紹: 采用M(model)V(view)C(controller)三層體系結構&#xff0…

Docker安裝達夢數據庫

1.確保已安裝Docker 可參考:Linux安裝Docker-CSDN博客 2.上傳dm鏡像并導入安裝包 可以從:產品下載 | 達夢數據庫下載dm鏡像,如下圖: docker load -i dm8_20230808.tar 3.導入后查看鏡像 docker images 4.啟動容器 docker run …

圖的概念、性質和存儲與簡單遍歷

前置知識:樹的基本概念及性質 為了保證學習效果,請保證已經掌握前置知識之后,再來學習本章節!如果在閱讀中遇到困難,也可以回到前面章節查閱。 學習目標 掌握圖的基本概念掌握圖的一些性質 圖的概念 基本概念 圖 (…

Pytorch如何計算網絡參數

方法一. 利用pytorch自身 PyTorch是一個流行的深度學習框架,它允許研究人員和開發者快速構建和訓練神經網絡。計算一個PyTorch網絡的參數量通常涉及兩個步驟:確定網絡中每個層的參數數量,并將它們加起來得到總數。 以下是在PyTorch中計算網…

如何在 CloudFlare 里屏蔽/攔截某個 IP 或者 IP 地址段

最近除了接的 CloudFlare 代配置訂單基本很少折騰自己的 CloudFlare 配置了,今天給大家簡單的講解一下如何在 CloudFlare 里屏蔽/攔截 IP 地址和 IP 地址段,雖然明月一直都很反感針對 IP 的屏蔽攔截,但不得不說有時候還是很有必要的。并且,既然可以攔截屏蔽 IP 自然也可以但…

鴻蒙內核源碼分析(VFS篇) | 文件系統和諧共處的基礎

基本概念 | 官方定義 VFS(Virtual File System)是文件系統的虛擬層,它不是一個實際的文件系統,而是一個異構文件系統之上的軟件粘合層,為用戶提供統一的類Unix文件操作接口。由于不同類型的文件系統接口不統一&#x…

Flink HA模式下JobManager切換時發送告警

資源&版本信息 Flink版本1.14.6 運行平臺:K8s HA使用ZK(使用K8s的ETC應該是一個道理) 詳解Flink HA原理 Flink啟動時會創建HighAvailabilityServices提供HA和相關基礎服務,其中包括leaderRetrievalService和LeaderElecti…

搜索引擎的設計與實現(二)

目錄 3 搜索引擎的基本原理 3.1搜索引擎的基本組成及其功能 l.搜索器 (Crawler) 2.索引器(Indexer) 3.檢索器(Searcher) 4.用戶接口(UserInterface) 3.2搜索引擎的詳細工作流程 4 系統分析與設計 4.1系統分析 4.2系統概要設計 4.2系統實現目標 前面內容請移步 搜索引…

Rust 語言不支持 goto 語句

一、Rust 不提供 goto 語句 Rust 語言并沒有提供 goto 語句。goto 語句在很多現代編程語言中已經不再被推薦使用,因為它可能導致代碼的流程變得難以跟蹤和理解,特別是在復雜的程序中。Rust 語言設計者選擇了更加結構化和可預測的控制流語句,…

關于C++多態的復習總結

多態 簡介: 面向對象的三大特性之一,多態顧名思義即具有多種形態,即去執行某個行為時,當不同的對象去執行時會產生不同的狀態 構成多態的條件 條件一 必須通過基類(父類)的指針或者引用調用虛函數(函數…

寧夏銀川市起名專家的老師顏廷利:死神(死亡)并不可怕,可怕的是...

在中國優秀傳統文化之中,漢語‘巳’字與‘四’同音,在阿拉伯數字里面,通常用‘4’來表示; 湖南長沙、四川成都、重慶、寧夏銀川最靠譜最厲害的起名大師的老師顏廷利教授指出,作為漢語‘九’字,倘若是換一個…

FreeRTOS中斷管理

FreeRTOS中斷管理 基于STM32_stm32 freertos 按鍵中斷-CSDN博客 更加詳情請看以上鏈接↑ 中斷優先級 任何中斷的優先級都大于任務! 在我們的操作系統,中斷同樣是具有優先級的,并且我們也可以設置它的優先級,但是他的優先 級并不是從 0~15 ,默認情況下它是從 5~15 ,…

[ACTF新生賽2020]SoulLike

沒見過的錯誤: ida /ctg目錄下的hexrays.cfg文件中的MAX_FUNCSIZE64 改為 MAX_FUNCSIZE1024 然后就是一堆數據 反正就是12個字符 from pwn import * flag"actf{" k0 for n in range(12):for i in range(33,127):pprocess("./SoulLike")_flag…

94.二叉樹的中序遍歷

刷算法題: 第一遍:1.看5分鐘,沒思路看題解 2.通過題解改進自己的解法,并且要寫每行的注釋以及自己的思路。 3.思考自己做到了題解的哪一步,下次怎么才能做對(總結方法) 4.整理到自己的自媒體平臺。 5.再刷重復的類…

Python爬蟲入門:網絡世界的寶藏獵人

今天阿佑將帶你踏上Python的肩膀,成為一名網絡世界的寶藏獵人! 文章目錄 1. 引言1.1 簡述Python在爬蟲領域的地位1.2 闡明學習網絡基礎對爬蟲的重要性 2. 背景介紹2.1 Python語言的流行與適用場景2.2 網絡通信基礎概念及其在數據抓取中的角色 3. Python基…

今日總結2024/5/13

今日學習了01背包求具體方案的方法 Acwing.12 背包問題求具體方案 由于背包是從小到大枚舉物品,只能從后往前判斷是從哪個狀態遞推過來的,而該題要求按字典序順序輸出字典序最小的最優方案 因此要將物品從大到小枚舉,判斷時從小到大判斷是…

在Windows上有哪些好用的網絡抓包工具?

2024年5月12日,周日上午 在Windows上,有多種好用的網絡抓包工具,以下是一些常見的選項: Wireshark: Wireshark 是一款功能強大的網絡協議分析工具,它可以捕獲并分析計算機網絡上的數據包。它支持廣泛的協議…