中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

中國(guó)疫情最嚴(yán)重的五個(gè)省排名湖北百度seo排名

中國(guó)疫情最嚴(yán)重的五個(gè)省排名,湖北百度seo排名,網(wǎng)站建設(shè)kaicz,wordpress自定義文章頁面模板一、本體說明 1. 機(jī)械臂整體描述 該桌面級(jí)機(jī)械臂為模塊化設(shè)計(jì),包含主機(jī)模塊1個(gè)、轉(zhuǎn)臺(tái)模塊1個(gè)、二級(jí)擺動(dòng)模塊1個(gè)、可編程示教盒1個(gè)、2種末端執(zhí)行器、高清攝像頭,以及適配器、組裝工具、備用零件等??蓪⒛K快速組合為一個(gè)帶被動(dòng)關(guān)節(jié)的串聯(lián)3自由度機(jī)械臂…

一、本體說明?

?

?1. 機(jī)械臂整體描述

? ? ? 該桌面級(jí)機(jī)械臂為模塊化設(shè)計(jì),包含主機(jī)模塊1個(gè)、轉(zhuǎn)臺(tái)模塊1個(gè)、二級(jí)擺動(dòng)模塊1個(gè)、可編程示教盒1個(gè)、2種末端執(zhí)行器、高清攝像頭,以及適配器、組裝工具、備用零件等??蓪⒛K快速組合為一個(gè)帶被動(dòng)關(guān)節(jié)的串聯(lián)3自由度機(jī)械臂,亦可進(jìn)一步加裝、更換執(zhí)行器、傳感器來完成各類控制實(shí)驗(yàn)。

?1.1 機(jī)械臂清單介紹

序號(hào)

名稱

備注

1

本體

包括轉(zhuǎn)臺(tái)、小臂、大臂、執(zhí)行機(jī)構(gòu)

2

執(zhí)行機(jī)構(gòu)

如:手爪執(zhí)行器、氣動(dòng)執(zhí)行器

3

主機(jī)

包括樹莓派、Arduino 主控板等相關(guān)的配置

4

顯示屏

5

電子部件

如:攝像頭、遙控模塊

機(jī)械臂的主要配置清單

1.2 產(chǎn)品配置

機(jī)械臂的主要硬件圖如下所示:

主要硬件圖

組成的主要硬件參數(shù)如下表所示:

2. 機(jī)械臂結(jié)構(gòu)說明

該機(jī)械臂結(jié)構(gòu)是一個(gè)帶被動(dòng)關(guān)節(jié)的3自由度,包含一個(gè)1自由度的轉(zhuǎn)臺(tái)和帶被動(dòng)關(guān)節(jié)的2自由度關(guān)節(jié)。

? ? ? 其中2自由度關(guān)節(jié)模塊分為大臂和小臂:大臂通過1.76減速比的齒輪箱進(jìn)行傳動(dòng),小臂通過二級(jí)帶傳動(dòng)實(shí)現(xiàn)傳動(dòng)和被動(dòng)關(guān)節(jié)設(shè)計(jì)。被動(dòng)關(guān)節(jié)可以保證執(zhí)行器末端運(yùn)動(dòng)時(shí)指向保持一個(gè)方向,其中一級(jí)帶傳動(dòng)控制小臂轉(zhuǎn)動(dòng),另一級(jí)帶傳動(dòng)使末端方向保持一致。

如下所示是裝有手爪、攝像頭的實(shí)物圖:

裝有手爪和攝像頭的實(shí)物圖

其中的執(zhí)行機(jī)構(gòu)部分(即現(xiàn)在裝手爪執(zhí)行器的地方)還可以靈活的替換為氣動(dòng)部件(見下圖)。

裝有氣動(dòng)部件的實(shí)物圖

3. 機(jī)械臂的電路連接

? ? ? ?在進(jìn)行電路連接前,先來了解一下主機(jī)的布局及引腳圖。下圖是主機(jī)的布局實(shí)物圖,本實(shí)驗(yàn)中主要用到總線、PWM(D4)、TX2/RX2。

主機(jī)正面圖 ?
主機(jī)電路引腳圖(從右向左與主機(jī)對(duì)應(yīng))

按下圖所示進(jìn)行機(jī)械臂的電路連接:

機(jī)械臂與主機(jī)外設(shè)的接線圖
顯示屏、鼠標(biāo)、鍵盤與主機(jī)進(jìn)行連接

開機(jī)注意事項(xiàng)

