電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>使用Arm link軟件控制Arduino機(jī)械臂

使用Arm link軟件控制Arduino機(jī)械臂

2023-06-19 | zip | 0.00 MB | 次下載 | 2積分

資料介紹

描述

想像 Simone Giertz一樣酷,但不知道從哪里開始?

InterbotiX Arm Link 軟件為兼容 Arduino機(jī)械臂提供了一個(gè)簡(jiǎn)單的界面。使用該軟件,您可以通過(guò)多種運(yùn)動(dòng)模式控制機(jī)械臂,包括笛卡爾 IK 模式、圓柱 IK 模式和反鏟/關(guān)節(jié)模式。

除了直接控制您的機(jī)械臂外,Arm Link 軟件還可以激活數(shù)字輸出、讀取模擬輸入、播放運(yùn)動(dòng)序列和顯示網(wǎng)絡(luò)攝像頭饋送。

該軟件作為這些機(jī)械臂的簡(jiǎn)單控制解決方案提供,同時(shí)也是希望將機(jī)械臂集成到自己的應(yīng)用程序和系統(tǒng)中的個(gè)人的示例。InterbotiX Arm Link 是一個(gè)在處理環(huán)境中用 Java 編寫的開源程序。Arm Link 軟件目前兼容:

在本教程中,我們將介紹帶有 Arm Link 軟件的RobotGeek Snapper Arm的設(shè)置和使用。如果您想設(shè)置其中一個(gè) InterbotiX 手臂,您可以按照本指南進(jìn)行操作,該指南將為您設(shè)置適合您的機(jī)器人手臂的固件。

第 1 步:設(shè)置您的機(jī)械臂硬件

?
poYBAGOYmGWALVYCAADX8JXn6SQ816.jpg
?

RobotGeek Snapper 機(jī)器人手臂套件隨附本教程所需的所有機(jī)器人硬件 - 您只需要一臺(tái) Windows、Mac 或 Linux 計(jì)算機(jī)。

這個(gè)項(xiàng)目也可以使用RobotGeek Snapper Core Arm Kit來(lái)完成,假設(shè)您有自己的微控制器電源和接線。

按照入門指南組裝指南構(gòu)建您的機(jī)器人手臂。

第 2 步:固件安裝

Arm Link 庫(kù)和固件會(huì)隨RobotGeek 工具和庫(kù)文件自動(dòng)安裝,無(wú)需單獨(dú)安裝。如果您希望手動(dòng)安裝文件,請(qǐng)下載并解壓縮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 行附近的選項(xiàng)卡,您應(yīng)該會(huì)看到以下代碼塊

//#define GRIPPER_TYPE ROBOT_GEEK_9G_GRIPPER
//#define GRIPPER_TYPE ROBOT_GEEK_PARALLEL_GRIPPER

如果您使用的是 RobotGeek Parallel Gripper,請(qǐng)取消注釋第二行。您的代碼應(yīng)如下所示

//#define GRIPPER_TYPE ROBOT_GEEK_9G_GRIPPER
#define GRIPPER_TYPE ROBOT_GEEK_PARALLEL_GRIPPER

如果您使用的是 RobotGeek 9G Gripper,請(qǐng)取消注釋第一行。您的代碼應(yīng)如下所示

#define GRIPPER_TYPE ROBOT_GEEK_9G_GRIPPER
//#define GRIPPER_TYPE ROBOT_GEEK_PARALLEL_GRIPPER

現(xiàn)在已經(jīng)定義了夾具類型,代碼將負(fù)責(zé)正確處理您的夾具類型。如果您在查找這些行時(shí)遇到問(wèn)題,請(qǐng)單擊Compile Arduino IDE 中的按鈕,它將在您需要更改的行附近顯示錯(cuò)誤。

現(xiàn)在您可以將固件加載到 Geekduino 上。完成后,將 USB 電纜插入計(jì)算機(jī),因?yàn)檫@是軟件與 Arm 通信的方式。

第 3 步:Arm Link 軟件安裝

下載 Arm Link 控制軟件

Arm Link 軟件是用 Java 編寫的。我們建議您為您的操作系統(tǒng)下載帶有嵌入式 java 的版本(有關(guān)更多信息,請(qǐng)參閱下載頁(yè)面)。該軟件與 Windows XP、Vista 和 7、Mac OS 10.5+ 和 Linux 兼容。

Mac 用戶請(qǐng)參閱此處的“Mac 用戶注意事項(xiàng)”,然后再閱讀本指南的其余部分。

