跳轉到內容

機器人/設計基礎/設計軟體

來自華夏公益教科書,開放的書籍,為開放的世界

機器人學:設計基礎:設計軟體


在設計你的機器人時,有很多程式可以幫助你。從一個簡單的工具來列印輪式編碼器,到CAD繪圖程式,再到機械模擬程式。

例如AutoCAD。這種型別的軟體用於將粗略的草圖轉換成專業的漂亮圖紙。這種型別的圖紙是標準化的,以便於閱讀。(也就是說,每種型別的線條都有特定的含義。實線是可見的邊,虛線是隱藏的邊,點劃線是中心線。標準還包括尺寸標註方法和圖紙中呈現的檢視型別。)當然,你可以自由地使用自己的標準,但是使用行業標準,例如ANSI或ISO,可以更容易地與世界各地的其他人分享你的計劃。雖然使用2D軟體進行繪圖可能稍微繁瑣一些,但結果通常比使用3D實體建模軟體更好。實體建模器仍然存在將3D模型轉換為2D圖紙並根據標準新增適當符號的問題。

實體建模

[編輯 | 編輯原始碼]

首先

例如SolidWorks 或 Pro/Engineer Pro/Engineer (維基百科:Pro/ENGINEER)。一種新的繪製零件和機器的方式。使用實體建模,你可以用3D“構建”零件,將它們組合成一個裝配體,然後讓軟體生成2D圖紙(聽起來比實際操作更難)。與2D CAD程式相比,其主要優勢在於,你可以看到完整的零件/機器,而無需在現實生活中實際構建它。在模型中,錯誤很容易被發現和改正。這些3D模型還沒有完全標準化,儘管存在數字資料的標準。目前,這種軟體生成的2D圖紙並不完全符合工業標準。2D紙質圖紙仍然是工業界首選的溝通工具,清晰的意圖非常重要。實體建模軟體往往會生成過於複雜的繪圖檢視,並採用過於簡化的尺寸標註方法,這些方法可能無法正確傳達零件或裝配體的配合、形狀或功能。

氣動和液壓模擬

[編輯 | 編輯原始碼]

費斯托 有氣動和液壓模擬程式的演示版本。查詢FluidSIM Pneumatiek 和 FluidSIM Hydraulica。(選擇國家;點選工業自動化;使用右側的搜尋欄。)
限制:無法儲存或列印。大部分教學資料沒有包含在內。

IRAI 提供電動/氣動和液壓模擬軟體的免費演示版本:AUTOMGEN/AUTOMSIM。前往下載/AUTOMGEN7。

原理圖繪製和PCB

[編輯 | 編輯原始碼]

用於繪製電子原理圖和設計印刷電路板(PCB)的軟體。這些軟體包包含用於繪製原理圖的軟體,帶有符號的庫,以及用於繪製PCB(帶有自動佈線器)的軟體。

按任意順序

  • 免費軟體:Eagle 通常被初學者用於他們的專案,因為有一個有限的免費版本可用。工具集很好地整合,並且擁有龐大的業餘愛好者使用者群。但是,一旦你超過了基本設計,你需要為完整版本付費。
  • 開源:開源的 gEDA 專案 開發了一套成熟的電子設計應用程式,包括:原理圖繪製程式、屬性管理器、支援超過20種網表格式的網表生成器、模擬和數字模擬、帶有自動佈線器的PCB佈局,以及Gerber檢視器。該專案於1997年啟動,旨在編寫對個人機器人專案有用的EDA工具,但截至目前,這些工具也被業餘愛好者、學生、教育工作者和專業人士用於許多不同的設計任務。該套件在Linux和OSX上執行效果最佳,儘管某些應用程式的Windows版本已經發布。
  • 開源:Free PCB 是一款成熟的Windows專用開源PCB繪圖工具。

微控制器

[編輯 | 編輯原始碼]

程式語言

[編輯 | 編輯原始碼]

