Skip to content

Commit d1c0b47

Browse files
committed
280 riscv将yolov5改为yolov8,取消手动框选识别区域逻辑,可自动框选
1 parent 404b616 commit d1c0b47

File tree

5 files changed

+114
-30
lines changed

5 files changed

+114
-30
lines changed

README.md

Lines changed: 58 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,33 @@
11
# **AiKit UI Instructions**
22

3-
- **Applicable models and devices:** myPalletizer 260 for M5、myCobot 280 for M5、ultraArm P340、mechArm 270 for M5、myCobot 280 for Pi、mechArm 270 for Pi、myCobot 280 for JN、myPalletizer 260 for Pi
4-
5-
## Requires environment
3+
- **Applicable models and devices:**
4+
- myPalletizer 260 for M5
5+
- myCobot 280 for M5
6+
- ultraArm P340
7+
- mechArm 270 for M5
8+
- myCobot 280 for Pi
9+
- mechArm 270 for Pi
10+
- myCobot 280 for JN
11+
- myPalletizer 260 for Pi
12+
- myCobot 280 RISCV
13+
14+
## 一、Requires environment
615

716
Raspberry Pi Ubuntu20.04 system、Windows 10 or Windows 11、Jetson Nano Ubuntu20.04 system
817

918
## python dependency package
1019

20+
### 1. 普通机型设备
21+
- myPalletizer 260 for M5
22+
- myCobot 280 for M5
23+
- ultraArm P340
24+
- mechArm 270 for M5
25+
- myCobot 280 for Pi
26+
- mechArm 270 for Pi
27+
- myCobot 280 for JN
28+
- myPalletizer 260 for Pi
29+
30+
1131
使用前需确保系统已经安装以下第三方库,其中 `opencv-python``opencv-contrib-python`必须指定安装 **4.6.0.66** 的版本,其他库原则上无需指定版本号。
1232

1333
```bash
@@ -27,13 +47,44 @@ pip install pyqt5
2747
2848
```
2949

30-
## Install
50+
#### Install
3151

3252
```angular2html
3353
git clone https://github.com/elephantrobotics/AiKit_UI.git
3454
```
3555

36-
## **start method**
56+
### 2. RISCV机型
57+
- myCobot 280 RISCV
58+
59+
#### 创建虚拟环境
60+
61+
```bash
62+
sudo apt install python3-virtualenv
63+
virtualenv elephantics-venv
64+
source elephantics-venv/bin/activate
65+
```
66+
67+
#### 安装依赖项
68+
69+
```bash
70+
sudo apt install libopenblas-dev
71+
```
72+
73+
#### 安装
74+
75+
```bash
76+
git clone https://github.com/elephantrobotics/AiKit_UI.git
77+
```
78+
79+
#### 安装python依赖库
80+
81+
```bash
82+
cd AiKit_UI/libraries/yolov8File
83+
pip install -r requirements.txt
84+
```
85+
86+
87+
## 二、start method
3788

3889
path: Project file path
3990

