极品馒头泬19p,国产精品亚洲一区二区三区,狠狠色噜噜狠狠狠7777奇米,国产精品视频一区二区三区无码,国产欧美日韩久久久久

【E2185】基于機(jī)器視覺的仿生機(jī)械手掌

2021-11-06 20:42:20      索煒達(dá)電子      1050     

項(xiàng)目編號:E2185

文件大?。?3M

源碼說明:帶中文注釋

開發(fā)環(huán)境:C編譯器

簡要概述:

設(shè)計(jì)一種基于機(jī)器視覺的仿生機(jī)械手。該仿生機(jī)械手嘗試運(yùn)用OpenCV圖像處理技術(shù)預(yù)處理攝像頭采集到的數(shù)據(jù),匹配對應(yīng)模型實(shí)現(xiàn)機(jī)械手掌的動作,同時(shí)運(yùn)用多舵機(jī)協(xié)同控制來提高手掌的可操作性以及靈活性

【E2185】基于機(jī)器視覺的仿生機(jī)械手掌

一、樹莓派上的手勢分類

首先需安裝樹莓派官方系統(tǒng),搭建好opencv和tensorflow開發(fā)環(huán)境;


opencv安裝方法請參考:https://blog.csdn.net/leaves_joe/article/details/67656340?utm_source=app


tensorflow安裝方法:


首先安裝pip3。


sudo apt-get install python3-dev

sudo apt-get install python-dev

查看python3的版本:


python3 -v

一般樹莓派4使用的是python3.7,如果網(wǎng)速可以,直接安裝:


sudo pip3 install tensorflow

如若安裝失敗,則請下載本地安裝包,我這使用的是tensorflow-1.13.1-cp37-none-linux_armv7l.whl,在存放這個(gè)文件的文件夾下:


sudo pip3 install tensorflow-1.13.1-cp37-none-linux_armv7l.whl

如若報(bào)錯(cuò)少了h5py,則請下載h5py-2.7.1-cp37-cp37m-linux_armv7l.whl,先安裝h5py,再安裝tensorflow:


sudo pip3 install h5py-2.7.1-cp37-cp37m-linux_armv7l.whl

在安裝完opencv和tensorflow后在終端輸入python3后,鍵入:


import cv2

import tensorflow as tf

print(cv2.__version__)

print(tf.__version__)

如果正常打印出版本信息,則安裝正確,會有警告,但無妨;


安裝完環(huán)境后:


---------------------------------------------------------------------------********重點(diǎn)-------------------------------------------------------------------


最好將 樹莓派4B上手勢識別 這個(gè)文件夾重命名為英文,我這命名為:rps ;


在rps文件夾中新建一個(gè)文件夾 images。運(yùn)行cam.py文件,會自動采集照片到images文件夾。文件名為imageX.jpg,其中X為序號。需采集“石頭”“剪刀”“布”“干擾手勢”,分別保存到“paper”"rock""scissors""others"


model.py: 卷積神經(jīng)網(wǎng)絡(luò)模型


read_image.py:將圖片讀入內(nèi)存


train.py:訓(xùn)練模型


test.py :測試手勢圖片識別結(jié)果


rps.py:最終完成


test1.py:是一個(gè)測試腳本,需首先在當(dāng)前文件夾中,新建一個(gè)文件夾testdata,在此文件夾放置石頭剪刀布手勢圖片各100張,會生成識別結(jié)果圖。


二、STM32舵機(jī)控制

沒啥好說的,看原理圖,本程序主要產(chǎn)生五路PWM信號控制舵機(jī),并接收串口信息。STM32的基礎(chǔ)操作請自行學(xué)習(xí)。


三、串口通信

采用樹莓派的ttyAMA0的串口,但此設(shè)備默認(rèn)給了藍(lán)牙,所以需要改變映射規(guī)則,具體操作,請百度。


將 串口通信 文件夾重命名為serial。在serial文件夾中make。會生成libserial.so靜態(tài)鏈接庫,里面實(shí)現(xiàn)了具體的串口通信的方法,源碼中有注釋。

