資料介紹
描述
想像 Simone Giertz一樣酷,但不知道從哪里開始?
InterbotiX Arm Link 軟件為兼容 Arduino 的機械臂提供了一個簡單的界面。使用該軟件,您可以通過多種運動模式控制機械臂,包括笛卡爾 IK 模式、圓柱 IK 模式和反鏟/關節模式。
除了直接控制您的機械臂外,Arm Link 軟件還可以激活數字輸出、讀取模擬輸入、播放運動序列和顯示網絡攝像頭饋送。
該軟件作為這些機械臂的簡單控制解決方案提供,同時也是希望將機械臂集成到自己的應用程序和系統中的個人的示例。InterbotiX Arm Link 是一個在處理環境中用 Java 編寫的開源程序。Arm Link 軟件目前兼容:
在本教程中,我們將介紹帶有 Arm Link 軟件的RobotGeek Snapper Arm的設置和使用。如果您想設置其中一個 InterbotiX 手臂,您可以按照本指南進行操作,該指南將為您設置適合您的機器人手臂的固件。
第 1 步:設置您的機械臂硬件
RobotGeek Snapper 機器人手臂套件隨附本教程所需的所有機器人硬件 - 您只需要一臺 Windows、Mac 或 Linux 計算機。
這個項目也可以使用RobotGeek Snapper Core Arm Kit來完成,假設您有自己的微控制器、電源和接線。
第 2 步:固件安裝
Arm Link 庫和固件會隨RobotGeek 工具和庫文件自動安裝,無需單獨安裝。如果您希望手動安裝文件,請下載并解壓縮InterbotiX Arm Link Library & Firmware 文件。打開文件夾ArmLinkLibrary-master
并將文件夾復制ArmLink
到您的 Arduino Library 文件夾中。
從 Arduino IDE打開固件。ArmLinkSerial
File -> Examples -> Arm Link -> SnapperArmLinkSerial
在將代碼加載到機器人手臂之前,您需要調整代碼以匹配您的夾具類型。在 Arduino IDE 中,單擊GlobalArm.h
第 16 行附近的選項卡,您應該會看到以下代碼塊
//#define GRIPPER_TYPE ROBOT_GEEK_9G_GRIPPER
//#define GRIPPER_TYPE ROBOT_GEEK_PARALLEL_GRIPPER
如果您使用的是 RobotGeek Parallel Gripper,請取消注釋第二行。您的代碼應如下所示
//#define GRIPPER_TYPE ROBOT_GEEK_9G_GRIPPER
#define GRIPPER_TYPE ROBOT_GEEK_PARALLEL_GRIPPER
如果您使用的是 RobotGeek 9G Gripper,請取消注釋第一行。您的代碼應如下所示
#define GRIPPER_TYPE ROBOT_GEEK_9G_GRIPPER
//#define GRIPPER_TYPE ROBOT_GEEK_PARALLEL_GRIPPER
現在已經定義了夾具類型,代碼將負責正確處理您的夾具類型。如果您在查找這些行時遇到問題,請單擊Compile
Arduino IDE 中的按鈕,它將在您需要更改的行附近顯示錯誤。
現在您可以將固件加載到 Geekduino 上。完成后,將 USB 電纜插入計算機,因為這是軟件與 Arm 通信的方式。
第 3 步:Arm Link 軟件安裝
Arm Link 軟件是用 Java 編寫的。我們建議您為您的操作系統下載帶有嵌入式 java 的版本(有關更多信息,請參閱下載頁面)。該軟件與 Windows XP、Vista 和 7、Mac OS 10.5+ 和 Linux 兼容。
Mac 用戶請參閱此處的“Mac 用戶注意事項”,然后再閱讀本指南的其余部分。
如果您在運行 Arm Link 軟件時遇到任何問題,我們建議您在處理環境中運行該軟件。這個過程相對簡單,并為您提供了額外的選擇。
第 4 步:使用 Arm Link 軟件
使用自動連接按鈕,或選擇一個串行端口并使用連接按鈕。手臂將從“睡眠”位置移動到“家”位置。這可能需要幾秒鐘。一旦手臂移動到其原始位置并準備好接受命令,就會出現各種面板。您可以調整滑塊或文本面板來調整手臂的位置。使用更新按鈕將這些值發送到手臂。
您可以使用“自動更新”復選框自動向機械臂發送命令。因為每個姿勢都需要在發送下一個姿勢之前完成,所以用戶可能希望降低Delta值以使手臂更具響應性。
使用說明
缺少串行端口
在打開程序之前插入您的 FTDI-USB 電纜。Arm Link軟件目前在連接后不會刷新串口列表,所以程序啟動時串口必須是可用的。如果 Arm Link 中的串行端口不可用,請關閉并重新打開應用程序。插入/拔出
使用網絡攝像頭
網絡攝像頭支持目前處于試驗階段。我們建議將帶有 250 毫米鵝頸管的 RobotGeek VGA 網絡攝像頭與Arm Link 軟件一起使用。其他網絡攝像頭應該可以正常工作,但尚未經過測試。該程序將嘗試連接到可用的第一個網絡攝像頭。如果您遇到問題,請嘗試將相機直接插入您的計算機(而不是通過集線器或擴展器)。
序列面板
通過模式面板或手腕面板更改模式或手腕方向將刪除序列面板中的所有當前姿勢。該軟件目前不支持混合模式播放。
數據包數據
如果您想查看您發送的數據包,請參見此處
模擬反饋和自動更新
我們不建議同時使用“自動更新”和“模擬輸入”。模擬反饋功能與其他控件的工作方式略有不同。所有其他控件都向機械臂發出命令,但模擬反饋功能需要數據。為了獲得一段模擬數據,程序必須發送一個命令包,請求特定端口的當前模擬值。啟用后,模擬反饋將每 33ms 請求一條新數據。開啟自動更新后,每 33ms 也會發送一個命令包。當這兩者同時工作時,手臂的響應速度可能比正常情況下要慢。
第 5 步:播放序列
設置好固件和軟件后,在 Arm Link 軟件中連接到機械臂。單擊序列面板中的“新姿勢”按鈕以創建新姿勢。新姿勢將由姿勢面板按鈕右側的編號面板指示。這個新創建的姿勢將包含控制面板當前顯示的坐標,即默認姿勢。
現在使用控制面板選擇手臂移動到的新位置。單擊“更新”以確保手臂已移動到您想要的位置。隨意將手臂稍微調整到正確的位置。一旦您對手臂的位置感到滿意,再次單擊“新姿勢”按鈕,您將看到創建的另一個姿勢。此姿勢將包含控制面板當前顯示的坐標。
重復這個定位手臂并做出新姿勢的過程,直到您擁有所需數量的姿勢。單擊“播放姿勢”按鈕以查看所有動作中的姿勢。按“停止姿勢”停止播放。播放將始終從所選姿勢開始,除非未選擇任何姿勢,否則將從姿勢 0 開始播放。
如果您需要調整姿勢,請先單擊單個姿勢以將其選中。該姿勢應擴展為大于其他姿勢以顯示它已被選中。現在單擊“加載姿勢”將姿勢加載到控制面板中。您需要單擊“更新”以將手臂物理移動到該姿勢的位置。您現在可以對控制面板進行任何調整以調整姿勢。對姿勢感到滿意后,單擊“保存姿勢”將姿勢數據保存回所選姿勢。
您可以加載姿勢,然后創建新姿勢以復制特定姿勢。您還可以拖放姿勢以重新排序。姿勢將保持其顏色,但會丟失其特定編號。
您可以調整兩個時間變量。第一個是 Delta 值(完成姿勢所需的時間)。每次運動的增量值都是唯一的。較小的 delta 值將產生較快的運動,較大的 delta 將產生較慢的運動。
第二個變量是暫停值。該值決定了手臂在姿勢完成后開始下一個姿勢之前等待的時間。此姿勢可以設置為 0,或任何任意值。只需輸入以毫秒為單位的時間值,每個姿勢都會等待該時間段。在 Arm Link 軟件中,此值對所有姿勢都是全局的,但可以在導出序列后按每個姿勢更改它。
一旦您對您的順序和時間感到滿意,請按“保存到文件”。這將打開一個窗口對話框并要求您選擇一個文件夾來放置導出的armSequence.h
文件。暫時將文件放在桌面上。
第 6 步:將序列加載到獨立固件中
在Snapper Arm 入門指南中,您應該已經下載了Snapper Arm 演示代碼并將其添加到您的 RobotGeek 草圖文件夾中。該文件包含SnapperArmPlayback
代碼。在 IDE 中打開草圖之前,您需要將armSequence.h
文件復制到SnapperArmPlayback
文件夾中。假設您的Arduino
文件夾在您的Documents
文件夾中,您可以在SnapperArmPlayback
此處找到:
Documents -> Arduino -> RobotGeek sketches -> SnapperArm -> SnapperArmPlayback
在此文件夾中,您將找到多個文件,包括armSequence.h
. 該文件的默認副本按順序移動手臂上的每個軸。您可以將此文件保存在另一個文件夾中以供以后使用,也可以將其刪除。現在將armSequence.h
保存到桌面的文件復制到文件SnapperArmPlayback
夾中。
現在您可以將SnapperArmPlayback
草圖打開到您的 Arduino IDE 中。在 Arduino IDE 中,您可以在以下位置找到草圖:
File -> Sketchbook -> RobotGeek sketches -> Snapper Arm -> SnapperArmPlayback
在將代碼加載到機器人手臂之前,您需要調整代碼以匹配您的夾具類型。在 Arduino IDE 中,單擊GlobalArm.h
第 16 行附近的選項卡,您應該會看到以下代碼塊:
//#define GRIPPER_TYPE ROBOT_GEEK_9G_GRIPPER
//#define GRIPPER_TYPE ROBOT_GEEK_PARALLEL_GRIPPER
如果您使用的是 RobotGeek Parallel Gripper,請取消注釋第二行。您的代碼應如下所示:
//#define GRIPPER_TYPE ROBOT_GEEK_9G_GRIPPER
#define GRIPPER_TYPE ROBOT_GEEK_PARALLEL_GRIPPER
如果您使用的是 RobotGeek 9G Gripper,請取消注釋第一行。您的代碼應如下所示:
#define GRIPPER_TYPE ROBOT_GEEK_9G_GRIPPER
//#define GRIPPER_TYPE ROBOT_GEEK_PARALLEL_GRIPPER
現在已經定義了夾具類型,代碼將負責正確處理您的夾具類型。如果您在查找這些行時遇到問題,請單擊Compile
Arduino IDE 中的按鈕,它將在您需要更改的行附近顯示錯誤。
現在您可以將草圖加載到您的 Geekduino 上。在等待序列開始時,手臂應該回到其原始位置。您可以通過按下連接到手臂的按鈕來激活序列,或者打開串行監視器(38400 波特)并發送1
.
您的手臂現在將播放您設計的序列。手臂將播放一次序列,然后在最后一個姿勢上停止。操作應與 Arm Link 軟件中的操作相同。您可以通過按下按鈕/再次輸入串行命令來重新開始姿勢。
如果您再次按下按鈕,手臂將在完成當前姿勢后停止。如果您通過串行終端發送“1”,則手臂將完成其整個序列,然后停止。
第7步:你完成了!現在怎么辦?
現在您已經設置好手臂,熟悉 Arm Link 的工作方式,并且可以記錄和回放姿勢,您能做什么?
我們有一只手臂:
- 甚至開著一個六足動物。
我們很想看到你的機械臂做一些瘋狂的事情!
第 8 步:高級用法
最小代碼
該文件夾SnapperArmPlaybackMinimal
包含一個草圖,其中包含一次播放手臂序列的最少代碼量。如果您希望將 arm 播放代碼集成到現有項目/代碼中,此代碼可能會為您提供幫助。如果你想將自己的序列添加到這個文件中,將循環輸入的內容添加do
到armSequence.h
循環setup
輸入中SnapperArmPlaybackMinimal.ino
IKSequencingControl() 概述
該armSequence.h
文件通過多次調用該IKSequencingControl()
函數來工作。此功能使您可以輕松地將手臂移動到特定位置。
該IKSequencingControl()
函數接受參數。鯛魚臂僅使用其中的 8 個參數。“手腕旋轉”參數應設置為“0”值。
例如,在笛卡爾模式下,以下行將手臂移動到 (0,150,150) (X,Y,Z),手腕角度為 0°,并且夾持器關閉。它將在 2 秒內移動,并在姿勢完成后等待一秒。
IKSequencingControl(0 , 150 , 150 , 0 , 0 , 0 , 2000 , 1000, 1);
調整時機
您可以通過調整函數中的第 7 和第 8 個參數來微調每個姿勢IKSequencingControl()
。更改第 7 個參數,增量值將影響手臂從當前位置移動到下一個位置所需的時間。前面的示例中,手臂移動了 2000 毫秒以上。如果您希望手臂移動超過 5000 毫秒,請將代碼更改為
IKSequencingControl(0 , 150 , 150 , 0 , 512 , 0 , 5000 , 1000, 1);
更改第 8 個參數,暫停值將影響姿勢完成后手臂等待的時間。前面的示例讓手臂等待 1000 毫秒。如果您希望手臂立即移動到下一個位置,請將代碼更改為
IKSequencingControl(0 , 150 , 150 , 0 , 512 , 0 , 2000 , 0, 1);
手動調整值
使用 Arm Link 軟件是生成手臂值的最佳方式,因為它會檢查限制并讓您試用手臂。但是,可以從頭開始手動創建自己的姿勢。請參閱Arm Limits表以查看您可以為每個 arm/參數使用的值范圍。注意:前面表格中列出的增量值不適用于該IKSequencingControl()
函數。有關調整 delta 值的說明,請參閱上面的“調整時序”。
中斷序列
一旦您發送了手臂移動命令并且它開始移動,則不能中斷單個姿勢 - 它始終會完成姿勢。
代碼可以通過SnapperArmPlayback
按鈕在任何姿勢后停止序列。這是因為按鈕連接到中斷引腳。當對該引腳進行更改(例如激活按鈕)時,當前運行的代碼將暫停并執行特殊的中斷代碼。此代碼將playState
變量設置為0
. 任何進一步IKSequencingControl()
的調用都不會執行手臂運動,因為此啟用已關閉。
也可以在IKSequencingControl()
函數中插入額外的代碼來檢查額外的條件。這將允許您根據其他條件(如串行事件、模擬數據和其他非中斷數字引腳)中斷序列。
高級按鈕選項
如果您不使用按鈕(而是依靠串行終端或自動序列),則需要將第 41 行從
#define USE_BUTTON true
至
#define USE_BUTTON false
這將禁止代碼嘗試讀取數字引腳(以及可能的讀取噪音/激活手臂)
如果您使用的是帶跳線的按鈕或任何其他 2 線瞬時開關,則應將第 45 行更改為
#define BUTTON_TRUE LOW
更改此#define 將為您的按鈕設置邏輯和上拉電阻。
如果您使用的是RobotGeek 按鈕或帶有內置下拉電阻的按鈕,您可以保持原樣定義。
#define BUTTON_TRUE HIGH
- 機械臂:Arduino + Matlab
- PC控制的機械臂設計
- Python控制的機械臂開源分享
- 人臂控制機械臂開源
- 使用EMG信號控制機械臂
- 工業機械臂
- 基于YOLOv3等的機械臂藥盒智能抓取方法 61次下載
- 基于FuzzyP的多臂機器人機械臂控制系統 13次下載
- 基于最小二乘法的起重機機械臂關節控制系統 12次下載
- 機械臂手冊使用說明 17次下載
- 機械臂電路設計開源合集,電機工程師們的杰作 46次下載
- 如何使用深度強化學習進行機械臂視覺抓取控制的優化方法概述 22次下載
- DSP的機械臂預測控制 1次下載
- 機械臂關節驅動組件 7次下載
- 基于LeapMotion的機械臂交互控制研究_康楊雨軒 6次下載
- 初識IO-Link及IO-Link設備軟件協議棧 3154次閱讀
- 基于六維力傳感器的機械臂自動裝配應用 407次閱讀
- 【開源獲獎案例】四軸機械臂控制系統 861次閱讀
- 如何使用Python和PinPong庫控制Arduino 718次閱讀
- 基于深度強化學習的視覺反饋機械臂抓取系統 1896次閱讀
- J-Link script的組成與使用方法 2360次閱讀
- 如何從網頁控制arduino? 3836次閱讀
- dfrobotArduino開發實戰-遙控機械臂套裝簡介 2399次閱讀
- MATLAB機械臂的兩種路徑規劃 8995次閱讀
- 為什么最好的機械臂是7個自由度而不是6個自由度 2.6w次閱讀
- 工業機器人和機械手臂有什么區別 7664次閱讀
- 全球首款輕量級機械臂已經出現了! 7399次閱讀
- arduino如何控制舵機及詳細步驟 16.3w次閱讀
- 工業機器人常用材料分析:機械臂材料與常用傳感器 2.5w次閱讀
- 基于MicroZed的五軸自動化機械臂Dexter 3351次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多