如果您在運(yùn)行 Arm Link 軟件時(shí)遇到任何問(wèn)題,我們建議您在處理環(huán)境中運(yùn)行該軟件。這個(gè)過(guò)程相對(duì)簡(jiǎn)單,并為您提供了額外的選擇。

第 4 步:使用 Arm Link 軟件

?
poYBAGOYmGiANtgBAACsgYobbPA791.jpg
?

使用自動(dòng)連接按鈕,或選擇一個(gè)串行端口并使用連接按鈕。手臂將從“睡眠”位置移動(dòng)到“家”位置。這可能需要幾秒鐘。一旦手臂移動(dòng)到其原始位置并準(zhǔn)備好接受命令,就會(huì)出現(xiàn)各種面板。您可以調(diào)整滑塊或文本面板來(lái)調(diào)整手臂的位置。使用更新按鈕將這些值發(fā)送到手臂。

您可以使用“自動(dòng)更新”復(fù)選框自動(dòng)向機(jī)械臂發(fā)送命令。因?yàn)槊總€(gè)姿勢(shì)都需要在發(fā)送下一個(gè)姿勢(shì)之前完成,所以用戶可能希望降低Delta值以使手臂更具響應(yīng)性。

?
?
?
?
pYYBAGOYmGqANTT4AACYd09LArg845.png
?
1 / 5
?

使用說(shuō)明

缺少串行端口

在打開程序之前插入您的 FTDI-USB 電纜。Arm Link軟件目前在連接后不會(huì)刷新串口列表,所以程序啟動(dòng)時(shí)串口必須是可用的。如果 Arm Link 中的串行端口不可用,請(qǐng)關(guān)閉并重新打開應(yīng)用程序。插入/拔出

使用網(wǎng)絡(luò)攝像頭

網(wǎng)絡(luò)攝像頭支持目前處于試驗(yàn)階段。我們建議將帶有 250 毫米鵝頸管的 RobotGeek VGA 網(wǎng)絡(luò)攝像頭與Arm Link 軟件一起使用。其他網(wǎng)絡(luò)攝像頭應(yīng)該可以正常工作,但尚未經(jīng)過(guò)測(cè)試。該程序?qū)L試連接到可用的第一個(gè)網(wǎng)絡(luò)攝像頭。如果您遇到問(wèn)題,請(qǐng)嘗試將相機(jī)直接插入您的計(jì)算機(jī)(而不是通過(guò)集線器或擴(kuò)展器)。

序列面板

通過(guò)模式面板手腕面板更改模式或手腕方向將刪除序列面板中的所有當(dāng)前姿勢(shì)。該軟件目前不支持混合模式播放。

數(shù)據(jù)包數(shù)據(jù)

如果您想查看您發(fā)送的數(shù)據(jù)包,請(qǐng)參見此處

模擬反饋和自動(dòng)更新

我們不建議同時(shí)使用“自動(dòng)更新”和“模擬輸入”。模擬反饋功能與其他控件的工作方式略有不同。所有其他控件都向機(jī)械臂發(fā)出命令,但模擬反饋功能需要數(shù)據(jù)。為了獲得一段模擬數(shù)據(jù),程序必須發(fā)送一個(gè)命令包,請(qǐng)求特定端口的當(dāng)前模擬值。啟用后,模擬反饋將每 33ms 請(qǐng)求一條新數(shù)據(jù)。開啟自動(dòng)更新后,每 33ms 也會(huì)發(fā)送一個(gè)命令包。當(dāng)這兩者同時(shí)工作時(shí),手臂的響應(yīng)速度可能比正常情況下要慢。

第 5 步:播放序列

?

設(shè)置好固件和軟件后,在 Arm Link 軟件中連接到機(jī)械臂。單擊序列面板中的“新姿勢(shì)”按鈕以創(chuàng)建新姿勢(shì)。新姿勢(shì)將由姿勢(shì)面板按鈕右側(cè)的編號(hào)面板指示。這個(gè)新創(chuàng)建的姿勢(shì)將包含控制面板當(dāng)前顯示的坐標(biāo),即默認(rèn)姿勢(shì)。

現(xiàn)在使用控制面板選擇手臂移動(dòng)到的新位置。單擊“更新”以確保手臂已移動(dòng)到您想要的位置。隨意將手臂稍微調(diào)整到正確的位置。一旦您對(duì)手臂的位置感到滿意,再次單擊“新姿勢(shì)”按鈕,您將看到創(chuàng)建的另一個(gè)姿勢(shì)。此姿勢(shì)將包含控制面板當(dāng)前顯示的坐標(biāo)。