? ? ? 機(jī)械臂的狀態(tài)主要包含非復(fù)位狀態(tài)、復(fù)位狀態(tài)(其中復(fù)位狀態(tài)指的是:大臂轉(zhuǎn)動(dòng)到垂直狀態(tài)、小臂轉(zhuǎn)動(dòng)到水平狀態(tài))。只有開機(jī)看到機(jī)械臂能夠從非復(fù)位狀態(tài)轉(zhuǎn)到復(fù)位狀態(tài),后續(xù)實(shí)驗(yàn)才能正常進(jìn)行;否則可能會(huì)出現(xiàn)燒錄程序,但機(jī)械臂不按預(yù)期運(yùn)動(dòng)的現(xiàn)象。

機(jī)械臂非復(fù)位狀態(tài)
機(jī)械臂的復(fù)位狀態(tài)

4. 軟硬件環(huán)境配置及使用

4.1軟硬件環(huán)境介紹

機(jī)器人可利用視覺識(shí)別技術(shù),進(jìn)行識(shí)別、追蹤目標(biāo)、定位等功能。我們可以利用上位機(jī)來控制機(jī)器人的大腦,用下位機(jī)控制設(shè)備。 ?

上位機(jī)是指:

? ? ? 人可以直接發(fā)出操控命令的計(jì)算機(jī),一般是PC或者計(jì)算機(jī)的屏幕上顯示各種信號(hào)變化(液壓,水位,溫度等),本實(shí)驗(yàn)將利用樹莓派屏幕上顯示視覺識(shí)別的結(jié)果。

樹莓派及Ros系統(tǒng)

下位機(jī)是指:

? ? ? 直接控制設(shè)備獲取設(shè)備狀況的的計(jì)算機(jī),一般是PLC/單片機(jī)之類的,本實(shí)驗(yàn)將利用Arduino開源主控板充當(dāng)下位機(jī)進(jìn)行開發(fā)。

Arduino主控板及編程IDE

? ? ? 上位機(jī)發(fā)出的命令首先傳給下位機(jī),下位機(jī)再根據(jù)此命令解釋成相應(yīng)時(shí)序信號(hào),直接控制相應(yīng)設(shè)備。下位機(jī)讀取設(shè)備狀態(tài)數(shù)據(jù)(一般模擬量),轉(zhuǎn)化成數(shù)字信號(hào)反饋給上位機(jī)。選擇合適的平臺(tái)及編程環(huán)境、函數(shù)庫,就可以進(jìn)行機(jī)器人結(jié)構(gòu)、運(yùn)動(dòng)控制、視覺開發(fā)等多方面的應(yīng)用,控制機(jī)器人的行為。

4.2在樹莓派上安裝Ros及功能包

? ? ? 為了便于使用,本實(shí)驗(yàn)中已把樹莓派和Arduino板子進(jìn)行了組合,設(shè)計(jì)出主控盒子(又叫主機(jī)),方便使用。主控盒子已預(yù)裝好操作系統(tǒng)、編程環(huán)境以及需要用到的功能包。

主控盒子(主機(jī))

? ? ? 對(duì)樹莓派上的環(huán)境配置主要包括:安裝Raspberry Pi OS (32-bit) with desktop操作系統(tǒng)、ROS、配置ROS環(huán)境、Arduino IDE、功能包。其中本實(shí)驗(yàn)需要的功能包包括視覺識(shí)別庫(OpenCV2.4.9)、二維碼識(shí)別庫(zbar)。為了方便使用,本實(shí)驗(yàn)已做好了樹莓派鏡像文件,已經(jīng)預(yù)安裝好上述開發(fā)環(huán)境,電路連接好后可直接使用。當(dāng)把主機(jī)與顯示屏連接后,找到文末資料下載中的color_experiment_ws文件夾即可。

5. 資料下載

樣機(jī)3D文件及程序源代碼資料詳見 桌面級(jí)機(jī)械臂-本體說明

二、驅(qū)動(dòng)及控制

1. 總線舵機(jī)模式的設(shè)置

? ? ? 機(jī)械臂驅(qū)動(dòng)采用總線式電機(jī)驅(qū)動(dòng),該總線式電機(jī)具有多種模式,如360°圓周模式、270°逆時(shí)針模式、270°順時(shí)針模式等??偩€舵機(jī)采用單總線通信方式,與傳統(tǒng)舵機(jī)相比,最大特點(diǎn)就是舵機(jī)之間可串聯(lián),最多可級(jí)聯(lián)255個(gè)舵機(jī)。