微控制器有很多不同的程式語言可用

  • 彙編:每個微控制器都可以用匯編語言程式設計。但是,微控制器之間的差異可能很大。組合語言為微控制器提供了最大的功能,但這種功能是有代價的:難以學習,而且幾乎沒有程式碼重用。
    彙編程式碼本質上是翻譯後的機器程式碼。它只提供處理器的指令集:加法、減法、可能乘法、在暫存器和/或記憶體之間移動資料、條件跳轉。沒有迴圈、複雜的判斷或內建的I/O,如C/C++、Basic、Pascal等。
    缺點是你必須自己實現所有功能(即使是最簡單的程式,也是大量的程式碼)。
    優點是你必須自己實現所有功能(程式可以在速度和尺寸上都實現極高的效率)。
    這種語言面向高階使用者,通常僅用作對緊湊迴圈中的程式碼的最佳化,或者用於將效能有限的裝置的效能發揮到極致。

    學習它的理由
    • 教你如何在最低層瞭解計算機的工作原理。
    • 提供高速程式碼,佔用少量記憶體。

      避免它的理由
    • 用途有限。
    • 不可移植。
    • 非常難以掌握。
      免費軟體:AVR
  • C:C語言提供了強大的功能,但比組合語言更具可移植性。對於大多數微控制器,都有C編譯器可用。在這裡,微控制器之間的差異較小,除了使用硬體之外。
    學習C比學習彙編容易得多,但C並不是一種從頭開始就容易學習的語言。然而,如今已經出版了很多關於這方面的優秀書籍。
  • Basic:對於許多微控制器,都有特殊的Basic版本可用。這是對微控制器進行編碼最簡單、最快捷的方式,但你需要犧牲一些功能。不過,現代Basic編譯器可以生成非常出色的程式碼。
    • 有限的免費軟體/付費軟體:Bascom AVR 非常好的用於AVR的Basic編譯器。限制為4Kb程式。還有一個版本可用於8051微控制器。
    • 有限的免費軟體/付費軟體:XCSB PIC Basic編譯器。精簡版。不支援32位整數和浮點數。(OS/2 WARP、Win95、Win98、Win2K、XP和Linux)
  • Forth
    • PFAVR(GPL)需要外部RAM。
    • ByteForth 是用荷蘭語編寫的,並且無需外部 RAM 即可執行。 還有一個用於 Ushi 機器人專案的構建手冊(目前僅提供荷蘭語版本)。

進一步閱讀

程式設計師

[編輯 | 編輯原始碼]

編寫完程式後,需要將其載入到微控制器中。 如果你使用 C 或 Basic,則需要編譯它。 然後使用程式設計器將程式碼上傳到微控制器。 最後一步有幾種不同的方法。

  • 外部程式設計器:這是一種連線到 PC 的裝置。 你需要將微控制器 IC、EEPROM 或其他記憶體 IC 插入其插座,然後讓 PC 上傳程式碼。 之後,將 IC 插入電路並進行測試。 當除錯後更新程式時,可能會很費時間。
  • ISP(系統內程式設計):帶有微控制器的板具有一個特殊的聯結器,用於連線到 PC。 連線電纜,下載程式碼,測試並重復。 更加現代的方法。 唯一的缺點:它會佔用一些板空間。 並非所有微控制器都支援這種方法。
  • 引導載入程式,也稱為“自程式設計”:CPU 透過任何可用的 PC 連線(無需特殊的聯結器)接收新程式,然後對自己進行程式設計。 並非所有微控制器都支援這種方法。 並且你還需要其他一些程式設計方法,才能將初始引導載入程式程式設計進去(告訴它要監視哪個聯結器以獲取新程式、波特率等)。

偵錯程式

[編輯 | 編輯原始碼]

現代微控制器具有片上除錯硬體,稱為 w:JTAG

各種工具

[編輯 | 編輯原始碼]

有關

  • 運動小程式 - 用於機器人運動的差速轉向系統的路徑建模。
  • 編碼器設計器 - 用於編碼器輪圖案的設計工具。(維基百科:旋轉編碼器
  • RP1 - 一個移動機器人模擬器。
  • 地圖檢視器 - 用於移動機器人的地圖工具。

以及用於機器人演算法快速原型的“實驗機器人框架”。[1]

進一步閱讀

[編輯 | 編輯原始碼]
  • CAD & Linux 列出了許多在 Linux 下執行的 CAD 工具,其中一些是 GPL 許可的。
  • Linux 線上:CAD/CAM 列出了許多在 Linux 下執行的 CAD 工具,其中一些是 GPL 許可的。
  • 實用電子/PCB 佈局 提供了有關使用 PCB 設計軟體的更多資訊。
  • Urbiforge 提供了 Urbi 的免費下載連結以及有關如何使用 Urbiscript 的教程。 Urbi 是 AGPL 許可的。
華夏公益教科書