重復(fù)這個(gè)定位手臂并做出新姿勢(shì)的過(guò)程,直到您擁有所需數(shù)量的姿勢(shì)。單擊“播放姿勢(shì)”按鈕以查看所有動(dòng)作中的姿勢(shì)。按“停止姿勢(shì)”停止播放。播放將始終從所選姿勢(shì)開始,除非未選擇任何姿勢(shì),否則將從姿勢(shì) 0 開始播放。

如果您需要調(diào)整姿勢(shì),請(qǐng)先單擊單個(gè)姿勢(shì)以將其選中。該姿勢(shì)應(yīng)擴(kuò)展為大于其他姿勢(shì)以顯示它已被選中。現(xiàn)在單擊“加載姿勢(shì)”將姿勢(shì)加載到控制面板中。您需要單擊“更新”以將手臂物理移動(dòng)到該姿勢(shì)的位置。您現(xiàn)在可以對(duì)控制面板進(jìn)行任何調(diào)整以調(diào)整姿勢(shì)。對(duì)姿勢(shì)感到滿意后,單擊“保存姿勢(shì)”將姿勢(shì)數(shù)據(jù)保存回所選姿勢(shì)。

您可以加載姿勢(shì),然后創(chuàng)建新姿勢(shì)以復(fù)制特定姿勢(shì)。您還可以拖放姿勢(shì)以重新排序。姿勢(shì)將保持其顏色,但會(huì)丟失其特定編號(hào)。

您可以調(diào)整兩個(gè)時(shí)間變量。第一個(gè)是 Delta 值(完成姿勢(shì)所需的時(shí)間)。每次運(yùn)動(dòng)的增量值都是唯一的。較小的 delta 值將產(chǎn)生較快的運(yùn)動(dòng),較大的 delta 將產(chǎn)生較慢的運(yùn)動(dòng)。

第二個(gè)變量是暫停值。該值決定了手臂在姿勢(shì)完成后開始下一個(gè)姿勢(shì)之前等待的時(shí)間。此姿勢(shì)可以設(shè)置為 0,或任何任意值。只需輸入以毫秒為單位的時(shí)間值,每個(gè)姿勢(shì)都會(huì)等待該時(shí)間段。在 Arm Link 軟件中,此值對(duì)所有姿勢(shì)都是全局的,但可以在導(dǎo)出序列后按每個(gè)姿勢(shì)更改它。

一旦您對(duì)您的順序和時(shí)間感到滿意,請(qǐng)按“保存到文件”。這將打開一個(gè)窗口對(duì)話框并要求您選擇一個(gè)文件夾來(lái)放置導(dǎo)出的armSequence.h 文件。暫時(shí)將文件放在桌面上。

第 6 步:將序列加載到獨(dú)立固件中

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

