一谜诫、末端執(zhí)行器集成生態(tài)庫(kù)簡(jiǎn)介
睿爾曼系列機(jī)械臂有著豐富的外設(shè)接口漾峡,可十分便捷的與其他執(zhí)行器相結(jié)合。如:因時(shí)二指夾爪喻旷、因時(shí)五指靈巧手生逸、知行手爪、大寰夾爪且预、鈞舵吸盤等槽袄。
本文主要介紹因時(shí)二指夾爪與機(jī)械臂集成的使用,后續(xù)會(huì)陸續(xù)將其他設(shè)置的使用發(fā)出來(lái)锋谐。
資料鏈接:https://pan.baidu.com/s/1B_NBbbry_N-xUK83_ij5OA?pwd=exbr
提取碼:exbr
二遍尺、因時(shí)二指夾爪的集成使用
夾爪結(jié)構(gòu)安裝
末端夾爪的安裝。第一步涮拗,整理配件乾戏。
第二步,轉(zhuǎn)接件與手爪連接使用M2.5*8螺絲連接三热。如下圖所示
第三步鼓择,在第二步的基礎(chǔ)上使用M4*8螺絲將轉(zhuǎn)接件與機(jī)械臂相連并進(jìn)行電路連接。如下圖所示(注意:此處使用6芯線連接機(jī)械臂與手爪時(shí)就漾,機(jī)械臂需斷電)
夾爪控制
夾爪的控制可以用示教器控制惯退、JSON協(xié)議控制、高級(jí)語(yǔ)言SDK開發(fā)方式實(shí)現(xiàn)从藤,本文將依次介紹這3種方式如何實(shí)現(xiàn)。實(shí)現(xiàn)夾爪控制的前提為夾爪已安裝在機(jī)械臂末端锁蠕,并且通過(guò)連接線連接夷野。
示教器控制
①按照往期內(nèi)容“睿爾曼超輕量仿人機(jī)械臂--示教器簡(jiǎn)介&使用”。將機(jī)械臂與上位機(jī)相連荣倾,并且切換至真實(shí)機(jī)械臂悯搔,在機(jī)械臂末端控制界面將末端電壓切換為24V。
②在示教器同界面右側(cè)按照下圖順序舌仍,依次點(diǎn)擊夾爪啟動(dòng)與夾爪操作按鈕妒貌,即可實(shí)現(xiàn)夾爪的松開和閉合操作通危。
③測(cè)試或使用完畢之后,請(qǐng)將末端供電切換至0V.以防下次使用出現(xiàn)意外情況灌曙。
JSON協(xié)議控制
JSON協(xié)議中有不同模式控制手爪的協(xié)議示例菊碟,可根據(jù)實(shí)際的使用場(chǎng)景進(jìn)行選擇,本文中僅舉例說(shuō)明使用在刺。
①使用網(wǎng)線將機(jī)械臂與上位機(jī)連接逆害,并將上位機(jī)IPV4地址修改為192.168.1.100(此操作可在-通信及連接方式內(nèi)容中找到)。
②在網(wǎng)盤資源中下載并打開“TCP&UDP測(cè)試工具”蚣驼,創(chuàng)建TCP連接魄幕,輸入機(jī)械臂的IP及端口號(hào)。
③創(chuàng)建完畢之后颖杏,點(diǎn)擊連接按鈕纯陨。此時(shí)可連接至機(jī)械臂。
④打開資料“RM-65\(3)協(xié)議文檔”下的《睿爾曼6自由度機(jī)械臂JSON通信協(xié)議v3.5.1.pdf》文檔留储。
⑤打開文檔之后翼抠,找到4.7 末端工具IO控制、4.8 末端工具-手爪控制(選配)部分內(nèi)容欲鹏。
第一步机久,在末端工具IO控制中設(shè)置工具端電源輸出,根據(jù)文檔中協(xié)議說(shuō)明及參數(shù)說(shuō)明復(fù)制協(xié)議內(nèi)容至TCP測(cè)試工具中赔嚎。
協(xié)議內(nèi)容:
末端輸出24V電源:
{"command":"set_tool_voltage","voltage_type":3}
第二步膘盖,根據(jù)文檔4.8中的說(shuō)明依次發(fā)送以下協(xié)議內(nèi)容:
協(xié)議內(nèi)容:
手爪到達(dá)指定位置(閉合):
{"command":"set_gripper_position","position":1,"block":true}
手爪松開:
{"command":"set_gripper_release","speed":500,"block":true}
高級(jí)語(yǔ)言SDK開發(fā)
本文中使用QT創(chuàng)建C語(yǔ)言項(xiàng)目進(jìn)行控制手爪的控制,項(xiàng)目以C語(yǔ)言API二次開發(fā)為基礎(chǔ)進(jìn)行更改尤误,故在此處不做項(xiàng)目創(chuàng)建的說(shuō)明侠畔。
第一步,項(xiàng)目UI界面新增按鈕损晤。打開項(xiàng)目中的“mainwindow.ui”文件软棺。在右側(cè)新增1個(gè) Push Botton按鈕,更改名稱為手爪閉合尤勋,更改‘MoveJ運(yùn)動(dòng)’按鈕名稱為手爪松開喘落。并在界面右側(cè)選項(xiàng)欄找到新創(chuàng)建的‘手爪閉合’按鈕,執(zhí)行轉(zhuǎn)到‘槽操作’最冰。
第二步瘦棋,主程序界面調(diào)用手爪接口實(shí)現(xiàn)手爪閉合操作。
在程序中調(diào)用了API中的“Set_Tool_Voltage”設(shè)置末端接口電壓接口暖哨、“Set_Gripper_Position”設(shè)置手爪開口度接口赌朋、“Set_Gripper_Release”手爪松開接口。
程序主程序如下所示:
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
? ? QMainWindow(parent),
? ? ui(new Ui::MainWindow)
{
? ? ui->setupUi(this);
}
MainWindow::~MainWindow()
{
????delete ui;
}
void MainWindow::on_Disconnect_clicked()
{
// 關(guān)閉連接
????int ret;
? ? ret = Set_Tool_Voltage(m_sockhand,1,1);
? ? ui->textEdit->append(QString("末端開啟0V供電").arg(ret));
? ? Arm_Socket_Close(m_sockhand);
}
void MainWindow::on_Test_MoveJ_clicked()
{
????int ret;
//? ? float joint[6] = {0,0,0,0,0,0};
//? ? float joint1[6] = {0,0,90,0,90,0};
//? ? ret = Movej_Cmd(m_sockhand,joint1,30,0,1);
//? ? ui->textEdit->append(QString("機(jī)械臂運(yùn)動(dòng)第1個(gè)點(diǎn)").arg(ret));
//? ? ret =Movej_Cmd(m_sockhand,joint,30,0,1);
//? ? ui->textEdit->append(QString("機(jī)械臂運(yùn)動(dòng)第2個(gè)點(diǎn)").arg(ret));
? ? ret = Set_Gripper_Position(m_sockhand,1,1);
? ? ui->textEdit->append(QString("手爪閉合").arg(ret));
}
void MainWindow::on_pushButton_clicked()
{
????int ret;
? ? ret = Set_Gripper_Release(m_sockhand,500,1);
? ? ui->textEdit->append(QString("手爪松開").arg(ret));
}
void MainWindow::on_connect_Socket_clicked()
{
// 連接服務(wù)器 返回全局句柄
? ? RM_API_Init(65,NULL);
? ? m_sockhand = Arm_Socket_Start((char *)"192.168.1.18", 8080, 5000);
????int ret;
? ? ret = Set_Tool_Voltage(m_sockhand,3,1);
? ? ui->textEdit->append(QString("末端開啟24V供電").arg(ret));
}