? ? ? 打開文末資料內(nèi)的“總線舵機(jī)ID及模式更改資料”,為總線舵機(jī)設(shè)置模式,包括轉(zhuǎn)臺(tái)、大臂、小臂三部分,需要分別為總線舵機(jī)設(shè)置ID、工作模式。關(guān)于總線舵機(jī)ID設(shè)置如下圖所示:

機(jī)械臂的各舵機(jī)ID圖

接下來開始為機(jī)械臂的各部分設(shè)置相應(yīng)的舵機(jī)模式:

各部分

總線舵機(jī)ID

計(jì)劃設(shè)置舵機(jī)模式

代表含義

轉(zhuǎn)臺(tái)

000

#000PMOD2!

舵機(jī)模式,角度最大范圍270 度,方向逆時(shí)針

大臂

001

#001PMOD2!

同上

小臂

002

#002PMOD2!

同上

器材準(zhǔn)備:PC機(jī)或筆記本電腦(windows操作系統(tǒng)、Arduino IDE)、以及下圖所示的器材。

操作過程:分別為機(jī)械臂的轉(zhuǎn)臺(tái)、大臂、小臂設(shè)置舵機(jī)模式,并能設(shè)置其初始角度。

1.1設(shè)置轉(zhuǎn)臺(tái)的舵機(jī)模式

第一步:按下圖所示連接電路。

第二步:打開文末資料內(nèi)的”總線舵機(jī)ID及模式更改資料\串口調(diào)試助手\sscom5.13.1.exe”(如下圖所示)。

第三步:選擇端口號(hào)、波特率,并打開串口。

先在菜單欄:串口設(shè)置-打開串口設(shè)置,選擇端口號(hào)、波特率,點(diǎn)擊“ok”即可。

接著點(diǎn)擊“打開串口”,并點(diǎn)擊“擴(kuò)展”。

這里已經(jīng)把命令設(shè)置好了,只需要依次點(diǎn)擊描紅的命令(如下圖所示),就可以完成轉(zhuǎn)臺(tái)模式的設(shè)置,即可觀察到轉(zhuǎn)臺(tái)轉(zhuǎn)動(dòng)到指定角度。

1.2 設(shè)置大臂的舵機(jī)模式

第一步:按下圖所示把大臂的舵機(jī)線與小模塊進(jìn)行電路連接(注意:請(qǐng)先把小模塊斷電)。

第二步:在串口調(diào)試助手里,選擇端口號(hào)、波特率并打開串口。

第三步:依次點(diǎn)擊下邊描紅的命令,就可完成大臂模式的設(shè)置,同時(shí)可觀察到大臂轉(zhuǎn)動(dòng)。

1.3設(shè)置小臂的舵機(jī)模式

第一步:按下圖所示把小臂的舵機(jī)線與小模塊進(jìn)行電路連接(注意:請(qǐng)先把小模塊斷電)。

第二步:在串口調(diào)試助手里,選擇端口號(hào)、波特率并打開串口。

第三步:依次點(diǎn)擊下邊描紅的命令,就可完成小臂模式的設(shè)置,同時(shí)可觀察到小臂轉(zhuǎn)動(dòng)。

這樣就完成了總線舵機(jī)模式的設(shè)置工作,接下來的實(shí)驗(yàn)都是基于這種舵機(jī)模式來完成的。

2. 機(jī)械臂的單關(guān)節(jié)控制

實(shí)現(xiàn)思路:串口發(fā)送命令,控制單關(guān)節(jié)控制(提示:需要先設(shè)置好舵機(jī)模式)

器材準(zhǔn)備:機(jī)械臂本體、主控盒、顯示屏、鍵盤、鼠標(biāo)(如下圖所示)

裝有手爪和攝像頭的實(shí)物圖

操作步驟:

① 下載文末資料內(nèi)的參考程序color_experiment_ws\src\Contril_Single_Joint\arm_driver\arm_driver.ino:

