資料介紹
描述
想像 Simone Giertz一樣酷,但不知道從哪里開始?
InterbotiX Arm Link 軟件為兼容 Arduino 的機(jī)械臂提供了一個簡單的界面。使用該軟件,您可以通過多種運動模式控制機(jī)械臂,包括笛卡爾 IK 模式、圓柱 IK 模式和反鏟/關(guān)節(jié)模式。
除了直接控制您的機(jī)械臂外,Arm Link 軟件還可以激活數(shù)字輸出、讀取模擬輸入、播放運動序列和顯示網(wǎng)絡(luò)攝像頭饋送。
該軟件作為這些機(jī)械臂的簡單控制解決方案提供,同時也是希望將機(jī)械臂集成到自己的應(yīng)用程序和系統(tǒng)中的個人的示例。InterbotiX Arm Link 是一個在處理環(huán)境中用 Java 編寫的開源程序。Arm Link 軟件目前兼容:
在本教程中,我們將介紹帶有 Arm Link 軟件的RobotGeek Snapper Arm的設(shè)置和使用。如果您想設(shè)置其中一個 InterbotiX 手臂,您可以按照本指南進(jìn)行操作,該指南將為您設(shè)置適合您的機(jī)器人手臂的固件。
第 1 步:設(shè)置您的機(jī)械臂硬件

RobotGeek Snapper 機(jī)器人手臂套件隨附本教程所需的所有機(jī)器人硬件 - 您只需要一臺 Windows、Mac 或 Linux 計算機(jī)。
這個項目也可以使用RobotGeek Snapper Core Arm Kit來完成,假設(shè)您有自己的微控制器、電源和接線。
按照入門指南和組裝指南構(gòu)建您的機(jī)器人手臂。
第 2 步:固件安裝
Arm Link 庫和固件會隨RobotGeek 工具和庫文件自動安裝,無需單獨安裝。如果您希望手動安裝文件,請下載并解壓縮InterbotiX Arm Link Library & Firmware 文件。打開文件夾ArmLinkLibrary-master 并將文件夾復(fù)制ArmLink 到您的 Arduino Library 文件夾中。
從 Arduino IDE打開固件。ArmLinkSerial
File -> Examples -> Arm Link -> SnapperArmLinkSerial
在將代碼加載到機(jī)器人手臂之前,您需要調(diào)整代碼以匹配您的夾具類型。在 Arduino IDE 中,單擊GlobalArm.h 第 16 行附近的選項卡,您應(yīng)該會看到以下代碼塊
//#define GRIPPER_TYPE ROBOT_GEEK_9G_GRIPPER
//#define GRIPPER_TYPE ROBOT_GEEK_PARALLEL_GRIPPER
如果您使用的是 RobotGeek Parallel Gripper,請取消注釋第二行。您的代碼應(yīng)如下所示
//#define GRIPPER_TYPE ROBOT_GEEK_9G_GRIPPER
#define GRIPPER_TYPE ROBOT_GEEK_PARALLEL_GRIPPER
如果您使用的是 RobotGeek 9G Gripper,請取消注釋第一行。您的代碼應(yīng)如下所示
#define GRIPPER_TYPE ROBOT_GEEK_9G_GRIPPER
//#define GRIPPER_TYPE ROBOT_GEEK_PARALLEL_GRIPPER
現(xiàn)在已經(jīng)定義了夾具類型,代碼將負(fù)責(zé)正確處理您的夾具類型。如果您在查找這些行時遇到問題,請單擊Compile Arduino IDE 中的按鈕,它將在您需要更改的行附近顯示錯誤。
現(xiàn)在您可以將固件加載到 Geekduino 上。完成后,將 USB 電纜插入計算機(jī),因為這是軟件與 Arm 通信的方式。
第 3 步:Arm Link 軟件安裝
Arm Link 軟件是用 Java 編寫的。我們建議您為您的操作系統(tǒng)下載帶有嵌入式 java 的版本(有關(guān)更多信息,請參閱下載頁面)。該軟件與 Windows XP、Vista 和 7、Mac OS 10.5+ 和 Linux 兼容。
Mac 用戶請參閱此處的“Mac 用戶注意事項”,然后再閱讀本指南的其余部分。
如果您在運行 Arm Link 軟件時遇到任何問題,我們建議您在處理環(huán)境中運行該軟件。這個過程相對簡單,并為您提供了額外的選擇。
第 4 步:使用 Arm Link 軟件