目錄│文件列表:

 └ Undergraduate-graduation-project

    │ h5py-2.7.1-cp37-cp37m-linux_armv7l.whl

    │ tensorflow-1.13.1-cp37-none-linux_armv7l.whl

    ├ STM32舵機(jī)控制

    │  ├ APP

    │  │  │ alldef.h

    │  │  │ control.c

    │  │  │ control.h

    │  │  │ led.c

    │  │  │ led.h

    │  │  │ pwm.c

    │  │  │ pwm.h

    │  │  │ tim.c

    │  │  │ tim.h

    │  │  │ usart.c

    │  │  │ usart.h

    │  │  └ LobotServoController

    │  │     │ bool.h

    │  │     │ LobotServoController.c

    │  │     └ LobotServoController.h

    │  ├ CORE

    │  │  │ core_cm3.c

    │  │  │ core_cm3.h

    │  │  │ startup_stm32f10x_hd.s

    │  │  │ system.c

    │  │  │ system.h

    │  │  │ SysTick.c

    │  │  └ SysTick.h

    │  ├ OBJ

    │  │  │ control.crf

    │  │  │ control.d

    │  │  │ control.o

    │  │  │ core_cm3.crf

    │  │  │ core_cm3.d

    │  │  │ core_cm3.o

    │  │  │ ExtDll.iex

    │  │  │ led.crf

    │  │  │ led.d

    │  │  │ led.o

    │  │  │ lobotservocontroller.crf

    │  │  │ lobotservocontroller.d

    │  │  │ lobotservocontroller.o

    │  │  │ main.crf

    │  │  │ main.d

    │  │  │ main.o

    │  │  │ misc.crf

    │  │  │ misc.d

    │  │  │ misc.o

    │  │  │ pwm.crf

    │  │  │ pwm.d

    │  │  │ pwm.o

    │  │  │ startup_stm32f10x_hd.d

    │  │  │ startup_stm32f10x_hd.o

    │  │  │ stm32f10x_exti.crf

    │  │  │ stm32f10x_exti.d

    │  │  │ stm32f10x_exti.o

    │  │  │ stm32f10x_gpio.crf

    │  │  │ stm32f10x_gpio.d

    │  │  │ stm32f10x_gpio.o

    │  │  │ stm32f10x_it.crf

    │  │  │ stm32f10x_it.d

    │  │  │ stm32f10x_it.o

    │  │  │ stm32f10x_rcc.crf

    │  │  │ stm32f10x_rcc.d

    │  │  │ stm32f10x_rcc.o

    │  │  │ stm32f10x_tim.crf

    │  │  │ stm32f10x_tim.d

    │  │  │ stm32f10x_tim.o

    │  │  │ stm32f10x_usart.crf

    │  │  │ stm32f10x_usart.d

    │  │  │ stm32f10x_usart.o

    │  │  │ system.crf

    │  │  │ system.d

    │  │  │ system.o

    │  │  │ system_stm32f10x.crf

    │  │  │ system_stm32f10x.d

    │  │  │ system_stm32f10x.o

    │  │  │ system_stm32f10x_1.crf

    │  │  │ system_stm32f10x_1.d

    │  │  │ system_stm32f10x_1.o

    │  │  │ systick.crf

    │  │  │ systick.d

    │  │  │ systick.o

    │  │  │ template.axf

    │  │  │ template.build_log.htm

    │  │  │ template.hex

    │  │  │ template.htm

    │  │  │ template.lnp

    │  │  │ template.sct

    │  │  │ template_Target 1.dep

    │  │  │ tim.crf

    │  │  │ tim.d

    │  │  │ tim.o

    │  │  │ usart.crf

    │  │  │ usart.d

    │  │  └ usart.o

    │  ├ TM32F10x_FWLib

    │  │  ├ inc

    │  │  │  │ misc.h

    │  │  │  │ stm32f10x_adc.h

    │  │  │  │ stm32f10x_bkp.h

    │  │  │  │ stm32f10x_can.h

    │  │  │  │ stm32f10x_cec.h

    │  │  │  │ stm32f10x_crc.h

    │  │  │  │ stm32f10x_dac.h

    │  │  │  │ stm32f10x_dbgmcu.h

    │  │  │  │ stm32f10x_dma.h

    │  │  │  │ stm32f10x_exti.h

    │  │  │  │ stm32f10x_flash.h

    │  │  │  │ stm32f10x_fsmc.h

    │  │  │  │ stm32f10x_gpio.h

    │  │  │  │ stm32f10x_i2c.h

    │  │  │  │ stm32f10x_iwdg.h

    │  │  │  │ stm32f10x_pwr.h

    │  │  │  │ stm32f10x_rcc.h

    │  │  │  │ stm32f10x_rtc.h

    │  │  │  │ stm32f10x_sdio.h

    │  │  │  │ stm32f10x_spi.h

    │  │  │  │ stm32f10x_tim.h

    │  │  │  │ stm32f10x_usart.h

    │  │  │  └ stm32f10x_wwdg.h

    │  │  └ src

    │  │     │ misc.c

    │  │     │ stm32f10x_adc.c

    │  │     │ stm32f10x_bkp.c

    │  │     │ stm32f10x_can.c

    │  │     │ stm32f10x_cec.c

    │  │     │ stm32f10x_crc.c

    │  │     │ stm32f10x_dac.c

    │  │     │ stm32f10x_dbgmcu.c

    │  │     │ stm32f10x_dma.c

    │  │     │ stm32f10x_exti.c

    │  │     │ stm32f10x_flash.c

    │  │     │ stm32f10x_fsmc.c

    │  │     │ stm32f10x_gpio.c

    │  │     │ stm32f10x_i2c.c

    │  │     │ stm32f10x_iwdg.c

    │  │     │ stm32f10x_pwr.c

    │  │     │ stm32f10x_rcc.c

    │  │     │ stm32f10x_rtc.c

    │  │     │ stm32f10x_sdio.c

    │  │     │ stm32f10x_spi.c

    │  │     │ stm32f10x_tim.c

    │  │     │ stm32f10x_usart.c

    │  │     └ stm32f10x_wwdg.c

    │  └ USER

    │     │ JLinkLog.txt

    │     │ JLinkSettings.ini

    │     │ main.c

    │     │ stm32f10x.h

    │     │ stm32f10x_conf.h

    │     │ stm32f10x_it.c

    │     │ stm32f10x_it.h

    │     │ system_stm32f10x.c

    │     │ system_stm32f10x.h

    │     │ template.uvguix.zhouzhou

    │     │ template.uvoptx

    │     │ template.uvprojx

    │     └ Listings

    │        │ startup_stm32f10x_hd.lst

    │        └ template.map

    ├ 串口通信

    │  │ bool.h

    │  │ makefile

    │  │ serial.c

    │  │ serial.h

    │  └ ServoController.h

    └ 樹莓派4B上手勢識別

       │ cam.py

       │ model.py

       │ read_image.py

       │ rps.py

       │ test.py

       │ test1.py

       └ train.py

TAG機(jī)械手掌
  • 6 次
  • 1 分