/*------------------------------------------------------------------------------------版權(quán)說明:Copyright 2023 Robottime(Beijing) Technology Co., Ltd. All Rights Reserved.Distributed under MIT license.See file LICENSE for detail or copy athttps://opensource.org/licenses/MITby 機(jī)器譜 2023-08-02 https://www.robotway.com/------------------------------*//*-----------------------------------------------------------------------------------------------------------------實(shí)驗(yàn)功能:實(shí)現(xiàn)單關(guān)節(jié)控制機(jī)械臂控制。實(shí)驗(yàn)思路:通過串口發(fā)送命令,控制機(jī)械臂單關(guān)節(jié)控制。首先程序?qū)崿F(xiàn)讀取串口發(fā)送的數(shù)據(jù),接著處理串口發(fā)送的數(shù)據(jù),最后程序?qū)⑻幚砗玫臄?shù)據(jù)通過Serial1發(fā)送給機(jī)械臂達(dá)到控制機(jī)械臂的效果。注意:串口發(fā)送命令格式為[機(jī)械臂部件pwm](pwm范圍是[500~2500])。例如:rm 1500 底盤轉(zhuǎn)到1500um 1500 大臂轉(zhuǎn)到1500lm 1500 小臂轉(zhuǎn)到1500實(shí)驗(yàn)接線:(主要接線)機(jī)械臂通信口-------------(機(jī)械臂)電控箱機(jī)械爪(舵機(jī))---------------(執(zhí)行器)電控箱其他線路按照教材圖片連接。Created 2020.7.16     By:Boris.yuan-----------------------------------------------------------------------------------------------------------------*/#include <Servo.h>#define CTL_BAUDRATE 115200 //總線舵機(jī)波特率#define SERIAL_PRINTLN Serial1#define SerialBaudrate 115200#define RM "rm"#define UM "um"#define LM "lm"String receive_string = "";int catch_red_numbers=0;int catch_blue_numbers=0;int current_angle=0;void setup() {// put your setup code here, to run once:delay(1100);Serial.begin(SerialBaudrate);SERIAL_PRINTLN.begin(CTL_BAUDRATE);Bus_servo_angle_init();delay(2000);Serial.println("Please input your commond......");}void loop() {while(Serial.available()>0){String commond = "";long n_step = 0;int index = 0;commond = Serial.readStringUntil('\n');index = commond.indexOf(' ');n_step = commond.substring(index+1).toInt();commond = commond.substring(0,index);Serial.print(commond);Serial.print('\t');Serial.println(n_step);if(commond==RM){if( (n_step<500) || (n_step>2500) ){Serial.println("Sorry,the angle is out of range!");}else{ArmSingleServoTo(0,n_step);}n_step=0;commond="";}if(commond==UM){if( (n_step<500) || (n_step>2500) ){Serial.println("Sorry,the angle is out of range!");}else{     ArmSingleServoTo(1,n_step);}n_step=0;commond="";}if(commond==LM){if( (n_step<500) || (n_step>2500) ){Serial.println("Sorry,the angle is out of range!");}else{     ArmSingleServoTo(2,n_step);}n_step=0;commond="";}Serial.println();Serial.println("------------------------------------");}}

② 打開串口,查看返回的結(jié)果值。

注意:串口發(fā)送命令格式為[部件 pwm](pwm范圍是[500~2500])。

串口發(fā)送命令例子

代表含義

rm 1500

底盤轉(zhuǎn)到1500

um 1500

大臂轉(zhuǎn)到1500

lm 1500

小臂轉(zhuǎn)到1500

首先,設(shè)置波特率并等待程序初始化,界面如下圖所示:

接下來,可以發(fā)送控制轉(zhuǎn)臺(tái)運(yùn)動(dòng)的例子,來觀看結(jié)果。

輸入格式如下圖所示,就可以看見機(jī)械臂的轉(zhuǎn)臺(tái)運(yùn)動(dòng):

同時(shí)也可看見串口顯示數(shù)據(jù)。

下面是本實(shí)驗(yàn)中分別針對(duì)轉(zhuǎn)臺(tái)、大臂、小臂轉(zhuǎn)動(dòng)位置進(jìn)行測(cè)試的結(jié)果(如下圖所示)。

3. 操作桿方案

實(shí)現(xiàn)思路:通過操作桿控制氣動(dòng)盒的開、關(guān); 當(dāng)氣動(dòng)盒打開后,實(shí)現(xiàn)可以吸物塊的功能。

實(shí)驗(yàn)器材及接線:如下圖所示。

操作步驟:

第一步:Basra主控板Bigfish擴(kuò)展板??Birdmen手柄擴(kuò)展板 堆疊在一起。

Birdmen手柄擴(kuò)展板引腳圖如下圖所示:

第二步:下載文末資料內(nèi)的參考程序color_experiment_ws\src\Rocker_Control_Sucker\rocker_contril_sucker\rocker_contril_sucker.ino:

/*------------------------------------------------------------------------------------版權(quán)說明:Copyright 2023 Robottime(Beijing) Technology Co., Ltd. All Rights Reserved.Distributed under MIT license.See file LICENSE for detail or copy athttps://opensource.org/licenses/MITby 機(jī)器譜 2023-08-03 https://www.robotway.com/------------------------------*//*實(shí)驗(yàn)功能:搖桿模塊控制吸盤開關(guān)。實(shí)驗(yàn)思路:讀取搖桿模塊數(shù)值,判斷該數(shù)據(jù),進(jìn)而根據(jù)數(shù)據(jù)選取區(qū)間,編寫不同區(qū)間,吸盤狀態(tài)。實(shí)驗(yàn)操作:將該例程下載到arduino開發(fā)版,按照實(shí)驗(yàn)教程接線,完成后,給模塊上電,試著滑動(dòng)搖桿模塊,控制吸盤開關(guān)狀態(tài)。實(shí)驗(yàn)接線:氣動(dòng)箱信號(hào)腳連接到Barsa的D12引腳Create 2020.7.17   By:Boris.yuan*/#define Sucker_Pin 12#define Rocker_Pin A1void setup() {// put your setup code here, to run once:delay(1000);Serial.begin(9600);pinMode(Sucker_Pin,OUTPUT);pinMode(Rocker_Pin,INPUT);}void loop() {// put your main code here, to run repeatedly:int receive_Rocker_data = analogRead(Rocker_Pin);Serial.println(receive_Rocker_data);if( (receive_Rocker_data<200) ){digitalWrite(Sucker_Pin,LOW);}else if( (receive_Rocker_data>800) ){digitalWrite(Sucker_Pin,HIGH);}delay(30);}

第三步:左側(cè)的搖桿,當(dāng)向右按下時(shí),氣動(dòng)盒開關(guān)打開,可以吸取物品(如下圖所示);當(dāng)向左按下時(shí),氣動(dòng)盒開關(guān)關(guān)閉。

4. 機(jī)械臂的無線遙控

本實(shí)驗(yàn)將通過?藍(lán)牙 結(jié)合一個(gè)可編程示教器進(jìn)行無線遙控的學(xué)習(xí),包含藍(lán)牙通信設(shè)定、無線控制。

4.1 兩個(gè)藍(lán)牙通信設(shè)定

實(shí)驗(yàn)?zāi)康?#xff1a;測(cè)試藍(lán)牙主從模塊數(shù)據(jù)發(fā)收。

連接在Birdmen手柄擴(kuò)展板上的藍(lán)牙模塊為主模塊;連接在帶開關(guān)通信擴(kuò)展塢上的藍(lán)牙模塊為從模塊。

實(shí)現(xiàn)思路:當(dāng)藍(lán)牙主模塊發(fā)送數(shù)據(jù)(如123)時(shí),藍(lán)牙從模塊能收到該數(shù)據(jù)(123),代表通信成功。

實(shí)驗(yàn)器材:如下圖所示。

藍(lán)牙通信模塊及配套線

操作步驟:

? ? ? 第一步:先給Basra主控板下載藍(lán)牙主模塊程序。

① 先按下圖所示連接好電路(注意:藍(lán)牙通信擴(kuò)展塢的開關(guān)需撥到左側(cè))。

② 然后下載文末資料內(nèi)的參考程序color_experiment_ws\src\Bluetooth_communication\Master\Master.ino:

/*------------------------------------------------------------------------------------版權(quán)說明:Copyright 2023 Robottime(Beijing) Technology Co., Ltd. All Rights Reserved.Distributed under MIT license.See file LICENSE for detail or copy athttps://opensource.org/licenses/MITby 機(jī)器譜 2023-08-03 https://www.robotway.com/------------------------------*/
#define Baud 9600
#define SERIAL Serial2void setup() {// put your setup code here, to run once:
delay(1000);
Serial.begin(Baud);
SERIAL.begin(Baud);
}void loop() {// put your main code here, to run repeatedly:while(SERIAL.available()>0){String receive_string = SERIAL.readStringUntil('\n');Serial.println(receive_string);receive_string = " ";}
}

③ 最后拔掉此主控板的USB線,將藍(lán)牙主模塊插在Bigfish擴(kuò)展板的擴(kuò)展塢上(如下圖所示)。打開電源后,若看到藍(lán)牙上的燈一閃一閃的,代表正在等待連接中。

第二步:給主機(jī)里的Arduino mega2560控制板下載藍(lán)牙從模塊程序。

① 把藍(lán)牙通信模塊與主機(jī)的Tx2/RX2接口進(jìn)行連接(如下圖所示)。