使用自動連接按鈕,或選擇一個串行端口并使用連接按鈕。手臂將從“睡眠”位置移動到“家”位置。這可能需要幾秒鐘。一旦手臂移動到其原始位置并準(zhǔn)備好接受命令,就會出現(xiàn)各種面板。您可以調(diào)整滑塊或文本面板來調(diào)整手臂的位置。使用更新按鈕將這些值發(fā)送到手臂。
您可以使用“自動更新”復(fù)選框自動向機(jī)械臂發(fā)送命令。因為每個姿勢都需要在發(fā)送下一個姿勢之前完成,所以用戶可能希望降低Delta值以使手臂更具響應(yīng)性。

使用說明
缺少串行端口
在打開程序之前插入您的 FTDI-USB 電纜。Arm Link軟件目前在連接后不會刷新串口列表,所以程序啟動時串口必須是可用的。如果 Arm Link 中的串行端口不可用,請關(guān)閉并重新打開應(yīng)用程序。插入/拔出
使用網(wǎng)絡(luò)攝像頭
網(wǎng)絡(luò)攝像頭支持目前處于試驗階段。我們建議將帶有 250 毫米鵝頸管的 RobotGeek VGA 網(wǎng)絡(luò)攝像頭與Arm Link 軟件一起使用。其他網(wǎng)絡(luò)攝像頭應(yīng)該可以正常工作,但尚未經(jīng)過測試。該程序?qū)L試連接到可用的第一個網(wǎng)絡(luò)攝像頭。如果您遇到問題,請嘗試將相機(jī)直接插入您的計算機(jī)(而不是通過集線器或擴(kuò)展器)。
序列面板
通過模式面板或手腕面板更改模式或手腕方向將刪除序列面板中的所有當(dāng)前姿勢。該軟件目前不支持混合模式播放。
數(shù)據(jù)包數(shù)據(jù)
如果您想查看您發(fā)送的數(shù)據(jù)包,請參見此處
模擬反饋和自動更新
我們不建議同時使用“自動更新”和“模擬輸入”。模擬反饋功能與其他控件的工作方式略有不同。所有其他控件都向機(jī)械臂發(fā)出命令,但模擬反饋功能需要數(shù)據(jù)。為了獲得一段模擬數(shù)據(jù),程序必須發(fā)送一個命令包,請求特定端口的當(dāng)前模擬值。啟用后,模擬反饋將每 33ms 請求一條新數(shù)據(jù)。開啟自動更新后,每 33ms 也會發(fā)送一個命令包。當(dāng)這兩者同時工作時,手臂的響應(yīng)速度可能比正常情況下要慢。
第 5 步:播放序列
設(shè)置好固件和軟件后,在 Arm Link 軟件中連接到機(jī)械臂。單擊序列面板中的“新姿勢”按鈕以創(chuàng)建新姿勢。新姿勢將由姿勢面板按鈕右側(cè)的編號面板指示。這個新創(chuàng)建的姿勢將包含控制面板當(dāng)前顯示的坐標(biāo),即默認(rèn)姿勢。
現(xiàn)在使用控制面板選擇手臂移動到的新位置。單擊“更新”以確保手臂已移動到您想要的位置。隨意將手臂稍微調(diào)整到正確的位置。一旦您對手臂的位置感到滿意,再次單擊“新姿勢”按鈕,您將看到創(chuàng)建的另一個姿勢。此姿勢將包含控制面板當(dāng)前顯示的坐標(biāo)。
重復(fù)這個定位手臂并做出新姿勢的過程,直到您擁有所需數(shù)量的姿勢。單擊“播放姿勢”按鈕以查看所有動作中的姿勢。按“停止姿勢”停止播放。播放將始終從所選姿勢開始,除非未選擇任何姿勢,否則將從姿勢 0 開始播放。
如果您需要調(diào)整姿勢,請先單擊單個姿勢以將其選中。該姿勢應(yīng)擴(kuò)展為大于其他姿勢以顯示它已被選中。現(xiàn)在單擊“加載姿勢”將姿勢加載到控制面板中。您需要單擊“更新”以將手臂物理移動到該姿勢的位置。您現(xiàn)在可以對控制面板進(jìn)行任何調(diào)整以調(diào)整姿勢。對姿勢感到滿意后,單擊“保存姿勢”將姿勢數(shù)據(jù)保存回所選姿勢。
您可以加載姿勢,然后創(chuàng)建新姿勢以復(fù)制特定姿勢。您還可以拖放姿勢以重新排序。姿勢將保持其顏色,但會丟失其特定編號。
您可以調(diào)整兩個時間變量。第一個是 Delta 值(完成姿勢所需的時間)。每次運動的增量值都是唯一的。較小的 delta 值將產(chǎn)生較快的運動,較大的 delta 將產(chǎn)生較慢的運動。
第二個變量是暫停值。該值決定了手臂在姿勢完成后開始下一個姿勢之前等待的時間。此姿勢可以設(shè)置為 0,或任何任意值。只需輸入以毫秒為單位的時間值,每個姿勢都會等待該時間段。在 Arm Link 軟件中,此值對所有姿勢都是全局的,但可以在導(dǎo)出序列后按每個姿勢更改它。
一旦您對您的順序和時間感到滿意,請按“保存到文件”。這將打開一個窗口對話框并要求您選擇一個文件夾來放置導(dǎo)出的armSequence.h 文件。暫時將文件放在桌面上。
第 6 步:將序列加載到獨立固件中
在Snapper Arm 入門指南中,您應(yīng)該已經(jīng)下載了Snapper Arm 演示代碼并將其添加到您的 RobotGeek 草圖文件夾中。該文件包含SnapperArmPlayback 代碼。在 IDE 中打開草圖之前,您需要將armSequence.h 文件復(fù)制到SnapperArmPlayback 文件夾中。假設(shè)您的Arduino 文件夾在您的Documents 文件夾中,您可以在SnapperArmPlayback 此處找到:
Documents -> Arduino -> RobotGeek sketches -> SnapperArm -> SnapperArmPlayback
在此文件夾中,您將找到多個文件,包括armSequence.h . 該文件的默認(rèn)副本按順序移動手臂上的每個軸。您可以將此文件保存在另一個文件夾中以供以后使用,也可以將其刪除。現(xiàn)在將armSequence.h 保存到桌面的文件復(fù)制到文件SnapperArmPlayback 夾中。
現(xiàn)在您可以將SnapperArmPlayback 草圖打開到您的 Arduino IDE 中。在 Arduino IDE 中,您可以在以下位置找到草圖:
File -> Sketchbook -> RobotGeek sketches -> Snapper Arm -> SnapperArmPlayback
在將代碼加載到機(jī)器人手臂之前,您需要調(diào)整代碼以匹配您的夾具類型。在 Arduino IDE 中,單擊GlobalArm.h 第 16 行附近的選項卡,您應(yīng)該會看到以下代碼塊:
//#define GRIPPER_TYPE ROBOT_GEEK_9G_GRIPPER
//#define GRIPPER_TYPE ROBOT_GEEK_PARALLEL_GRIPPER
如果您使用的是 RobotGeek Parallel Gripper,請取消注釋第二行。您的代碼應(yīng)如下所示:
//#define GRIPPER_TYPE ROBOT_GEEK_9G_GRIPPER
#define GRIPPER_TYPE ROBOT_GEEK_PARALLEL_GRIPPER
如果您使用的是 RobotGeek 9G Gripper,請取消注釋第一行。您的代碼應(yīng)如下所示:
#define GRIPPER_TYPE ROBOT_GEEK_9G_GRIPPER
//#define GRIPPER_TYPE ROBOT_GEEK_PARALLEL_GRIPPER
現(xiàn)在已經(jīng)定義了夾具類型,代碼將負(fù)責(zé)正確處理您的夾具類型。如果您在查找這些行時遇到問題,請單擊Compile Arduino IDE 中的按鈕,它將在您需要更改的行附近顯示錯誤。
現(xiàn)在您可以將草圖加載到您的 Geekduino 上。在等待序列開始時,手臂應(yīng)該回到其原始位置。您可以通過按下連接到手臂的按鈕來激活序列,或者打開串行監(jiān)視器(38400 波特)并發(fā)送1 .
您的手臂現(xiàn)在將播放您設(shè)計的序列。手臂將播放一次序列,然后在最后一個姿勢上停止。操作應(yīng)與 Arm Link 軟件中的操作相同。您可以通過按下按鈕/再次輸入串行命令來重新開始姿勢。
如果您再次按下按鈕,手臂將在完成當(dāng)前姿勢后停止。如果您通過串行終端發(fā)送“1”,則手臂將完成其整個序列,然后停止。
第7步:你完成了!現(xiàn)在怎么辦?
現(xiàn)在您已經(jīng)設(shè)置好手臂,熟悉 Arm Link 的工作方式,并且可以記錄和回放姿勢,您能做什么?
我們有一只手臂:
- 甚至開著一個六足動物。
我們很想看到你的機(jī)械臂做一些瘋狂的事情!
第 8 步:高級用法
最小代碼
該文件夾SnapperArmPlaybackMinimal 包含一個草圖,其中包含一次播放手臂序列的最少代碼量。如果您希望將 arm 播放代碼集成到現(xiàn)有項目/代碼中,此代碼可能會為您提供幫助。如果你想將自己的序列添加到這個文件中,將循環(huán)輸入的內(nèi)容添加do 到armSequence.h 循環(huán)setup 輸入中SnapperArmPlaybackMinimal.ino
IKSequencingControl() 概述
該armSequence.h 文件通過多次調(diào)用該IKSequencingControl() 函數(shù)來工作。此功能使您可以輕松地將手臂移動到特定位置。
該IKSequencingControl() 函數(shù)接受參數(shù)。鯛魚臂僅使用其中的 8 個參數(shù)。“手腕旋轉(zhuǎn)”參數(shù)應(yīng)設(shè)置為“0”值。