在此文件夾中,您將找到多個(gè)文件,包括armSequence.h . 該文件的默認(rèn)副本按順序移動(dòng)手臂上的每個(gè)軸。您可以將此文件保存在另一個(gè)文件夾中以供以后使用,也可以將其刪除。現(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 行附近的選項(xiàng)卡,您應(yīng)該會(huì)看到以下代碼塊:

//#define GRIPPER_TYPE ROBOT_GEEK_9G_GRIPPER
//#define GRIPPER_TYPE ROBOT_GEEK_PARALLEL_GRIPPER

如果您使用的是 RobotGeek Parallel Gripper,請(qǐng)取消注釋第二行。您的代碼應(yīng)如下所示:

//#define GRIPPER_TYPE ROBOT_GEEK_9G_GRIPPER
#define GRIPPER_TYPE ROBOT_GEEK_PARALLEL_GRIPPER

如果您使用的是 RobotGeek 9G Gripper,請(qǐng)取消注釋第一行。您的代碼應(yīng)如下所示:

#define GRIPPER_TYPE ROBOT_GEEK_9G_GRIPPER
//#define GRIPPER_TYPE ROBOT_GEEK_PARALLEL_GRIPPER

現(xiàn)在已經(jīng)定義了夾具類型,代碼將負(fù)責(zé)正確處理您的夾具類型。如果您在查找這些行時(shí)遇到問(wèn)題,請(qǐng)單擊Compile Arduino IDE 中的按鈕,它將在您需要更改的行附近顯示錯(cuò)誤。

現(xiàn)在您可以將草圖加載到您的 Geekduino 上。在等待序列開始時(shí),手臂應(yīng)該回到其原始位置。您可以通過(guò)按下連接到手臂的按鈕來(lái)激活序列,或者打開串行監(jiān)視器(38400 波特)并發(fā)送1 .

您的手臂現(xiàn)在將播放您設(shè)計(jì)的序列。手臂將播放一次序列,然后在最后一個(gè)姿勢(shì)上停止。操作應(yīng)與 Arm Link 軟件中的操作相同。您可以通過(guò)按下按鈕/再次輸入串行命令來(lái)重新開始姿勢(shì)。

如果您再次按下按鈕,手臂將在完成當(dāng)前姿勢(shì)后停止。如果您通過(guò)串行終端發(fā)送“1”,則手臂將完成其整個(gè)序列,然后停止。

第7步:你完成了!現(xiàn)在怎么辦?

現(xiàn)在您已經(jīng)設(shè)置好手臂,熟悉 Arm Link 的工作方式,并且可以記錄和回放姿勢(shì),您能做什么?

我們有一只手臂:

我們很想看到你的機(jī)械臂做一些瘋狂的事情!

第 8 步:高級(jí)用法

最小代碼

該文件夾SnapperArmPlaybackMinimal 包含一個(gè)草圖,其中包含一次播放手臂序列的最少代碼量。如果您希望將 arm 播放代碼集成到現(xiàn)有項(xiàng)目/代碼中,此代碼可能會(huì)為您提供幫助。如果你想將自己的序列添加到這個(gè)文件中,將循環(huán)輸入的內(nèi)容添加doarmSequence.h 循環(huán)setup 輸入中SnapperArmPlaybackMinimal.ino

IKSequencingControl() 概述

armSequence.h 文件通過(guò)多次調(diào)用該IKSequencingControl() 函數(shù)來(lái)工作。此功能使您可以輕松地將手臂移動(dòng)到特定位置。

IKSequencingControl() 函數(shù)接受參數(shù)。鯛魚臂僅使用其中的 8 個(gè)參數(shù)。“手腕旋轉(zhuǎn)”參數(shù)應(yīng)設(shè)置為“0”值。

?
pYYBAGOYmG2AKYlpAABYQXIgxwc224.png
?

例如,在笛卡爾模式下,以下行將手臂移動(dòng)到 (0,150,150) (X,Y,Z),手腕角度為 0°,并且夾持器關(guān)閉。它將在 2 秒內(nèi)移動(dòng),并在姿勢(shì)完成后等待一秒。

IKSequencingControl(0 , 150 , 150 , 0 , 0 , 0 , 2000 , 1000, 1);

調(diào)整時(shí)機(jī)

您可以通過(guò)調(diào)整函數(shù)中的第 7 和第 8 個(gè)參數(shù)來(lái)微調(diào)每個(gè)姿勢(shì)IKSequencingControl()更改第 7 個(gè)參數(shù),增量值將影響手臂從當(dāng)前位置移動(dòng)到下一個(gè)位置所需的時(shí)間。前面的示例中,手臂移動(dòng)了 2000 毫秒以上。如果您希望手臂移動(dòng)超過(guò) 5000 毫秒,請(qǐng)將代碼更改為

IKSequencingControl(0 , 150 , 150 , 0 , 512 , 0 , 5000 , 1000, 1);

更改第 8 個(gè)參數(shù),暫停值將影響姿勢(shì)完成后手臂等待的時(shí)間。前面的示例讓手臂等待 1000 毫秒。如果您希望手臂立即移動(dòng)到下一個(gè)位置,請(qǐng)將代碼更改為

IKSequencingControl(0 , 150 , 150 , 0 , 512 , 0 , 2000 , 0, 1);

手動(dòng)調(diào)整值

使用 Arm Link 軟件是生成手臂值的最佳方式,因?yàn)樗鼤?huì)檢查限制并讓您試用手臂。但是,可以從頭開始手動(dòng)創(chuàng)建自己的姿勢(shì)。請(qǐng)參閱Arm Limits表以查看您可以為每個(gè) arm/參數(shù)使用的值范圍。注意:前面表格中列出的增量值不適用于該IKSequencingControl() 函數(shù)。有關(guān)調(diào)整 delta 值的說(shuō)明,請(qǐng)參閱上面的“調(diào)整時(shí)序”。

中斷序列

一旦您發(fā)送了手臂移動(dòng)命令并且它開始移動(dòng),則不能中斷單個(gè)姿勢(shì) - 它始終會(huì)完成姿勢(shì)。