② 然后下載文末資料內(nèi)的參考程序color_experiment_ws\src\Bluetooth_communication\Salve\Salve.ino:

/*------------------------------------------------------------------------------------版權(quán)說明:Copyright 2023 Robottime(Beijing) Technology Co., Ltd. All Rights Reserved.Distributed under MIT license.See file LICENSE for detail or copy athttps://opensource.org/licenses/MITby 機(jī)器譜 2023-08-03 https://www.robotway.com/------------------------------*/#define Baud 9600#define SERIAL Serial2void setup() {// put your setup code here, to run once:delay(1000);Serial.begin(Baud);SERIAL.begin(Baud);}void loop() {// put your main code here, to run repeatedly:while(SERIAL.available()>0){String receive_string = SERIAL.readStringUntil('\n');Serial.println(receive_string);receive_string = " ";}}

③ 把藍(lán)牙從模塊連接在底座上(如下圖所示),然后接在主機(jī)的TX2/RX2上,可以看見藍(lán)牙從模塊的燈亮,且一閃一閃的。

第三步:觀察藍(lán)牙主從模塊燈,如果看到藍(lán)牙主從模塊上的燈亮著但不閃爍,則表示藍(lán)牙主從模塊連接成功。

第四步打開藍(lán)牙(從)模塊的Arduino串口監(jiān)視器,觀察是否接受到數(shù)據(jù)“123”,如果接收到相應(yīng)的數(shù)據(jù)(如下圖所示),則表示藍(lán)牙主從模塊通信成功。

4.2 藍(lán)牙遙控

實(shí)驗(yàn)?zāi)康?#xff1a;通過控制手柄上的兩個(gè)搖桿,來實(shí)現(xiàn)機(jī)械臂氣動(dòng)搬運(yùn)物塊的功能。

實(shí)現(xiàn)思路:當(dāng)按下手柄搖桿的不同方向時(shí),可以控制機(jī)械臂的轉(zhuǎn)臺(tái)、大臂、小臂朝不同方向運(yùn)動(dòng)(默認(rèn)規(guī)定手柄左邊為左側(cè)搖桿,右邊為右側(cè)搖桿)

當(dāng)左側(cè)搖桿按下后,控制的吸盤、小臂的情況如下圖所示:

當(dāng)右側(cè)搖桿按下后,控制的轉(zhuǎn)臺(tái)、大臂的情況如下圖所示:

實(shí)驗(yàn)器材:BLE4.0藍(lán)牙模塊 ×2、連接線、Basra控制板×1、與藍(lán)牙連接的底座、機(jī)械臂本體、氣動(dòng)盒、連接線、主機(jī)、顯示屏、鼠標(biāo)、鍵盤

操作步驟:

第一步:先給帶有搖桿模塊的主控板(接藍(lán)牙主模塊)下載程序。

① 按下圖所示連接電路:

② 然后下載文末資料內(nèi)的參考程序color_experiment_ws\src\Wireness_Contril\Program_With_Rocker\controller\controller.ino:

/*------------------------------------------------------------------------------------版權(quán)說明:Copyright 2023 Robottime(Beijing) Technology Co., Ltd. All Rights Reserved.Distributed under MIT license.See file LICENSE for detail or copy athttps://opensource.org/licenses/MITby 機(jī)器譜 2023-08-03 https://www.robotway.com/------------------------------*/void setup() {// put your setup code here, to run once:Serial.begin(9600); //藍(lán)牙串口波特率pinMode(A0, INPUT); //左側(cè)上下?lián)u桿引腳pinMode(A1, INPUT); //左側(cè)上下?lián)u桿引腳pinMode(A2, INPUT); //右側(cè)上下?lián)u桿引腳pinMode(A3, INPUT); //右側(cè)上下?lián)u桿引腳}void loop() {// put your main code here, to run repeatedly:if(analogRead(A0) > 1000){Serial.print('u');}if(analogRead(A0) < 25){Serial.print('d');}if(analogRead(A1) > 1000){Serial.print('c');}if(analogRead(A1) < 25){Serial.print('s');}if(analogRead(A2) > 1000){Serial.print('f');}if(analogRead(A2) < 25){Serial.print('b');}if(analogRead(A3) > 1000){Serial.print('r');}if(analogRead(A3) < 25){Serial.print('l');}delay(10);//發(fā)送執(zhí)行周期20ms,可更改,越小機(jī)械臂運(yùn)動(dòng)越快,但是可能導(dǎo)致機(jī)械臂卡頓}

③ 將藍(lán)牙主模塊按下圖所示插在手柄的擴(kuò)展塢上。

第二步:給主機(jī)里的Arduino mega2560控制板(與藍(lán)牙從模塊連接)下載程序。

① 先把藍(lán)牙從模塊連接在擴(kuò)展底座上;并把另一端與主機(jī)的TX2/RX2進(jìn)行連接。

再把氣動(dòng)盒的三芯線與主機(jī)的PWM進(jìn)行連接(如下圖所示)。

② 然后下載文末資料內(nèi)的參考程序color_experiment_ws\src\Wireness_Contril\Program_With_Chassis\Black_Handle_Robot_Arm_New\Black_Handle_Robot_Arm_New.ino:

/*------------------------------------------------------------------------------------版權(quán)說明:Copyright 2023 Robottime(Beijing) Technology Co., Ltd. All Rights Reserved.Distributed under MIT license.See file LICENSE for detail or copy athttps://opensource.org/licenses/MITby 機(jī)器譜 2023-08-03 https://www.robotway.com/------------------------------*///#include <SoftwareSerial.h>#include <stdio.h>#include <string.h>//#define mySerial Serial2 //總線舵機(jī)串口,TX2,GND,5V//#define mySerial2 Serial1 //藍(lán)牙遙控串口TX1,RX1,GND,3.3V#define CTL_BAUDRATE 115200 //總線舵機(jī)波特率#define NOZZLE_PIN 4 //氣動(dòng)引腳,注意氣動(dòng)供電6v#define INIT_X 1 //假設(shè)大臂長(zhǎng)度單位為1#define INIT_Y 1 //小臂長(zhǎng)度與大臂長(zhǎng)一致單位為1#define INIT_R 1500 //底座總線舵機(jī)中間位置波特率為1500#define DX 0.01 //每次X方向長(zhǎng)的移動(dòng)距離單位#define DY 0.01 //每次Y方向臂長(zhǎng)的移動(dòng)距離單位#define DR 5 //每次底座轉(zhuǎn)動(dòng)的單位//SoftwareSerial mySerial(51, 4);//SoftwareSerial mySerial2(10, 11);#define mySerial2 Serial2#define mySerial Serial1float cur_x = INIT_X, cur_y = INIT_Y;int cur_r = INIT_R;int alphaToUpwm(float alpha){return 2732.0-(alpha/M_PI)*2464;/*大臂轉(zhuǎn)動(dòng)角度的計(jì)算公式。2464是大臂擺動(dòng)180°總線舵機(jī)計(jì)算后的pwm長(zhǎng)度。大臂的減速比是44/25=1.76,測(cè)試的motor轉(zhuǎn)動(dòng)180°需要的pwm長(zhǎng)度是1400,1.76×1400=2464;2732是轉(zhuǎn)動(dòng)90°之后豎直向上對(duì)應(yīng)的實(shí)際pwm值,2732=(2464/2)+1500,其中1500是大臂初始化豎直狀態(tài)是電機(jī)的PWM值*/}int betaToLpwm(float beta){return 1500 + (beta/M_PI)*1400; //小臂無減速比,由總線舵機(jī)直接驅(qū)動(dòng),小臂轉(zhuǎn)動(dòng)角度的計(jì)算公式,1400是小臂擺動(dòng)180°總線舵機(jī)需要的PWM長(zhǎng)度,1500是小臂保持水平狀態(tài)的舵機(jī)PWM值}int armMoveTo(float x, float y){float alpha, beta;if (!cartesianToAlphaBeta(x, y, alpha, beta)){armServoTo(alphaToUpwm(alpha),betaToLpwm(beta));return 0;}return 1;}void setup() {// put your setup code here, to run once:mySerial.begin(CTL_BAUDRATE);pinMode(NOZZLE_PIN, OUTPUT); //氣動(dòng)引腳定義mySerial2.begin(9600); //藍(lán)牙串口波特率設(shè)置nozzle_off(); //初始化氣動(dòng)關(guān)閉delay(1000);Serial.begin(9600);armMoveTo(cur_x, cur_y); //初始化機(jī)械臂大臂小臂位置cur_r = rotServoTo(cur_r); //初始化機(jī)械臂底座位置}void loop() {//   Serial.print(Serial1.parseInt());// put your main code here, to run repeatedly:if (mySerial2.available()){char c = mySerial2.read();float tx, ty;switch(c){case 'u': // upty = cur_y + DY;if (armMoveTo(cur_x, ty) == 0) // success{cur_y = ty;}break;case 'd': // downty = cur_y - DY;if (armMoveTo(cur_x, ty) == 0) // success{cur_y = ty;}break;case 'f': // forwardtx = cur_x + DX;if (armMoveTo(tx, cur_y) == 0) // success{cur_x = tx;}break;case 'b': // backwardtx = cur_x - DX;if (armMoveTo(tx, cur_y) == 0) // success{cur_x = tx;}break;case 'l': // leftcur_r = rotServoTo(cur_r - DR);break;case 'r': // rightcur_r = rotServoTo(cur_r + DR);break;case 'c': // catch//Serial.println('c');nozzle_on();break;case 's': // release//Serial.println('s');nozzle_off();break;}}}

第三步:通過控制手柄上的兩個(gè)搖桿,來實(shí)現(xiàn)機(jī)械臂氣動(dòng)搬運(yùn)物塊的功能。

程序源代碼及總線舵機(jī)ID及模式更改資料詳見 桌面級(jí)機(jī)械臂-驅(qū)動(dòng)及控制

http://m.risenshineclean.com/news/60980.html

相關(guān)文章:

  • 手機(jī)app網(wǎng)站模板余姚網(wǎng)站如何進(jìn)行優(yōu)化
  • 網(wǎng)站建設(shè)捌金手指花總十一整合網(wǎng)絡(luò)營(yíng)銷是什么
  • 易支付做網(wǎng)站接口怎么賺錢網(wǎng)絡(luò)營(yíng)銷策略理論
  • 一個(gè)網(wǎng)站怎么留住用戶專業(yè)網(wǎng)站建設(shè)公司
  • 你去湖北省住房城鄉(xiāng)建設(shè)廳網(wǎng)站查seo專員很難嗎
  • 動(dòng)態(tài)ip上做網(wǎng)站網(wǎng)絡(luò)軟文是什么意思
  • 做網(wǎng)站 做好把我踢開長(zhǎng)沙百度網(wǎng)站排名優(yōu)化
  • 建設(shè)網(wǎng)站需要哪些人獨(dú)立站seo推廣
  • 珠海市城市建設(shè)檔案館網(wǎng)站seo優(yōu)化標(biāo)題 關(guān)鍵詞
  • 我國(guó)現(xiàn)在疫情防控現(xiàn)狀搜索引擎優(yōu)化公司排行
  • 網(wǎng)站建設(shè)常見問題及解決辦法廈門網(wǎng)站建設(shè)
  • 攝影網(wǎng)頁設(shè)計(jì)方案win7優(yōu)化設(shè)置
  • 怎么創(chuàng)辦自己的網(wǎng)站云搜索網(wǎng)頁版入口
  • 設(shè)計(jì)好看的美食網(wǎng)站有哪些百度廣告投放收費(fèi)標(biāo)準(zhǔn)
  • 寧國(guó)市有做網(wǎng)站推廣賺傭金項(xiàng)目
  • 戈韋思網(wǎng)站建設(shè)優(yōu)化網(wǎng)站推廣教程排名
  • 上海網(wǎng)站建設(shè)公司四葉互聯(lián)網(wǎng)站運(yùn)營(yíng)工作的基本內(nèi)容
  • 張家界網(wǎng)站建設(shè)多少錢大連網(wǎng)站排名推廣
  • 手機(jī)網(wǎng)站解析天津百度網(wǎng)站排名優(yōu)化
  • 我愛做媽媽網(wǎng)站磁力天堂
  • 黃山旅游攻略一日游最佳路線排名seo怎么樣
  • 網(wǎng)站難做嗎推動(dòng)高質(zhì)量發(fā)展
  • 南聯(lián)網(wǎng)站建設(shè)哪家好seo是什么意思新手怎么做seo
  • 高端網(wǎng)站建設(shè)深圳寧德市屬于哪個(gè)省份
  • 網(wǎng)站方案策劃怎么寫免費(fèi)網(wǎng)站推廣軟件下載
  • 怎么樣提高網(wǎng)站點(diǎn)擊率高明公司搜索seo
  • 上海城鄉(xiāng)建設(shè)網(wǎng)站如何制作一個(gè)屬于自己的網(wǎng)站
  • 接單做效果圖網(wǎng)站域名查詢?cè)L問
  • 企業(yè)營(yíng)銷型網(wǎng)站做的好小程序推廣方案
  • 小企業(yè)網(wǎng)站建設(shè)的措施群站優(yōu)化之鏈輪模式