例如,在笛卡爾模式下,以下行將手臂移動到 (0,150,150) (X,Y,Z),手腕角度為 0°,并且夾持器關(guān)閉。它將在 2 秒內(nèi)移動,并在姿勢完成后等待一秒。
IKSequencingControl(0 , 150 , 150 , 0 , 0 , 0 , 2000 , 1000, 1);
調(diào)整時機(jī)
您可以通過調(diào)整函數(shù)中的第 7 和第 8 個參數(shù)來微調(diào)每個姿勢IKSequencingControl() 。更改第 7 個參數(shù),增量值將影響手臂從當(dāng)前位置移動到下一個位置所需的時間。前面的示例中,手臂移動了 2000 毫秒以上。如果您希望手臂移動超過 5000 毫秒,請將代碼更改為
IKSequencingControl(0 , 150 , 150 , 0 , 512 , 0 , 5000 , 1000, 1);
更改第 8 個參數(shù),暫停值將影響姿勢完成后手臂等待的時間。前面的示例讓手臂等待 1000 毫秒。如果您希望手臂立即移動到下一個位置,請將代碼更改為
IKSequencingControl(0 , 150 , 150 , 0 , 512 , 0 , 2000 , 0, 1);
手動調(diào)整值
使用 Arm Link 軟件是生成手臂值的最佳方式,因為它會檢查限制并讓您試用手臂。但是,可以從頭開始手動創(chuàng)建自己的姿勢。請參閱Arm Limits表以查看您可以為每個 arm/參數(shù)使用的值范圍。注意:前面表格中列出的增量值不適用于該IKSequencingControl() 函數(shù)。有關(guān)調(diào)整 delta 值的說明,請參閱上面的“調(diào)整時序”。
中斷序列
一旦您發(fā)送了手臂移動命令并且它開始移動,則不能中斷單個姿勢 - 它始終會完成姿勢。
代碼可以通過SnapperArmPlayback 按鈕在任何姿勢后停止序列。這是因為按鈕連接到中斷引腳。當(dāng)對該引腳進(jìn)行更改(例如激活按鈕)時,當(dāng)前運行的代碼將暫停并執(zhí)行特殊的中斷代碼。此代碼將playState 變量設(shè)置為0 . 任何進(jìn)一步IKSequencingControl() 的調(diào)用都不會執(zhí)行手臂運動,因為此啟用已關(guān)閉。
也可以在IKSequencingControl() 函數(shù)中插入額外的代碼來檢查額外的條件。這將允許您根據(jù)其他條件(如串行事件、模擬數(shù)據(jù)和其他非中斷數(shù)字引腳)中斷序列。
高級按鈕選項
如果您不使用按鈕(而是依靠串行終端或自動序列),則需要將第 41 行從
#define USE_BUTTON true
至
#define USE_BUTTON false
這將禁止代碼嘗試讀取數(shù)字引腳(以及可能的讀取噪音/激活手臂)
如果您使用的是帶跳線的按鈕或任何其他 2 線瞬時開關(guān),則應(yīng)將第 45 行更改為
#define BUTTON_TRUE LOW
更改此#define 將為您的按鈕設(shè)置邏輯和上拉電阻。
如果您使用的是RobotGeek 按鈕或帶有內(nèi)置下拉電阻的按鈕,您可以保持原樣定義。
#define BUTTON_TRUE HIGH
- 機(jī)械臂:Arduino + Matlab
- PC控制的機(jī)械臂設(shè)計
- Python控制的機(jī)械臂開源分享
- 人臂控制機(jī)械臂開源
- 使用EMG信號控制機(jī)械臂
- 工業(yè)機(jī)械臂
- 基于YOLOv3等的機(jī)械臂藥盒智能抓取方法 61次下載
- 基于FuzzyP的多臂機(jī)器人機(jī)械臂控制系統(tǒng) 13次下載
- 機(jī)械臂手冊使用說明 17次下載
- 機(jī)械臂電路設(shè)計開源合集,電機(jī)工程師們的杰作 47次下載
- 如何使用深度強(qiáng)化學(xué)習(xí)進(jìn)行機(jī)械臂視覺抓取控制的優(yōu)化方法概述 22次下載
- DSP的機(jī)械臂預(yù)測控制 1次下載
- 機(jī)械臂關(guān)節(jié)驅(qū)動組件 7次下載
- 基于LeapMotion的機(jī)械臂交互控制研究_康楊雨軒 6次下載
- 基于LabVIEW的機(jī)械臂控制與仿真系統(tǒng)_華永云 32次下載
- 使用myCobot 280機(jī)械臂結(jié)合ROS2系統(tǒng)搭建機(jī)械分揀站 89次閱讀
- 深度解析!RK3568 加持機(jī)械臂是如何實現(xiàn)顏色識別與抓取的? 67次閱讀
- 初識IO-Link及IO-Link設(shè)備軟件協(xié)議棧 8992次閱讀
- 基于六維力傳感器的機(jī)械臂自動裝配應(yīng)用 834次閱讀
- 【開源獲獎案例】四軸機(jī)械臂控制系統(tǒng) 1319次閱讀
- 基于深度強(qiáng)化學(xué)習(xí)的視覺反饋機(jī)械臂抓取系統(tǒng) 2473次閱讀
- 如何從網(wǎng)頁控制arduino? 4186次閱讀
- dfrobotArduino開發(fā)實戰(zhàn)-遙控機(jī)械臂套裝簡介 2531次閱讀
- MATLAB機(jī)械臂的兩種路徑規(guī)劃 9167次閱讀
- 為什么最好的機(jī)械臂是7個自由度而不是6個自由度 2.6w次閱讀
- 工業(yè)機(jī)器人和機(jī)械手臂有什么區(qū)別 7817次閱讀
- 全球首款輕量級機(jī)械臂已經(jīng)出現(xiàn)了! 7535次閱讀
- arduino如何控制舵機(jī)及詳細(xì)步驟 16.5w次閱讀
- 工業(yè)機(jī)器人常用材料分析:機(jī)械臂材料與常用傳感器 2.6w次閱讀
- 基于MicroZed的五軸自動化機(jī)械臂Dexter 3443次閱讀
下載排行
本周
- 1人工智能+消費:技術(shù)賦能與芯片驅(qū)動未來
- 15.25 MB | 4次下載 | 免費
- 2?業(yè)電源&模塊電源產(chǎn)品?冊
- 15.40 MB | 1次下載 | 免費
- 379M15 TO-252三端穩(wěn)壓IC規(guī)格書
- 0.86 MB | 次下載 | 免費
- 4MBRD20150CT TO-252肖特基二極管規(guī)格書
- 0.54 MB | 次下載 | 免費
- 5自動鎖螺絲運動控制系統(tǒng)用戶手冊
- 6.65 MB | 次下載 | 5 積分
- 6奧特光耦產(chǎn)品手冊
- 4.83 MB | 次下載 | 免費
- 7SMA系列10MHz~40GHz同軸檢波器
- 559.60 KB | 次下載 | 免費
- 8CD7388CZ:7W×4 四通道音頻功率放大電路技術(shù)手冊
- 0.39 MB | 次下載 | 10 積分
本月
- 1元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 241次下載 | 免費
- 2元宇宙底層硬件系列報告
- 13.42 MB | 184次下載 | 免費
- 32022 年展望報告 – 半導(dǎo)體產(chǎn)業(yè)
- 1.43 MB | 136次下載 | 免費
- 4晶振與濾波器應(yīng)用電路《電子工程師必備:元器件應(yīng)用寶典》
- 1.57 MB | 90次下載 | 免費
- 5汽車電子行業(yè)深度解析:智能化與電動化方興未艾
- 6.47 MB | 71次下載 | 免費
- 6中國DPU行業(yè)白皮書
- 23.80 MB | 37次下載 | 免費
- 7晶科鑫代理線-微盟電子2021年度產(chǎn)品目錄選型手冊
- 14.75 MB | 27次下載 | 免費
- 8SJK晶振產(chǎn)品目錄-簡化版-2022
- 13.77 MB | 20次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935134次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191425次下載 | 10 積分
- 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183352次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App






創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論