代碼可以通過(guò)SnapperArmPlayback 按鈕在任何姿勢(shì)后停止序列。這是因?yàn)榘粹o連接到中斷引腳。當(dāng)對(duì)該引腳進(jìn)行更改(例如激活按鈕)時(shí),當(dāng)前運(yùn)行的代碼將暫停并執(zhí)行特殊的中斷代碼。此代碼將playState 變量設(shè)置為0 . 任何進(jìn)一步IKSequencingControl() 的調(diào)用都不會(huì)執(zhí)行手臂運(yùn)動(dòng),因?yàn)榇藛⒂靡殃P(guān)閉。

也可以在IKSequencingControl() 函數(shù)中插入額外的代碼來(lái)檢查額外的條件。這將允許您根據(jù)其他條件(如串行事件、模擬數(shù)據(jù)和其他非中斷數(shù)字引腳)中斷序列。

高級(jí)按鈕選項(xiàng)

如果您不使用按鈕(而是依靠串行終端或自動(dòng)序列),則需要將第 41 行從

#define USE_BUTTON true

#define USE_BUTTON false

這將禁止代碼嘗試讀取數(shù)字引腳(以及可能的讀取噪音/激活手臂)

如果您使用的是帶跳線的按鈕或任何其他 2 線瞬時(shí)開關(guān),則應(yīng)將第 45 行更改為

#define BUTTON_TRUE LOW

更改此#define 將為您的按鈕設(shè)置邏輯和上拉電阻。

如果您使用的是RobotGeek 按鈕或帶有內(nèi)置下拉電阻的按鈕,您可以保持原樣定義。

#define BUTTON_TRUE HIGH

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1GBT1094.11-2022電力變壓器第11部分:干式變壓器
  2. 14.12 MB   |  3次下載  |  免費(fèi)
  3. 2PT500齒輪傳動(dòng)動(dòng)力學(xué)綜合測(cè)試實(shí)驗(yàn)臺(tái)
  4. 0.16 MB   |  3次下載  |  免費(fèi)
  5. 3FT-7800R對(duì)講機(jī)維修手冊(cè)附原理圖
  6. 3.35 MB   |  2次下載  |  免費(fèi)
  7. 4串口工具UartAssist5.0.exe
  8. 0.60 MB   |  2次下載  |  免費(fèi)
  9. 5爬電距離和電氣間隙計(jì)算
  10. 0.75 MB   |  2次下載  |  1 積分
  11. 6UC3584DW次級(jí)側(cè)后置穩(wěn)壓器EVM板原理圖
  12. 38.97KB   |  2次下載  |  免費(fèi)
  13. 7UCC38C42 25瓦自諧振復(fù)位正激變換器
  14. 320.6KB   |  1次下載  |  免費(fèi)
  15. 8使用15個(gè)時(shí)鐘周期的ADS7841和ADS7844
  16. 188.55KB   |  1次下載  |  免費(fèi)

本月

  1. 1ACDC變換器的原理圖免費(fèi)下載
  2. 0.26 MB   |  65次下載  |  免費(fèi)
  3. 2無(wú)刷電機(jī)控制方案設(shè)計(jì)合作
  4. 1.05 MB   |  22次下載  |  免費(fèi)
  5. 3美的超薄電磁爐TM-S1-09B主板原理圖
  6. 0.08 MB   |  20次下載  |  免費(fèi)
  7. 4純電動(dòng)汽?的主要部件及?作原理
  8. 5.76 MB   |  12次下載  |  5 積分
  9. 5GP328和GP88S對(duì)講機(jī)的維修實(shí)列資料合集免費(fèi)下載
  10. 0.03 MB   |  10次下載  |  10 積分
  11. 6舒爾SLX4無(wú)線話筒接收機(jī)原理圖:二次變頻超外差部分
  12. 0.27 MB   |  8次下載  |  免費(fèi)
  13. 7i.MX Linux開發(fā)實(shí)戰(zhàn)指南—基于野火i.MX系列開發(fā)板
  14. 17.86 MB   |  7次下載  |  免費(fèi)
  15. 8Type-C VL160數(shù)據(jù)手冊(cè)
  16. 0.92 MB   |  7次下載  |  3 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935115次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
  4. 1.48MB  |  420061次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233084次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191363次下載  |  10 積分
  9. 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  10. 158M  |  183329次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81581次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73805次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65985次下載  |  10 積分