@@ -42,6 +93,8 @@ cd AiKit_UI
4293
python main.py
4394
```
4495

96+
>> **注意**: myCobot 280 RISCV机型的YOLO算法识别改用为YOLOv8,不再使用YOLOv5识别算法,当机型设备为RISCV时,算法下拉框列表只能选中yolov8,不可选中yolov5,yolov8的使用更加简单便捷,无需手动框选识别区域,可自动框选,使用方式与颜色识别一样。
97+
4598
After the startup is successful, as shown in the figure below:<br>
4699

47100
![img](./libraries/AiKit_UI_img/1.png)
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
jieba==0.42.1
2+
kaldi-native-fbank==1.20.1
3+
sniffio==1.3.1
4+
typing_extensions==4.12.2
5+
idna==3.10
6+
certifi==2025.1.31
7+
h11==0.14.0
8+
httpcore==1.0.7
9+
distro==1.9.0
10+
jiter==0.6.1
11+
annotated-types==0.7.0
12+
pydantic_core==2.27.2
13+
pydantic==2.10.6
14+
tqdm==4.67.1
15+
anyio==4.9.0
16+
httpx==0.28.1
17+
ollama==0.4.7
18+
openai==1.68.2
19+
pip==25.0.1
20+
packaging==24.2
21+
pipdeptree==2.26.0
22+
PyAudio==0.2.14
23+
PyYAML==6.0.1
24+
numpy==1.26.4
25+
scipy==1.14.1
26+
setuptools==78.0.2
27+
pycparser==2.22
28+
cffi==1.17.1
29+
soundfile==0.13.1
30+
spacemit-ort==1.2.2
31+
webrtcvad==2.0.10
32+
opencv-python==4.6.8.1
33+
pyqt5==5.15.11
34+
gpiozero==2.0.4
35+
pyserial==3.5
36+
pymycobot==3.9.3
37+
matplotlib==3.10.1

main.py

Lines changed: 19 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,19 @@ def _init_variable(self):
176176
self.cooldown_counter = 0 # 新增冷却计数器(单位:帧)- yolov8
177177
self.detect_history = deque(maxlen=5) # 存放最近5帧识别结果 - yolov8
178178

179+
self.mycobot_riscv = open("/sys/devices/soc0/machine").read().strip() == "spacemit k1-x RV4B board"
180+
if self.mycobot_riscv:
181+
from gpiozero.pins.lgpio import LGPIOFactory
182+
from gpiozero import Device, LED
183+
Device.pin_factory = LGPIOFactory(chip=0) # 显式指定/dev/gpiochip0
184+
# 初始化 GPIO 控制的设备
185+
self.pump = LED(71) # 气泵
186+
self.valve = LED(72) # 阀门
187+
self.pump.on() # 关闭泵
188+
time.sleep(0.05)
189+
self.valve.on() # 打开阀门
190+
time.sleep(1)
191+
179192
self._init_ = 20
180193
self.init_num = 0
181194
self.nparams = 0
@@ -2017,7 +2030,6 @@ def decide_move(self, x, y, color):
20172030
_moved.start()
20182031
return
20192032
if self.comboBox_function.currentText() == 'yolov8':
2020-
print('yolov8-----start')
20212033
self.cache_x = self.cache_y = 0
20222034
_moved = threading.Thread(target=self.moved(x, y))
20232035
_moved.start()
@@ -2288,17 +2300,8 @@ def pump_on(self):
22882300
self.myCobot.set_basic_output(5, 0)
22892301
time.sleep(0.05)
22902302
elif self.comboBox_device.currentText() in self.RISCV:
2291-
from gpiozero.pins.lgpio import LGPIOFactory
2292-
from gpiozero import Device, LED
2293-
Device.pin_factory = LGPIOFactory(chip=0) # 显式指定/dev/gpiochip0
2294-
# 初始化 GPIO 控制的设备
2295-
pump = LED(71) # 气泵
2296-
valve = LED(72) # 阀门
2297-
pump.on() # 关闭泵
2298-
time.sleep(0.05)
2299-
valve.on() # 打开阀门
2300-
time.sleep(1)
2301-
valve.off() # 关闭阀门
2303+
self.pump.on()
2304+
self.valve.off() # 关闭阀门
23022305
time.sleep(0.05)
23032306
else:
23042307
import RPi.GPIO as GPIO
@@ -2326,19 +2329,8 @@ def pump_off(self):
23262329
time.sleep(0.05)
23272330

23282331
elif self.comboBox_device.currentText() in self.RISCV:
2329-
from gpiozero.pins.lgpio import LGPIOFactory
2330-
from gpiozero import Device, LED
2331-
Device.pin_factory = LGPIOFactory(chip=0) # 显式指定/dev/gpiochip0
2332-
# 初始化 GPIO 控制的设备
2333-
pump = LED(71) # 使用 LED 类控制 GPIO 70
2334-
valve = LED(72) # 使用 LED 类控制 GPIO 70
2335-
# 关闭电磁阀
2336-
pump.off()
2337-
time.sleep(0.05)
2338-
# 打开泄气阀
2339-
valve.off()
2340-
time.sleep(1)
2341-
valve.on()
2332+
self.pump.off()
2333+
self.valve.on()
23422334
time.sleep(0.05)
23432335
else:
23442336
import RPi.GPIO as GPIO
@@ -2534,8 +2526,10 @@ def prompts(self, msg=None):
25342526
if msg is not None:
25352527
if self.language == 1:
25362528
self.prompts_lab.setText('Prmpt:\n' + msg)
2529+
QApplication.processEvents()
25372530
else:
25382531
self.prompts_lab.setText('提示:\n' + msg)
2532+
QApplication.processEvents()
25392533

25402534
def combox_func_checked(self):
25412535
try:

0 commit comments

Comments
 (0)