From 4747b58d703a693a97cc5b2f8be8bee1cd20958f Mon Sep 17 00:00:00 2001 From: p73692015 Date: Mon, 30 May 2022 22:25:54 +0800 Subject: [PATCH 1/8] ADD file via upload --- main_tt.py | 127 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 main_tt.py diff --git a/main_tt.py b/main_tt.py new file mode 100644 index 0000000..2aa47f5 --- /dev/null +++ b/main_tt.py @@ -0,0 +1,127 @@ +import sys, os +from MainWindow_map import Ui_MainWindow +from PyQt5 import QtWidgets, QtCore, QtSql, QtGui +from PyQt5.QtWidgets import * +from PyQt5.QtCore import * +from PyQt5.QtGui import QPixmap + +import threading, time, subprocess + +class mywindow(QtWidgets.QMainWindow, Ui_MainWindow): + def __init__(self): + super(mywindow, self).__init__() + self.setupUi(self) + + self.comboBox_map.addItems(['地图0', '地图1', '地图2']) + + self.comboBox_algo.addItems(['野火法+牛耕法', '野火法+内螺旋法', '野火法+贪心法']) + + self.comboBox_axis.addItems(['x', 'y']) + + self.comboBox_render.addItems(['是', '否']) + + self.comboBox_around.addItems(['不考虑', '考虑']) + + self.comboBox_bettery.addItems(['否', '是']) + + if self.comboBox_bettery.currentText() == '否': + self.lineEdit_bettery.setEnabled(False) + + def slot_bettery(self): + if self.comboBox_bettery.currentText() == '否': + self.lineEdit_bettery.setEnabled(False) + if self.comboBox_bettery.currentText() == '是': + self.lineEdit_bettery.setEnabled(True) + + def thread_run(self): + if self.comboBox_bettery.currentText() == '否': + if self.ships_num == '1': + if self.comboBox_algo.currentText() == '野火法+牛耕法': + cmd = 'python -u -m Palette.examples.wildfire_boustrophedon -c '+self.map+self.render+'--cover-ratio '+self.cover_ratio + result = subprocess.Popen( + cmd, shell=True,stdout=subprocess.PIPE).stdout + self.label_show.setText(str(result.read(),encoding="utf-8")) + elif self.comboBox_algo.currentText() == '野火法+内螺旋法': + cmd = 'python -u -m Palette.examples.wildfire_spiral -c ' + self.map + self.render + '--cover-ratio ' + self.cover_ratio + result = subprocess.Popen( + cmd, shell=True, stdout=subprocess.PIPE).stdout + self.label_show.setText(str(result.read(), encoding="utf-8")) + elif self.comboBox_algo.currentText() == '野火法+贪心法': + cmd = 'python -u -m Palette.examples.charge_multi_split_wildfire_greedy -c ' + self.map + self.render + '--cover-ratio ' + self.cover_ratio + ' -n 1' + result = subprocess.Popen( + cmd, shell=True, stdout=subprocess.PIPE).stdout + self.label_show.setText(str(result.read(), encoding="utf-8")) + elif self.ships_num != '1': + if self.comboBox_algo.currentText() == '野火法+牛耕法': + cmd = 'python -u -m Palette.examples.charge_multi_split_wildfire_boustrophedon -c '+self.map+self.render+'--cover-ratio '+self.cover_ratio+' -n '+str(self.ships_num)+' -a '+self.axis + result = subprocess.Popen( + cmd, shell=True,stdout=subprocess.PIPE).stdout + self.label_show.setText(str(result.read(),encoding="utf-8")) + elif self.comboBox_algo.currentText() == '野火法+内螺旋法': + cmd = 'python -u -m Palette.examples.charge_multi_split_wildfire_spiral -c ' + self.map + self.render + '--cover-ratio ' + self.cover_ratio+' -n '+str(self.ships_num)+' -a '+self.axis + result = subprocess.Popen( + cmd, shell=True, stdout=subprocess.PIPE).stdout + self.label_show.setText(str(result.read(), encoding="utf-8")) + elif self.comboBox_algo.currentText() == '野火法+贪心法': + cmd = 'python -u -m Palette.examples.charge_multi_split_wildfire_greedy -c ' + self.map + self.render + '--cover-ratio ' + self.cover_ratio+' -n '+str(self.ships_num)+' -a '+self.axis + result = subprocess.Popen( + cmd, shell=True, stdout=subprocess.PIPE).stdout + self.label_show.setText(str(result.read(), encoding="utf-8")) + + elif self.comboBox_bettery.currentText() == '是': + if self.ships_num != '1': + if self.comboBox_algo.currentText() == '野火法+牛耕法': + cmd = 'python -u -m Palette.examples.charge_multi_split_wildfire_boustrophedon -c '+self.map+self.render+'--cover-ratio '+self.cover_ratio+' -n '+str(self.ships_num)+' -a '+self.axis+' -b '+self.lineEdit_bettery.text() + result = subprocess.Popen( + cmd, shell=True,stdout=subprocess.PIPE).stdout + self.label_show.setText(str(result.read(),encoding="utf-8")) + elif self.comboBox_algo.currentText() == '野火法+内螺旋法': + cmd = 'python -u -m Palette.examples.charge_multi_split_wildfire_spiral -c ' + self.map + self.render + '--cover-ratio ' + self.cover_ratio+' -n '+str(self.ships_num)+' -a '+self.axis+' -b '+self.lineEdit_bettery.text() + result = subprocess.Popen( + cmd, shell=True, stdout=subprocess.PIPE).stdout + self.label_show.setText(str(result.read(), encoding="utf-8")) + elif self.comboBox_algo.currentText() == '野火法+贪心法': + cmd = 'python -u -m Palette.examples.charge_multi_split_wildfire_greedy -c ' + self.map + self.render + '--cover-ratio ' + self.cover_ratio+' -n '+str(self.ships_num)+' -a '+self.axis+' -b '+self.lineEdit_bettery.text() + result = subprocess.Popen( + cmd, shell=True, stdout=subprocess.PIPE).stdout + self.label_show.setText(str(result.read(), encoding="utf-8")) + + elif self.ships_num == '1': + self.label_show.setText('请设置多移动节点') + + + def run(self): + self.cover_ratio = str(float(self.lineEdit_coverr.text()) / 100.0) + self.ships_num = self.lineEdit_shipn.text() + self.axis = self.comboBox_axis.currentText() + if self.comboBox_map.currentText() == '地图0': + self.map = 'map0' + elif self.comboBox_map.currentText() == '地图1': + self.map = 'map1' + elif self.comboBox_map.currentText() == '地图2': + self.map = 'map2' + elif self.comboBox_map.currentText() == '自定义地图': + if self.comboBox_around.currentText() == '不考虑': + self.map = 'map_actual_show' + elif self.comboBox_around.currentText() == '考虑': + self.map = 'map_actual_with_around_show' + + if self.comboBox_render.currentText() == '是': + self.render = ' --render ' + elif self.comboBox_render.currentText() == '否': + self.render = ' ' + + threading.Thread(target=self.thread_run).start() + self.label_show.setText('程序正在运行,请稍后!') + + def stop(self): + print('2') + + + +if __name__ == '__main__': + app = QApplication(sys.argv) + window = mywindow() + # window.showMaximized() + window.show() + sys.exit(app.exec_()) From 6bc142ea39ce34051da851cede9a3879674668b6 Mon Sep 17 00:00:00 2001 From: p73692015 Date: Mon, 30 May 2022 23:12:19 +0800 Subject: [PATCH 2/8] Delete 'main_tt.py' --- main_tt.py | 127 ----------------------------------------------------- 1 file changed, 127 deletions(-) delete mode 100644 main_tt.py diff --git a/main_tt.py b/main_tt.py deleted file mode 100644 index 2aa47f5..0000000 --- a/main_tt.py +++ /dev/null @@ -1,127 +0,0 @@ -import sys, os -from MainWindow_map import Ui_MainWindow -from PyQt5 import QtWidgets, QtCore, QtSql, QtGui -from PyQt5.QtWidgets import * -from PyQt5.QtCore import * -from PyQt5.QtGui import QPixmap - -import threading, time, subprocess - -class mywindow(QtWidgets.QMainWindow, Ui_MainWindow): - def __init__(self): - super(mywindow, self).__init__() - self.setupUi(self) - - self.comboBox_map.addItems(['地图0', '地图1', '地图2']) - - self.comboBox_algo.addItems(['野火法+牛耕法', '野火法+内螺旋法', '野火法+贪心法']) - - self.comboBox_axis.addItems(['x', 'y']) - - self.comboBox_render.addItems(['是', '否']) - - self.comboBox_around.addItems(['不考虑', '考虑']) - - self.comboBox_bettery.addItems(['否', '是']) - - if self.comboBox_bettery.currentText() == '否': - self.lineEdit_bettery.setEnabled(False) - - def slot_bettery(self): - if self.comboBox_bettery.currentText() == '否': - self.lineEdit_bettery.setEnabled(False) - if self.comboBox_bettery.currentText() == '是': - self.lineEdit_bettery.setEnabled(True) - - def thread_run(self): - if self.comboBox_bettery.currentText() == '否': - if self.ships_num == '1': - if self.comboBox_algo.currentText() == '野火法+牛耕法': - cmd = 'python -u -m Palette.examples.wildfire_boustrophedon -c '+self.map+self.render+'--cover-ratio '+self.cover_ratio - result = subprocess.Popen( - cmd, shell=True,stdout=subprocess.PIPE).stdout - self.label_show.setText(str(result.read(),encoding="utf-8")) - elif self.comboBox_algo.currentText() == '野火法+内螺旋法': - cmd = 'python -u -m Palette.examples.wildfire_spiral -c ' + self.map + self.render + '--cover-ratio ' + self.cover_ratio - result = subprocess.Popen( - cmd, shell=True, stdout=subprocess.PIPE).stdout - self.label_show.setText(str(result.read(), encoding="utf-8")) - elif self.comboBox_algo.currentText() == '野火法+贪心法': - cmd = 'python -u -m Palette.examples.charge_multi_split_wildfire_greedy -c ' + self.map + self.render + '--cover-ratio ' + self.cover_ratio + ' -n 1' - result = subprocess.Popen( - cmd, shell=True, stdout=subprocess.PIPE).stdout - self.label_show.setText(str(result.read(), encoding="utf-8")) - elif self.ships_num != '1': - if self.comboBox_algo.currentText() == '野火法+牛耕法': - cmd = 'python -u -m Palette.examples.charge_multi_split_wildfire_boustrophedon -c '+self.map+self.render+'--cover-ratio '+self.cover_ratio+' -n '+str(self.ships_num)+' -a '+self.axis - result = subprocess.Popen( - cmd, shell=True,stdout=subprocess.PIPE).stdout - self.label_show.setText(str(result.read(),encoding="utf-8")) - elif self.comboBox_algo.currentText() == '野火法+内螺旋法': - cmd = 'python -u -m Palette.examples.charge_multi_split_wildfire_spiral -c ' + self.map + self.render + '--cover-ratio ' + self.cover_ratio+' -n '+str(self.ships_num)+' -a '+self.axis - result = subprocess.Popen( - cmd, shell=True, stdout=subprocess.PIPE).stdout - self.label_show.setText(str(result.read(), encoding="utf-8")) - elif self.comboBox_algo.currentText() == '野火法+贪心法': - cmd = 'python -u -m Palette.examples.charge_multi_split_wildfire_greedy -c ' + self.map + self.render + '--cover-ratio ' + self.cover_ratio+' -n '+str(self.ships_num)+' -a '+self.axis - result = subprocess.Popen( - cmd, shell=True, stdout=subprocess.PIPE).stdout - self.label_show.setText(str(result.read(), encoding="utf-8")) - - elif self.comboBox_bettery.currentText() == '是': - if self.ships_num != '1': - if self.comboBox_algo.currentText() == '野火法+牛耕法': - cmd = 'python -u -m Palette.examples.charge_multi_split_wildfire_boustrophedon -c '+self.map+self.render+'--cover-ratio '+self.cover_ratio+' -n '+str(self.ships_num)+' -a '+self.axis+' -b '+self.lineEdit_bettery.text() - result = subprocess.Popen( - cmd, shell=True,stdout=subprocess.PIPE).stdout - self.label_show.setText(str(result.read(),encoding="utf-8")) - elif self.comboBox_algo.currentText() == '野火法+内螺旋法': - cmd = 'python -u -m Palette.examples.charge_multi_split_wildfire_spiral -c ' + self.map + self.render + '--cover-ratio ' + self.cover_ratio+' -n '+str(self.ships_num)+' -a '+self.axis+' -b '+self.lineEdit_bettery.text() - result = subprocess.Popen( - cmd, shell=True, stdout=subprocess.PIPE).stdout - self.label_show.setText(str(result.read(), encoding="utf-8")) - elif self.comboBox_algo.currentText() == '野火法+贪心法': - cmd = 'python -u -m Palette.examples.charge_multi_split_wildfire_greedy -c ' + self.map + self.render + '--cover-ratio ' + self.cover_ratio+' -n '+str(self.ships_num)+' -a '+self.axis+' -b '+self.lineEdit_bettery.text() - result = subprocess.Popen( - cmd, shell=True, stdout=subprocess.PIPE).stdout - self.label_show.setText(str(result.read(), encoding="utf-8")) - - elif self.ships_num == '1': - self.label_show.setText('请设置多移动节点') - - - def run(self): - self.cover_ratio = str(float(self.lineEdit_coverr.text()) / 100.0) - self.ships_num = self.lineEdit_shipn.text() - self.axis = self.comboBox_axis.currentText() - if self.comboBox_map.currentText() == '地图0': - self.map = 'map0' - elif self.comboBox_map.currentText() == '地图1': - self.map = 'map1' - elif self.comboBox_map.currentText() == '地图2': - self.map = 'map2' - elif self.comboBox_map.currentText() == '自定义地图': - if self.comboBox_around.currentText() == '不考虑': - self.map = 'map_actual_show' - elif self.comboBox_around.currentText() == '考虑': - self.map = 'map_actual_with_around_show' - - if self.comboBox_render.currentText() == '是': - self.render = ' --render ' - elif self.comboBox_render.currentText() == '否': - self.render = ' ' - - threading.Thread(target=self.thread_run).start() - self.label_show.setText('程序正在运行,请稍后!') - - def stop(self): - print('2') - - - -if __name__ == '__main__': - app = QApplication(sys.argv) - window = mywindow() - # window.showMaximized() - window.show() - sys.exit(app.exec_()) From 4f81a19d377a157ff162947e3f998e18799284f3 Mon Sep 17 00:00:00 2001 From: Sky_ID <2569982966@qq.com> Date: Tue, 31 May 2022 11:13:36 +0800 Subject: [PATCH 3/8] test --- test.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 test.txt diff --git a/test.txt b/test.txt new file mode 100644 index 0000000..e69de29 From 141bd16c09a267379c001c26376795c9e26f8ab7 Mon Sep 17 00:00:00 2001 From: xiaoxiaoqiong Date: Tue, 31 May 2022 11:46:21 +0800 Subject: [PATCH 4/8] auth test --- 1.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 1.txt diff --git a/1.txt b/1.txt new file mode 100644 index 0000000..9daeafb --- /dev/null +++ b/1.txt @@ -0,0 +1 @@ +test From 32526d0946da864af7b2d72e420abf1644ff12ab Mon Sep 17 00:00:00 2001 From: xiaoxiaoqiong Date: Tue, 31 May 2022 13:12:51 +0800 Subject: [PATCH 5/8] del test --- 1.txt | 1 - 1 file changed, 1 deletion(-) delete mode 100644 1.txt diff --git a/1.txt b/1.txt deleted file mode 100644 index 9daeafb..0000000 --- a/1.txt +++ /dev/null @@ -1 +0,0 @@ -test From f1ac589d77573a6331d239c2b57577402a124d65 Mon Sep 17 00:00:00 2001 From: Sky_ID <2569982966@qq.com> Date: Tue, 31 May 2022 13:48:21 +0800 Subject: [PATCH 6/8] del --- test.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 test.txt diff --git a/test.txt b/test.txt deleted file mode 100644 index e69de29..0000000 From 20dbe8c8a76a80f1c66f666e9f57ee1c7e7d7b68 Mon Sep 17 00:00:00 2001 From: p73692015 Date: Tue, 31 May 2022 15:09:30 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E7=AC=AC=E4=B8=80=E6=AC=A1=E6=8F=90?= =?UTF-8?q?=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 4 + MainWindow_map.py | 154 +++++ MainWindow_map.ui | 264 ++++++++ Palette/algos/__init__.py | 23 + Palette/algos/boustrophedon.py | 139 +++++ Palette/algos/charge.py | 60 ++ Palette/algos/multi_boustrophedon.py | 102 ++++ Palette/algos/multi_charge.py | 23 + Palette/algos/multi_greedy.py | 96 +++ Palette/algos/multi_spiral.py | 93 +++ Palette/algos/multi_split_area.py | 54 ++ Palette/algos/multi_wildfire.py | 21 + Palette/algos/spiral.py | 172 ++++++ Palette/algos/split_area.py | 54 ++ Palette/algos/utils.py | 45 ++ Palette/algos/wildfire.py | 64 ++ Palette/constants.py | 37 ++ Palette/env/__init__.py | 6 + Palette/env/collide_types.py | 3 + Palette/env/engine.py | 562 ++++++++++++++++++ Palette/env/sea_env.py | 164 +++++ Palette/env/utils.py | 29 + ...arge_multi_split_wildfire_boustrophedon.py | 90 +++ .../charge_multi_split_wildfire_greedy.py | 91 +++ .../charge_multi_split_wildfire_spiral.py | 90 +++ Palette/examples/multi_pure_boustrophedon.py | 45 ++ .../multi_split_wildfire_boustrophedon.py | 75 +++ Palette/examples/pure_boustrophedon.py | 37 ++ Palette/examples/split.py | 89 +++ Palette/examples/wildfire_boustrophedon.py | 77 +++ Palette/examples/wildfire_spiral.py | 77 +++ Palette/maps/map0.yaml | 14 + Palette/maps/map1.yaml | 15 + Palette/maps/map2.yaml | 17 + Palette/maps/map_actual.yaml | 22 + Palette/maps/map_actual_show.yaml | 22 + Palette/maps/map_actual_with_around.yaml | 22 + Palette/maps/map_actual_with_around_show.yaml | 22 + Palette/maps/multi_map0.yaml | 19 + README.md | 44 +- SeAIPalette | 1 + condaenv.6gnh6mi1.requirements.txt | 5 + create_env.yaml | 11 + create_env.yaml.bak | 11 + main_tt.py | 127 ++++ pics/sea.jpg | Bin 0 -> 34518 bytes pics/ship.png | Bin 0 -> 958879 bytes 47 files changed, 3191 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 MainWindow_map.py create mode 100644 MainWindow_map.ui create mode 100644 Palette/algos/__init__.py create mode 100644 Palette/algos/boustrophedon.py create mode 100644 Palette/algos/charge.py create mode 100644 Palette/algos/multi_boustrophedon.py create mode 100644 Palette/algos/multi_charge.py create mode 100644 Palette/algos/multi_greedy.py create mode 100644 Palette/algos/multi_spiral.py create mode 100644 Palette/algos/multi_split_area.py create mode 100644 Palette/algos/multi_wildfire.py create mode 100644 Palette/algos/spiral.py create mode 100644 Palette/algos/split_area.py create mode 100644 Palette/algos/utils.py create mode 100644 Palette/algos/wildfire.py create mode 100644 Palette/constants.py create mode 100644 Palette/env/__init__.py create mode 100644 Palette/env/collide_types.py create mode 100644 Palette/env/engine.py create mode 100644 Palette/env/sea_env.py create mode 100644 Palette/env/utils.py create mode 100644 Palette/examples/charge_multi_split_wildfire_boustrophedon.py create mode 100644 Palette/examples/charge_multi_split_wildfire_greedy.py create mode 100644 Palette/examples/charge_multi_split_wildfire_spiral.py create mode 100644 Palette/examples/multi_pure_boustrophedon.py create mode 100644 Palette/examples/multi_split_wildfire_boustrophedon.py create mode 100644 Palette/examples/pure_boustrophedon.py create mode 100644 Palette/examples/split.py create mode 100644 Palette/examples/wildfire_boustrophedon.py create mode 100644 Palette/examples/wildfire_spiral.py create mode 100644 Palette/maps/map0.yaml create mode 100644 Palette/maps/map1.yaml create mode 100644 Palette/maps/map2.yaml create mode 100644 Palette/maps/map_actual.yaml create mode 100644 Palette/maps/map_actual_show.yaml create mode 100644 Palette/maps/map_actual_with_around.yaml create mode 100644 Palette/maps/map_actual_with_around_show.yaml create mode 100644 Palette/maps/multi_map0.yaml create mode 160000 SeAIPalette create mode 100644 condaenv.6gnh6mi1.requirements.txt create mode 100644 create_env.yaml create mode 100644 create_env.yaml.bak create mode 100644 main_tt.py create mode 100644 pics/sea.jpg create mode 100644 pics/ship.png diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6ec3b9c --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.vscode +__pycache__ +TODO.md +script.py diff --git a/MainWindow_map.py b/MainWindow_map.py new file mode 100644 index 0000000..9a06b55 --- /dev/null +++ b/MainWindow_map.py @@ -0,0 +1,154 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'MainWindow_map.ui' +# +# Created by: PyQt5 UI code generator 5.15.1 +# +# WARNING: Any manual changes made to this file will be lost when pyuic5 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt5 import QtCore, QtGui, QtWidgets + + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName("MainWindow") + MainWindow.resize(1297, 900) + self.centralwidget = QtWidgets.QWidget(MainWindow) + self.centralwidget.setObjectName("centralwidget") + self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.centralwidget) + self.horizontalLayout_3.setObjectName("horizontalLayout_3") + self.verticalLayout = QtWidgets.QVBoxLayout() + self.verticalLayout.setContentsMargins(-1, -1, -1, 0) + self.verticalLayout.setObjectName("verticalLayout") + self.horizontalLayout = QtWidgets.QHBoxLayout() + self.horizontalLayout.setContentsMargins(-1, -1, 0, -1) + self.horizontalLayout.setObjectName("horizontalLayout") + self.formLayout = QtWidgets.QFormLayout() + self.formLayout.setObjectName("formLayout") + self.label = QtWidgets.QLabel(self.centralwidget) + self.label.setObjectName("label") + self.formLayout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.label) + self.comboBox_map = QtWidgets.QComboBox(self.centralwidget) + self.comboBox_map.setObjectName("comboBox_map") + self.formLayout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.comboBox_map) + self.label_2 = QtWidgets.QLabel(self.centralwidget) + self.label_2.setObjectName("label_2") + self.formLayout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label_2) + self.label_3 = QtWidgets.QLabel(self.centralwidget) + self.label_3.setObjectName("label_3") + self.formLayout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.label_3) + self.label_8 = QtWidgets.QLabel(self.centralwidget) + self.label_8.setObjectName("label_8") + self.formLayout.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.label_8) + self.comboBox_axis = QtWidgets.QComboBox(self.centralwidget) + self.comboBox_axis.setObjectName("comboBox_axis") + self.formLayout.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.comboBox_axis) + self.horizontalLayout_2 = QtWidgets.QHBoxLayout() + self.horizontalLayout_2.setObjectName("horizontalLayout_2") + self.lineEdit_coverr = QtWidgets.QLineEdit(self.centralwidget) + self.lineEdit_coverr.setAlignment(QtCore.Qt.AlignCenter) + self.lineEdit_coverr.setObjectName("lineEdit_coverr") + self.horizontalLayout_2.addWidget(self.lineEdit_coverr) + self.label_10 = QtWidgets.QLabel(self.centralwidget) + self.label_10.setObjectName("label_10") + self.horizontalLayout_2.addWidget(self.label_10) + self.formLayout.setLayout(1, QtWidgets.QFormLayout.FieldRole, self.horizontalLayout_2) + self.lineEdit_shipn = QtWidgets.QLineEdit(self.centralwidget) + self.lineEdit_shipn.setAlignment(QtCore.Qt.AlignCenter) + self.lineEdit_shipn.setObjectName("lineEdit_shipn") + self.formLayout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.lineEdit_shipn) + self.horizontalLayout.addLayout(self.formLayout) + self.formLayout_2 = QtWidgets.QFormLayout() + self.formLayout_2.setObjectName("formLayout_2") + self.label_6 = QtWidgets.QLabel(self.centralwidget) + self.label_6.setObjectName("label_6") + self.formLayout_2.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label_6) + self.comboBox_render = QtWidgets.QComboBox(self.centralwidget) + self.comboBox_render.setObjectName("comboBox_render") + self.formLayout_2.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.comboBox_render) + self.label_7 = QtWidgets.QLabel(self.centralwidget) + self.label_7.setObjectName("label_7") + self.formLayout_2.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.label_7) + self.comboBox_around = QtWidgets.QComboBox(self.centralwidget) + self.comboBox_around.setObjectName("comboBox_around") + self.formLayout_2.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.comboBox_around) + self.label_11 = QtWidgets.QLabel(self.centralwidget) + self.label_11.setObjectName("label_11") + self.formLayout_2.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.label_11) + self.comboBox_bettery = QtWidgets.QComboBox(self.centralwidget) + self.comboBox_bettery.setObjectName("comboBox_bettery") + self.formLayout_2.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.comboBox_bettery) + self.label_9 = QtWidgets.QLabel(self.centralwidget) + self.label_9.setObjectName("label_9") + self.formLayout_2.setWidget(4, QtWidgets.QFormLayout.LabelRole, self.label_9) + self.lineEdit_bettery = QtWidgets.QLineEdit(self.centralwidget) + self.lineEdit_bettery.setAlignment(QtCore.Qt.AlignCenter) + self.lineEdit_bettery.setObjectName("lineEdit_bettery") + self.formLayout_2.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.lineEdit_bettery) + self.label_4 = QtWidgets.QLabel(self.centralwidget) + self.label_4.setObjectName("label_4") + self.formLayout_2.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.label_4) + self.comboBox_algo = QtWidgets.QComboBox(self.centralwidget) + self.comboBox_algo.setObjectName("comboBox_algo") + self.formLayout_2.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.comboBox_algo) + self.horizontalLayout.addLayout(self.formLayout_2) + self.verticalLayout_2 = QtWidgets.QVBoxLayout() + self.verticalLayout_2.setObjectName("verticalLayout_2") + self.pushButton_run = QtWidgets.QPushButton(self.centralwidget) + font = QtGui.QFont() + font.setFamily("宋体") + font.setPointSize(12) + self.pushButton_run.setFont(font) + self.pushButton_run.setObjectName("pushButton_run") + self.verticalLayout_2.addWidget(self.pushButton_run) + self.pushButton_stop = QtWidgets.QPushButton(self.centralwidget) + font = QtGui.QFont() + font.setFamily("宋体") + font.setPointSize(12) + self.pushButton_stop.setFont(font) + self.pushButton_stop.setObjectName("pushButton_stop") + self.verticalLayout_2.addWidget(self.pushButton_stop) + self.horizontalLayout.addLayout(self.verticalLayout_2) + self.horizontalLayout.setStretch(0, 1) + self.horizontalLayout.setStretch(1, 1) + self.horizontalLayout.setStretch(2, 1) + self.verticalLayout.addLayout(self.horizontalLayout) + self.label_show = QtWidgets.QLabel(self.centralwidget) + font = QtGui.QFont() + font.setFamily("微软雅黑") + font.setPointSize(12) + self.label_show.setFont(font) + self.label_show.setObjectName("label_show") + self.verticalLayout.addWidget(self.label_show) + self.verticalLayout.setStretch(0, 1) + self.verticalLayout.setStretch(1, 10) + self.horizontalLayout_3.addLayout(self.verticalLayout) + MainWindow.setCentralWidget(self.centralwidget) + + self.retranslateUi(MainWindow) + self.pushButton_run.clicked.connect(MainWindow.run) + self.pushButton_stop.clicked.connect(MainWindow.stop) + self.comboBox_bettery.currentTextChanged['QString'].connect(MainWindow.slot_bettery) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + + def retranslateUi(self, MainWindow): + _translate = QtCore.QCoreApplication.translate + MainWindow.setWindowTitle(_translate("MainWindow", "SeAI Palette集智调色板")) + self.label.setText(_translate("MainWindow", "地图选择")) + self.label_2.setText(_translate("MainWindow", "最低覆盖率")) + self.label_3.setText(_translate("MainWindow", "移动节点数量")) + self.label_8.setText(_translate("MainWindow", "区域划分方向")) + self.lineEdit_coverr.setText(_translate("MainWindow", "100")) + self.label_10.setText(_translate("MainWindow", "%")) + self.lineEdit_shipn.setText(_translate("MainWindow", "1")) + self.label_6.setText(_translate("MainWindow", "是否渲染")) + self.label_7.setText(_translate("MainWindow", "考虑固定节点")) + self.label_11.setText(_translate("MainWindow", "是否需要充电")) + self.label_9.setText(_translate("MainWindow", "移动节点电池容量")) + self.lineEdit_bettery.setText(_translate("MainWindow", "100")) + self.label_4.setText(_translate("MainWindow", "算法选择")) + self.pushButton_run.setText(_translate("MainWindow", "运行")) + self.pushButton_stop.setText(_translate("MainWindow", "停止")) + self.label_show.setText(_translate("MainWindow", "


")) diff --git a/MainWindow_map.ui b/MainWindow_map.ui new file mode 100644 index 0000000..0db2ba6 --- /dev/null +++ b/MainWindow_map.ui @@ -0,0 +1,264 @@ + + + MainWindow + + + + 0 + 0 + 1297 + 900 + + + + SeAI Palette集智调色板 + + + + + + + 0 + + + + + 0 + + + + + + + 地图选择 + + + + + + + + + + 最低覆盖率 + + + + + + + 移动节点数量 + + + + + + + 区域划分方向 + + + + + + + + + + + + 100 + + + Qt::AlignCenter + + + + + + + % + + + + + + + + + 1 + + + Qt::AlignCenter + + + + + + + + + + + 是否渲染 + + + + + + + + + + 考虑固定节点 + + + + + + + + + + 是否需要充电 + + + + + + + + + + 移动节点电池容量 + + + + + + + 100 + + + Qt::AlignCenter + + + + + + + 算法选择 + + + + + + + + + + + + + + + 宋体 + 12 + + + + 运行 + + + + + + + + 宋体 + 12 + + + + 停止 + + + + + + + + + + + + 微软雅黑 + 12 + + + + <html><head/><body><p><br/></p></body></html> + + + + + + + + + + + + pushButton_run + clicked() + MainWindow + run() + + + 1186 + 39 + + + 1287 + 49 + + + + + pushButton_stop + clicked() + MainWindow + stop() + + + 1275 + 160 + + + 1273 + 133 + + + + + comboBox_bettery + currentTextChanged(QString) + MainWindow + slot_bettery() + + + 792 + 120 + + + 899 + -8 + + + + + + run() + stop() + slot_bettery() + + diff --git a/Palette/algos/__init__.py b/Palette/algos/__init__.py new file mode 100644 index 0000000..3337788 --- /dev/null +++ b/Palette/algos/__init__.py @@ -0,0 +1,23 @@ +from .boustrophedon import Boustrophedon +from .spiral import Spiral +from .wildfire import WildFire +from .split_area import split_area +from .multi_boustrophedon import MultiBoustrophedon +from .multi_greedy import MultiGreedy +from .multi_wildfire import MultiWildFire +from .charge import Charge +from .multi_charge import MultiCharge +from .multi_spiral import MultiSpiral + +__all__ = [ + "Boustrophedon", + "WildFire", + "Spiral", + "split_area", + "MultiBoustrophedon", + "MultiWildFire", + "Charge", + "MultiCharge", + "MultiSpiral", + "MultiGreedy" +] diff --git a/Palette/algos/boustrophedon.py b/Palette/algos/boustrophedon.py new file mode 100644 index 0000000..b9c74db --- /dev/null +++ b/Palette/algos/boustrophedon.py @@ -0,0 +1,139 @@ +import numpy as np +from Palette.constants import UP, DOWN, LEFT, RIGHT, FINISHED, BROKEN + + +class Boustrophedon(object): + def __init__(self): + super().__init__() + self.dest_direction = [None] + + @ staticmethod + def _right_index(x, y): + return x+1, y + + @ staticmethod + def _left_index(x, y): + return x-1, y + + @ staticmethod + def _up_index(x, y): + return x, y-1 + + @ staticmethod + def _down_index(x, y): + return x, y+1 + + @ staticmethod + def _is_valid_index(index, an_array): + x, y = index + return 0 <= x < an_array.shape[0] and 0 <= y < an_array.shape[1] + + def _count_valid_steps(self, index, direction, fields): + if direction == UP: + update_index = self._up_index + elif direction == DOWN: + update_index = self._down_index + elif direction == LEFT: + update_index = self._left_index + elif direction == RIGHT: + update_index = self._right_index + else: + raise ValueError(f'invalid direction: {direction}') + + valid_steps = 0 + cur_x, cur_y = index + while True: + cur_x, cur_y = update_index(cur_x, cur_y) + if not self._is_valid_index((cur_x, cur_y), fields) \ + or fields[cur_x, cur_y] != 0: + break + else: + valid_steps += 1 + return valid_steps + + def _act(self, direction, fields, index, ship_id): + x, y = index + if direction == UP: + continue_update_index = self._up_index + reverse_update_index = self._down_index + possible_turn = [LEFT, RIGHT] + reverse_direction = DOWN + elif direction == DOWN: + continue_update_index = self._down_index + reverse_update_index = self._up_index + possible_turn = [LEFT, RIGHT] + reverse_direction = UP + elif direction == LEFT: + continue_update_index = self._left_index + reverse_update_index = self._right_index + possible_turn = [UP, DOWN] + reverse_direction = RIGHT + elif direction == RIGHT: + continue_update_index = self._right_index + reverse_update_index = self._left_index + possible_turn = [UP, DOWN] + reverse_direction = LEFT + else: + raise ValueError(f'invalid direction: {direction}') + + if not self._is_valid_index(continue_update_index(x, y), fields) \ + or fields[continue_update_index(x, y)] != 0: + + steps0 = self._count_valid_steps((x, y), possible_turn[0], fields) + steps1 = self._count_valid_steps((x, y), possible_turn[1], fields) + + if steps0 > 0 or steps1 > 0: + self.dest_direction[ship_id] = reverse_direction + if steps0 > 0 and steps1 > 0: + if steps0 < steps1: + return possible_turn[1] + else: + return possible_turn[0] + elif steps0 > 0: + return possible_turn[0] + else: + return possible_turn[1] + else: + search_x, search_y = reverse_update_index(x, y) + can_continue = False + while self._is_valid_index((search_x, search_y), fields) and fields[search_x, search_y] == 0: + search_steps0 = self._count_valid_steps( + (search_x, search_y), possible_turn[0], fields) + search_steps1 = self._count_valid_steps( + (search_x, search_y), possible_turn[1], fields) + if search_steps0 or search_steps1: + can_continue = True + break + search_x, search_y = reverse_update_index( + search_x, search_y) + if can_continue: + return reverse_direction + else: + return BROKEN + else: + return direction + + def step(self, state, info): + x, y, direction = state + fields = info['fields'] + + if np.sum(fields == 0) == 0: + return [FINISHED] # finished + + if info['redecide_direction']: + up_steps = self._count_valid_steps((x, y), UP, fields) + down_steps = self._count_valid_steps((x, y), DOWN, fields) + left_steps = self._count_valid_steps((x, y), LEFT, fields) + right_steps = self._count_valid_steps((x, y), RIGHT, fields) + + direction = [UP, DOWN, LEFT, RIGHT][np.argmax( + [up_steps, down_steps, left_steps, right_steps])] + + if self.dest_direction[0] is not None: + d = self.dest_direction[0] + self.dest_direction = [None] + if self._count_valid_steps((x, y), d, fields) > 0: + return [d] + else: + return [BROKEN] + return [self._act(direction, fields, (x, y), 0)] diff --git a/Palette/algos/charge.py b/Palette/algos/charge.py new file mode 100644 index 0000000..135af98 --- /dev/null +++ b/Palette/algos/charge.py @@ -0,0 +1,60 @@ +import numpy as np + +from Palette.algos.wildfire import WildFire +from Palette.algos.utils import Node +from Palette.constants import FILLING_UP, FILLING_DOWN, FILLING_LEFT, FILLING_RIGHT, FINISHED, BROKEN, FILLING, FILLING_BACK + + +class Charge(WildFire): + def __init__(self, filling_time: int): + super().__init__() + self.filling_time = filling_time + + def step(self, state, info): + if not self.empty(): + # if there're actions to do + action = self.actions_to_do[0] + del self.actions_to_do[0] + return action, None + + x, y, _ = state + fields = info['fields'] + + if np.sum(fields == 0) == 0: + return FINISHED, None + + root_node = Node(x, y, None, energy=True) + buffer = [root_node] + visited = np.zeros_like(fields) + visited[x, y] = True + while len(buffer) > 0: + cur_node = buffer[0] + del buffer[0] + for dx, dy in zip(self.delta_x, self.delta_y): + cur_x, cur_y = cur_node.x, cur_node.y + next_x, next_y = cur_x+dx, cur_y+dy + if self._is_valid_index((next_x, next_y), fields) and not visited[next_x, next_y]: + visited[next_x, next_y] = True + next_node = Node(next_x, next_y, cur_node, energy=True) + if fields[next_x, next_y] == -1: + # not visited + node = next_node + while node.direction is not None: + self.actions_to_do.append(node.direction) + node = node.father + self.actions_to_do.reverse() + charge_len = len(self.actions_to_do) + + self.actions_to_do.extend( + [FILLING for _ in range(self.filling_time)]) + self.actions_to_do.extend( + [FILLING_BACK for _ in range(charge_len)]) + + action = self.actions_to_do[0] + del self.actions_to_do[0] + + return action, charge_len + else: + buffer.append(next_node) + + raise RuntimeError(f'Charge runtime error!') diff --git a/Palette/algos/multi_boustrophedon.py b/Palette/algos/multi_boustrophedon.py new file mode 100644 index 0000000..ebffc84 --- /dev/null +++ b/Palette/algos/multi_boustrophedon.py @@ -0,0 +1,102 @@ +import numpy as np +from Palette.algos.boustrophedon import Boustrophedon +from Palette.algos.multi_wildfire import MultiWildFire +from Palette.algos.multi_charge import MultiCharge +from Palette.algos.utils import Node +from Palette.constants import UP, DOWN, LEFT, RIGHT, FINISHED, BROKEN, \ + FILLING_UP, FILLING_DOWN, FILLING_LEFT, FILLING_RIGHT + +from typing import List + + +class MultiBoustrophedon(Boustrophedon): + def __init__( + self, + ship_num: int, + wildfires: MultiWildFire, + charges: MultiCharge + ): + super().__init__() + self.ship_num = ship_num + self.dest_direction = [None for _ in range(ship_num)] + self.wildfires = wildfires + self.charges = charges + self.finished_idx = [False for _ in range(ship_num)] + + #self.ship_energy = ship_energy + #self.current_ship_energy = [ship_energy for _ in range(self.ship_num)] + + self.delta_x = (0, 0, 1, -1, ) # 1, 1, -1, -1) + self.delta_y = (1, -1, 0, 0, ) # 1, -1, 1, -1) + + def step(self, state, info): + ret_directions = [] + redecide_directions = [False for _ in range(self.ship_num)] + + for i, (x, y, direction) in enumerate(state): + if self.finished_idx[i]: + ret_directions.append(FINISHED) + continue + + if not self.charges[i].empty(): + ret_directions.append(self.charges[i].step(state, info)[0]) + if self.charges[i].empty(): + redecide_directions[i] = True + continue + + # Decide whether charge or not + first_charge_act, charge_len = self.charges.step(state, info, i) + if first_charge_act == FINISHED: + self.finished_idx[i] = True + ret_directions.append(FINISHED) + continue + + if info['batteries'][i] < charge_len + 2: + ret_directions.append(first_charge_act) + redecide_directions[i] = True + continue + else: + self.charges[i].clear() + self.wildfires[i].clear() + + if not self.wildfires[i].empty(): + ret_directions.append(self.wildfires[i].step(state, info)[0]) + if self.wildfires[i].empty(): + redecide_directions[i] = True + continue + + fields = info['fields'][i] + + if np.sum(fields == 0) == 0: + self.finished_idx[i] = True + ret_directions.append(FINISHED) # finished + continue + + if info['redecide_direction'][i]: + up_steps = self._count_valid_steps((x, y), UP, fields) + down_steps = self._count_valid_steps((x, y), DOWN, fields) + left_steps = self._count_valid_steps((x, y), LEFT, fields) + right_steps = self._count_valid_steps((x, y), RIGHT, fields) + + direction = [UP, DOWN, LEFT, RIGHT][np.argmax( + [up_steps, down_steps, left_steps, right_steps])] + + if self.dest_direction[i] is not None: + d = self.dest_direction[i] + self.dest_direction[i] = None + + if self._count_valid_steps((x, y), d, fields) > 0: + ret_directions.append(d) + else: + ret_directions.append( + self.wildfires.step(state, info, i)[0]) + continue + + cur_act = self._act(direction, fields, (x, y), i) + if cur_act == BROKEN: + ret_directions.append(self.wildfires.step(state, info, i)[0]) + redecide_directions[i] = True + else: + ret_directions.append(cur_act) + + return np.asarray(ret_directions), redecide_directions diff --git a/Palette/algos/multi_charge.py b/Palette/algos/multi_charge.py new file mode 100644 index 0000000..dde1b13 --- /dev/null +++ b/Palette/algos/multi_charge.py @@ -0,0 +1,23 @@ +from Palette.algos.charge import Charge + + +class MultiCharge(object): + def __init__(self, n_ships: int, filling_time: int): + super().__init__() + self._n_ships = n_ships + self._filling_time = filling_time + self._charges = [Charge(self._filling_time) + for _ in range(self._n_ships)] + + def __len__(self): + return self._n_ships + + def __getitem__(self, idx): + return self._charges[idx] + + def step(self, state, info, idx): + agent_info = {k: info[k] + for k in (info.keys()-{'fields', 'redecide_direction'})} + agent_info['fields'] = info['fields'][idx] + agent_info['redecide_direction'] = info['redecide_direction'][idx] + return self._charges[idx].step(state[idx], agent_info) diff --git a/Palette/algos/multi_greedy.py b/Palette/algos/multi_greedy.py new file mode 100644 index 0000000..24c8688 --- /dev/null +++ b/Palette/algos/multi_greedy.py @@ -0,0 +1,96 @@ +import numpy as np +from Palette.algos.boustrophedon import Boustrophedon +from Palette.algos.multi_wildfire import MultiWildFire +from Palette.algos.multi_charge import MultiCharge +from Palette.algos.utils import Node +from Palette.constants import UP, DOWN, LEFT, RIGHT, FINISHED, BROKEN, \ + FILLING_UP, FILLING_DOWN, FILLING_LEFT, FILLING_RIGHT + +from typing import List + + +class MultiGreedy(Boustrophedon): + def __init__( + self, + ship_num: int, + wildfires: MultiWildFire, + charges: MultiCharge + ): + super().__init__() + self.ship_num = ship_num + self.dest_direction = [None for _ in range(ship_num)] + self.wildfires = wildfires + self.charges = charges + self.finished_idx = [False for _ in range(ship_num)] + + #self.ship_energy = ship_energy + #self.current_ship_energy = [ship_energy for _ in range(self.ship_num)] + + self.delta_x = (0, 0, 1, -1, ) # 1, 1, -1, -1) + self.delta_y = (1, -1, 0, 0, ) # 1, -1, 1, -1) + + def step(self, state, info): + ret_directions = [] + redecide_directions = [False for _ in range(self.ship_num)] + + for i, (x, y, direction) in enumerate(state): + if self.finished_idx[i]: + ret_directions.append(FINISHED) + continue + + if not self.charges[i].empty(): + ret_directions.append(self.charges[i].step(state, info)[0]) + if self.charges[i].empty(): + redecide_directions[i] = True + continue + + # Decide whether charge or not + first_charge_act, charge_len = self.charges.step(state, info, i) + if first_charge_act == FINISHED: + self.finished_idx[i] = True + ret_directions.append(FINISHED) + continue + + if info['batteries'][i] < charge_len + 2: + ret_directions.append(first_charge_act) + redecide_directions[i] = True + continue + else: + self.charges[i].clear() + self.wildfires[i].clear() + + if not self.wildfires[i].empty(): + ret_directions.append(self.wildfires[i].step(state, info)[0]) + if self.wildfires[i].empty(): + redecide_directions[i] = True + continue + + fields = info['fields'][i] + + if np.sum(fields == 0) == 0: + self.finished_idx[i] = True + ret_directions.append(FINISHED) # finished + continue + + up_steps = self._count_valid_steps((x, y), UP, fields) + down_steps = self._count_valid_steps((x, y), DOWN, fields) + left_steps = self._count_valid_steps((x, y), LEFT, fields) + right_steps = self._count_valid_steps((x, y), RIGHT, fields) + + if up_steps == 0 and down_steps == 0 and left_steps == 0 and right_steps == 0: + cur_act = BROKEN + else: + ds, ss = [], [] + for d, s in zip((UP, DOWN, LEFT, RIGHT), (up_steps, down_steps, left_steps, right_steps)): + if s > 0: + ds.append(d) + ss.append(s) + cur_act = ds[np.argmin(ss)] + + if cur_act == BROKEN: + ret_directions.append(self.wildfires.step(state, info, i)[0]) + redecide_directions[i] = True + else: + ret_directions.append(cur_act) + + return np.asarray(ret_directions), redecide_directions diff --git a/Palette/algos/multi_spiral.py b/Palette/algos/multi_spiral.py new file mode 100644 index 0000000..90d4c2a --- /dev/null +++ b/Palette/algos/multi_spiral.py @@ -0,0 +1,93 @@ +import numpy as np +from Palette.algos.spiral import Spiral +from Palette.algos.multi_wildfire import MultiWildFire +from Palette.algos.multi_charge import MultiCharge +from Palette.algos.utils import Node +from Palette.constants import UP, DOWN, LEFT, RIGHT, FINISHED, BROKEN, \ + FILLING_UP, FILLING_DOWN, FILLING_LEFT, FILLING_RIGHT + +from typing import List + + +class MultiSpiral(Spiral): + def __init__( + self, + ship_num: int, + wildfires: MultiWildFire, + charges: MultiCharge + ): + super().__init__() + self.ship_num = ship_num + # self.dest_direction = [None for _ in range(ship_num)] + self.wildfires = wildfires + self.charges = charges + self.finished_idx = [False for _ in range(ship_num)] + + #self.ship_energy = ship_energy + #self.current_ship_energy = [ship_energy for _ in range(self.ship_num)] + + self.delta_x = [0, 0, 1, -1, 1, 1, -1, -1] + self.delta_y = [1, -1, 0, 0, 1, -1, 1, -1] + + def step(self, state, info): + ret_directions = [] + redecide_directions = [False for _ in range(self.ship_num)] + + for i, (x, y, direction) in enumerate(state): + if self.finished_idx[i]: + ret_directions.append(FINISHED) + continue + + if not self.charges[i].empty(): + ret_directions.append(self.charges[i].step(state, info)[0]) + if self.charges[i].empty(): + redecide_directions[i] = True + continue + + # Decide whether charge or not + first_charge_act, charge_len = self.charges.step(state, info, i) + if first_charge_act == FINISHED: + self.finished_idx[i] = True + ret_directions.append(FINISHED) + continue + + if info['batteries'][i] < charge_len + 2: + ret_directions.append(first_charge_act) + redecide_directions[i] = True + continue + else: + self.charges[i].clear() + self.wildfires[i].clear() + + if not self.wildfires[i].empty(): + ret_directions.append(self.wildfires[i].step(state, info)[0]) + if self.wildfires[i].empty(): + redecide_directions[i] = True + continue + + fields = info['fields'][i] + + if np.sum(fields == 0) == 0: + self.finished_idx[i] = True + ret_directions.append(FINISHED) # finished + continue + + if info['redecide_direction'][i]: + all_directions = (UP, DOWN, LEFT, RIGHT) + all_update_fn = (self._up_index, self._down_index, + self._left_index, self._right_index) + edge_directions = [self._is_edge( + update_fn(x, y), fields, direction) for update_fn in all_update_fn] + valid_steps = [self._count_valid_steps( + (x, y), d, fields) for d in all_directions] + direction = np.max([Spiral.MyTuple(e, v, d) for e, v, d in zip( + edge_directions, valid_steps, all_directions)]).direction + + cur_act = self._act(direction, fields, (x, y)) + if cur_act == BROKEN: + ret_directions.append(self.wildfires.step(state, info, i)[0]) + redecide_directions[i] = True + else: + ret_directions.append(cur_act) + + return np.asarray(ret_directions), redecide_directions diff --git a/Palette/algos/multi_split_area.py b/Palette/algos/multi_split_area.py new file mode 100644 index 0000000..222fc13 --- /dev/null +++ b/Palette/algos/multi_split_area.py @@ -0,0 +1,54 @@ +import numpy as np + + +def multi_split_area( + fields: np.ndarray, + field_size: int, + n_areas: int, + axis: str +): + assert axis in ['x', 'y'], f"Invalid axis: {axis}" + splited_fields = np.zeros_like(fields) + blank_spaces_num = np.sum(fields == 0) + + last_pos = 0 + area_spaces = [] + start_points = [] + for area_id in range(1, n_areas+1): + p = last_pos + cur_area_spaces = 0 + start_point_assigned = False + while True: + cur_spaces = np.sum(fields[p, :] == 0) if axis == 'x' else np.sum( + fields[:, p] == 0) + cur_area_spaces += cur_spaces + if axis == 'x': + for i in range(fields.shape[1]): + if fields[p, i] != -1: + splited_fields[p, i] = area_id + if not start_point_assigned and fields[p, i] == 0: + start_points.append((p, i)) + start_point_assigned = True + else: + splited_fields[p, i] = -1 + else: + for i in range(fields.shape[0]): + if fields[i, p] != -1: + splited_fields[i, p] = area_id + if not start_point_assigned and fields[i, p] == 0: + start_points.append((i, p)) + start_point_assigned = True + else: + splited_fields[i, p] = -1 + p += 1 + if (axis == 'x' and p >= fields.shape[0]) \ + or (axis == 'y' and p >= fields.shape[1]) \ + or np.sum(area_spaces) + cur_area_spaces >= blank_spaces_num * area_id / n_areas: + break + last_pos = p + area_spaces.append(cur_area_spaces) + start_points = np.asarray(start_points) + start_points[:, 1] = fields.shape[1] - start_points[:, 1] - 1 + start_points = start_points * field_size + field_size / 2 + assert np.sum(splited_fields == 0) == 0 + return splited_fields, np.asarray(start_points) diff --git a/Palette/algos/multi_wildfire.py b/Palette/algos/multi_wildfire.py new file mode 100644 index 0000000..68c73f3 --- /dev/null +++ b/Palette/algos/multi_wildfire.py @@ -0,0 +1,21 @@ +from Palette.algos.wildfire import WildFire + + +class MultiWildFire(object): + def __init__(self, n_ships: int): + super().__init__() + self._n_ships = n_ships + self._wildfires = [WildFire() for _ in range(self._n_ships)] + + def __len__(self): + return self._n_ships + + def __getitem__(self, idx): + return self._wildfires[idx] + + def step(self, state, info, idx): + agent_info = {k: info[k] + for k in (info.keys()-{'fields', 'redecide_direction'})} + agent_info['fields'] = info['fields'][idx] + agent_info['redecide_direction'] = info['redecide_direction'][idx] + return self._wildfires[idx].step(state[idx], agent_info) diff --git a/Palette/algos/spiral.py b/Palette/algos/spiral.py new file mode 100644 index 0000000..2e9a7fa --- /dev/null +++ b/Palette/algos/spiral.py @@ -0,0 +1,172 @@ +import numpy as np +from Palette.constants import UP, DOWN, LEFT, RIGHT, FINISHED, BROKEN + + +class Spiral(object): + class MyTuple: + def __init__(self, x1, x2, direction): + self.data = (x1, x2) + self.direction = direction + + def __lt__(self, other): + return self.data < other.data + + def __le__(self, other): + return self.data <= other.data + + def __gt__(self, other): + return self.data > other.data + + def __ge__(self, other): + return self.data >= other.data + + def __eq__(self, other): + return self.data == other.data + + def __ne__(self, other): + return self.data != other.data + + def __init__(self,): + super().__init__() + self.delta_x = [0, 0, 1, -1, 1, 1, -1, -1] + self.delta_y = [1, -1, 0, 0, 1, -1, 1, -1] + + @ staticmethod + def _right_index(x, y): + return x+1, y + + @ staticmethod + def _left_index(x, y): + return x-1, y + + @ staticmethod + def _up_index(x, y): + return x, y-1 + + @ staticmethod + def _down_index(x, y): + return x, y+1 + + @ staticmethod + def _is_valid_index(index, an_array): + x, y = index + return 0 <= x < an_array.shape[0] and 0 <= y < an_array.shape[1] + + def _count_valid_steps(self, index, direction, fields): + if direction == UP: + update_index = self._up_index + elif direction == DOWN: + update_index = self._down_index + elif direction == LEFT: + update_index = self._left_index + elif direction == RIGHT: + update_index = self._right_index + else: + raise ValueError(f'invalid direction: {direction}') + + valid_steps = 0 + cur_x, cur_y = index + while True: + cur_x, cur_y = update_index(cur_x, cur_y) + if not self._is_valid_index((cur_x, cur_y), fields) \ + or fields[cur_x, cur_y] != 0: + break + else: + valid_steps += 1 + return valid_steps + + def _is_edge(self, index, fields, direction=None): + if direction is not None: + if direction == UP: + delta_x, delta_y = [self.delta_x[0]] + \ + self.delta_x[2:], [self.delta_y[0]]+self.delta_y[2:] + elif direction == DOWN: + delta_x, delta_y = self.delta_x[1:], self.delta_y[1:] + elif direction == RIGHT: + delta_x, delta_y = self.delta_x[0:1] + \ + self.delta_x[3:], self.delta_y[0:1] + self.delta_y[3:] + elif direction == LEFT: + delta_x, delta_y = self.delta_x[0:2] + \ + self.delta_x[4:], self.delta_y[0:2] + self.delta_y[4:] + else: + delta_x, delta_y = self.delta_x, self.delta_y + x, y = index + for dx, dy in zip(delta_x, delta_y): + if self._is_valid_index((x+dx, y+dy), fields) and fields[x+dx, y+dy] != 0: + return True + return False + + def _act(self, direction, fields, index): + x, y = index + if direction == UP: + continue_update_index = self._up_index + reverse_update_index = self._down_index + possible_turn = [LEFT, RIGHT] + possible_turn_update_index = [self._left_index, self._right_index] + reverse_direction = DOWN + elif direction == DOWN: + continue_update_index = self._down_index + reverse_update_index = self._up_index + possible_turn = [LEFT, RIGHT] + reverse_direction = UP + possible_turn_update_index = [self._left_index, self._right_index] + elif direction == LEFT: + continue_update_index = self._left_index + reverse_update_index = self._right_index + possible_turn = [UP, DOWN] + reverse_direction = RIGHT + possible_turn_update_index = [self._up_index, self._down_index] + elif direction == RIGHT: + continue_update_index = self._right_index + reverse_update_index = self._left_index + possible_turn = [UP, DOWN] + reverse_direction = LEFT + possible_turn_update_index = [self._up_index, self._down_index] + else: + raise ValueError(f'invalid direction: {direction}') + + def _turn(cur_direction): + edge_directions = [self._is_edge( + update_fn(x, y), fields, cur_direction) for update_fn in possible_turn_update_index] + valid_steps = [self._count_valid_steps( + (x, y), d, fields) for d in possible_turn] + steps0, steps1 = valid_steps + + if steps0 > 0 or steps1 > 0: + direction = np.max( + [Spiral.MyTuple(e, v, d) for e, v, d in zip(edge_directions, valid_steps, possible_turn)]).direction + return direction + else: + return BROKEN + + if not self._is_valid_index(continue_update_index(x, y), fields) \ + or fields[continue_update_index(x, y)] != 0: + """ + if not self._is_edge(continue_update_index(x, y), fields, direction): + print('turn') + else: + print('not turn') + """ + return _turn(direction) + else: + # print(f'not turn') + return direction + + def step(self, state, info): + x, y, direction = state[0] + fields = info['fields'] + + if np.sum(fields == 0) == 0: + return [FINISHED] + + if info['redecide_direction']: + all_directions = (UP, DOWN, LEFT, RIGHT) + all_update_fn = (self._up_index, self._down_index, + self._left_index, self._right_index) + edge_directions = [self._is_edge( + update_fn(x, y), fields, direction) for update_fn in all_update_fn] + valid_steps = [self._count_valid_steps( + (x, y), d, fields) for d in all_directions] + direction = np.max([Spiral.MyTuple(e, v, d) for e, v, d in zip( + edge_directions, valid_steps, all_directions)]).direction + return [self._act(direction, fields, (x, y))] diff --git a/Palette/algos/split_area.py b/Palette/algos/split_area.py new file mode 100644 index 0000000..f259346 --- /dev/null +++ b/Palette/algos/split_area.py @@ -0,0 +1,54 @@ +import numpy as np + + +def split_area( + fields: np.ndarray, +): + x_array = [0] + last_array = fields[0, :] + for i in range(1, fields.shape[0]): + cur_array = fields[i, :] + if (cur_array != last_array).any(): + x_array.append(i) + last_array = cur_array + x_array.append(fields.shape[0]) + + """ + y_array = [0] + last_array = fields[:, 0] + for i in range(1, fields.shape[1]): + cur_array = fields[:, i] + if (cur_array != last_array).any(): + y_array.append(i) + last_array = cur_array + y_array.append(fields.shape[1]) + """ + + splited_fields = np.zeros_like(fields) + cur_field_id = 1 + """ + for i in range(len(x_array)-1): + for j in range(len(y_array)-1): + if fields[x_array[i], y_array[j]] != -1: + cur_id = cur_field_id + cur_field_id += 1 + else: + cur_id = -1 + print('obstacle') + splited_fields[x_array[i]:x_array[i+1], + y_array[j]:y_array[j+1]] = cur_id + """ + for i in range(len(x_array)-1): + field_id_used = False + for x in range(x_array[i], x_array[i+1]): + for y in range(fields.shape[1]): + if fields[x, y] != -1: + splited_fields[x, y] = cur_field_id + field_id_used = True + else: + splited_fields[x, y] = -1 + if field_id_used: + cur_field_id += 1 + + assert np.sum(splited_fields == 0) == 0 + return splited_fields diff --git a/Palette/algos/utils.py b/Palette/algos/utils.py new file mode 100644 index 0000000..812cdd5 --- /dev/null +++ b/Palette/algos/utils.py @@ -0,0 +1,45 @@ +from Palette.constants import UP, DOWN, LEFT, RIGHT, FINISHED, BROKEN,\ + FILLING_UP, FILLING_DOWN, FILLING_LEFT, FILLING_RIGHT + + +class Node: + def __init__(self, x, y, father, energy: bool = False): + self.x, self.y = x, y + self._energy = energy + self.direction = None + self.father = father + if self.father is not None: + father_x, father_y = self.father.x, self.father.y + delta_x, delta_y = x-father_x, y-father_y + if delta_x == 0: + if delta_y == 1: + if not self.energy: + self.direction = DOWN + else: + self.direction = FILLING_DOWN + elif delta_y == -1: + if not self.energy: + self.direction = UP + else: + self.direction = FILLING_UP + elif delta_y == 0: + if delta_x == 1: + if not self.energy: + self.direction = RIGHT + else: + self.direction = FILLING_RIGHT + elif delta_x == -1: + if not self.energy: + self.direction = LEFT + else: + self.direction = FILLING_LEFT + + if self.direction is None: + raise ValueError(f'invalid delta: ({delta_x}, {delta_y})') + + def is_root(self) -> bool: + return self.father is None + + @property + def energy(self): + return self._energy diff --git a/Palette/algos/wildfire.py b/Palette/algos/wildfire.py new file mode 100644 index 0000000..be17717 --- /dev/null +++ b/Palette/algos/wildfire.py @@ -0,0 +1,64 @@ +import numpy as np +from Palette.constants import UP, DOWN, LEFT, RIGHT, FINISHED, BROKEN +from Palette.algos.utils import Node + + +class WildFire(object): + def __init__(self): + super().__init__() + self.actions_to_do = [] + self.delta_x = (0, 0, 1, -1, ) # 1, 1, -1, -1) + self.delta_y = (1, -1, 0, 0, ) # 1, -1, 1, -1) + + @ staticmethod + def _is_valid_index(index, an_array): + x, y = index + return 0 <= x < an_array.shape[0] and 0 <= y < an_array.shape[1] + + def empty(self): + return len(self.actions_to_do) == 0 + + def clear(self): + self.actions_to_do.clear() + + def step(self, state, info): + if not self.empty(): + # if there're actions to do + action = self.actions_to_do[0] + del self.actions_to_do[0] + return [action] + + # print(state) + x, y, _ = state + fields = info['fields'] + + if np.sum(fields == 0) == 0: + return [FINISHED] + + root_node = Node(x, y, None) + buffer = [root_node] + visited = np.zeros_like(fields) + visited[x, y] = True + while len(buffer) > 0: + cur_node = buffer[0] + del buffer[0] + for dx, dy in zip(self.delta_x, self.delta_y): + cur_x, cur_y = cur_node.x, cur_node.y + next_x, next_y = cur_x+dx, cur_y+dy + if self._is_valid_index((next_x, next_y), fields) and fields[next_x, next_y] >= 0 and not visited[next_x, next_y]: + visited[next_x, next_y] = True + next_node = Node(next_x, next_y, cur_node) + if fields[next_x, next_y] == 0: + # not visited + node = next_node + while node.direction is not None: + self.actions_to_do.append(node.direction) + node = node.father + self.actions_to_do.reverse() + action = self.actions_to_do[0] + del self.actions_to_do[0] + return [action] + else: + buffer.append(next_node) + + raise RuntimeError(f'WildFire runtime error!') diff --git a/Palette/constants.py b/Palette/constants.py new file mode 100644 index 0000000..936c418 --- /dev/null +++ b/Palette/constants.py @@ -0,0 +1,37 @@ +UP = 0 +DOWN = 1 +LEFT = 2 +RIGHT = 3 + +FILLING_UP = 4 +FILLING_DOWN = 5 +FILLING_LEFT = 6 +FILLING_RIGHT = 7 +FILLING = 8 +FILLING_BACK = 9 + +FINISHED = -1 +BROKEN = -2 + +COLORS = ( + (138, 43, 226), + (156, 102, 31), + (255, 64, 64), + (100, 0, 205), + (255, 97, 3), + (0, 255, 0), + (255, 20, 147), + (105, 105, 105), + (252, 230, 201), + (255, 215, 0), + (255, 106, 106), + (230, 230, 250), + (139, 137, 112), + (255, 160, 122), + (32, 178, 170), + (132, 112, 255), + (93, 71, 139), + (238, 64, 0), + (255, 192, 203), + (255, 100, 255), +) diff --git a/Palette/env/__init__.py b/Palette/env/__init__.py new file mode 100644 index 0000000..0253d8c --- /dev/null +++ b/Palette/env/__init__.py @@ -0,0 +1,6 @@ +from .sea_env import make, SeaEnv + +__all__ = [ + 'make', + 'SeaEnv' +] diff --git a/Palette/env/collide_types.py b/Palette/env/collide_types.py new file mode 100644 index 0000000..d203d3e --- /dev/null +++ b/Palette/env/collide_types.py @@ -0,0 +1,3 @@ +COLLISION_SHIP = 1 +COLLISION_OBSTACLE = 2 +COLLISION_DESTINATION = 3 \ No newline at end of file diff --git a/Palette/env/engine.py b/Palette/env/engine.py new file mode 100644 index 0000000..0bd9c8c --- /dev/null +++ b/Palette/env/engine.py @@ -0,0 +1,562 @@ +import pymunk +import pymunk.pygame_util +import pygame +import os +import numpy as np +import math + +from copy import deepcopy +from Palette.env.utils import process_angle, asincos +from typing import List, Tuple, Union +from pygame.color import THECOLORS +from pymunk.vec2d import Vec2d + +from Palette.env.collide_types import COLLISION_DESTINATION, COLLISION_OBSTACLE, COLLISION_SHIP +from Palette.constants import UP, DOWN, LEFT, RIGHT, FINISHED, BROKEN, \ + FILLING_LEFT, FILLING_RIGHT, FILLING_UP, FILLING_DOWN, FILLING, FILLING_BACK,\ + COLORS + + +class SeaEnvEngine(object): + def __init__( + self, + + window_width: int, + window_height: int, + + field_size: Tuple[int], + + ship_radius: int, + ship_velocity: int, + + sonar_spread_times: int, # the number of sonar detection points + + obstacles: dict, + + show_sensors: bool = False, + draw_screen: bool = True, + show_fields: bool = True, + + init_ships: bool = True, + start_position=None, # [start_x, start_y] + start_r=None, + + time_click: float = 1.0/10.0, + filling_time: int = 1, + + cover_ratio: float = 1.0, + + actual_background: bool = False, + actual_around_area: int = 2, + + *args, + **kwargs + ) -> None: + + super().__init__() + + self.max_angle, self.min_angle = None, None + + # basic params + self.crashed = False # whether or not crash into an obstacle or bound + self.finished = False + self.terminate = False + + self.show_sensors = show_sensors + self.draw_screen = draw_screen + self.show_fields = show_fields + self.num_steps = 0 + self.window_width = window_width + self.window_height = window_height + self.sonar_spread_times = sonar_spread_times + self.ship_radius = ship_radius + + self.time_click = time_click + self.filling_time = filling_time + self.cover_ratio = cover_ratio + self.actual_background = actual_background + self.actual_around_area = actual_around_area + + """ 1. init pygame """ + if self.draw_screen: + pygame.init() + self.screen = pygame.display.set_mode( + (window_width, window_height)) + self.clock = pygame.time.Clock() + self.screen.set_alpha(None) + pygame.display.set_caption('NODE Simulation') + self.draw_options = pymunk.pygame_util.DrawOptions(self.screen) + + if not actual_background: + self.ss_img = pygame.image.load( + os.path.join("pics", "sea.jpg")) + else: + self.ss_img = pygame.image.load( + os.path.join("pics", 'sea.png')) + self.ss_img = pygame.transform.scale( + self.ss_img, (self.window_width, self.window_height)) + + self.ship_img = pygame.image.load(os.path.join("pics", "ship.png")) + self.ship_img = pygame.transform.scale( + self.ship_img, (self.ship_radius * 4, self.ship_radius * 4)) + """ 2. init gymunk """ + # physics stuff + self.space = pymunk.Space() + self.space.gravity = pymunk.Vec2d(0., 0.) + # create bounds + # self.create_bounds(window_height, window_width) + # create ship + self.finished_idx = None + self.init_ships = init_ships + self.battery_capacity = None + self._ship_batteries = None + self._ship_charging = None + self._ship_charging_positions = None + self._ship_charging_time_left = None + + if self.init_ships: + self.create_ship(start_position=start_position, + start_r=start_r) + self.ship_velocity = ship_velocity + + assert self.window_width % field_size[0] == 0 and self.window_height % field_size[1] == 0 + self.field_size = field_size + self.fields = np.zeros( + shape=(self.window_width//field_size[0], self.window_height//field_size[1])) + + # create obstacles + self.obstacles = [] + self.obstacles_w_h = [] + for obstacle_key in obstacles.keys(): + x, y, width, height = obstacles[obstacle_key] + cur_obstacle = self.create_rectangle_obstacle(x, y, width, height) + self.obstacles.append(cur_obstacle) + self.obstacles_w_h.append((width, height)) + # label the position of obstacles as -1 + for i in range(x//self.field_size[0], (x+width)//self.field_size[0]): + for j in range(y//self.field_size[1], (y+height)//self.field_size[1]): + self.fields[i, self.fields.shape[1]-j-1] = -1 + + if self.actual_background: + for i in range( + max(0, x//self.field_size[0]-self.actual_around_area), + min((x+width)//self.field_size[0] + self.actual_around_area, + self.fields.shape[0])): + for j in range( + max(0, y//self.field_size[1]-self.actual_around_area), + min((y+height)//self.field_size[1]+self.actual_around_area, + self.fields.shape[1])): + if self.fields[i, self.fields.shape[1]-j-1] != -1: + self.fields[i, self.fields.shape[1]-j-1] = 1 + """ + self.obstacles_radius = [] + for _ in range(n_obstacles): + cur_radius = np.random.randint( + obstacle_radius_bound[0], obstacle_radius_bound[1]) + cur_init_x = np.random.randint(cur_radius, window_width-cur_radius) + cur_init_y = np.random.randint( + cur_radius, window_height-cur_radius) + cur_obstacle = self.create_obstacle( + init_x=cur_init_x, init_y=cur_init_y, obstacle_radius=cur_radius) + self.obstacles.append(cur_obstacle) + self.obstacles_radius.append(cur_radius) + """ + self.setup_collision_handler() + + @property + def splited_areas(self): + return deepcopy(self._splited_areas) + + @splited_areas.setter + def splited_areas(self, splited_areas): + self._splited_areas = deepcopy(splited_areas) + + @property + def ship_num(self): + return len(self.ship_body) + + def setup_collision_handler(self): + def post_solve_ship_obstacle(arbiter, space, data): + self.crashed = True + + self.space.add_collision_handler( + COLLISION_SHIP, COLLISION_OBSTACLE).post_solve = post_solve_ship_obstacle + + def create_bounds(self, window_height: float, window_width: float): + static = [ + pymunk.Segment( + self.space.static_body, + (0, self.window_height-1), (0, self.window_height-window_height), 1), + pymunk.Segment( + self.space.static_body, + (1, self.window_height-window_height), (window_width, self.window_height-window_height), 1), + pymunk.Segment( + self.space.static_body, + (window_width-1, self.window_height-window_height), (window_width-1, self.window_height-1), 1), + pymunk.Segment( + self.space.static_body, + (1, self.window_height-1), (window_width, self.window_height-1), 1) + ] + for s in static: + s.friction = 1. + s.group = 1 + # bound is the same as obstacle for collision + s.collision_type = COLLISION_OBSTACLE + s.color = THECOLORS['blue'] + self.space.add(*static) + + def create_ship(self, start_position, start_r: float, battery_capacity: int): + self.ship_body, self.ship_shape = [], [] + for init_xy, init_r in zip(start_position, start_r): + init_x, init_y = init_xy + inertia = pymunk.moment_for_circle( + mass=1, inner_radius=0, outer_radius=self.ship_radius, offset=(0, 0)) + self.ship_body.append(pymunk.Body(1, inertia)) + self.ship_body[-1].position = init_x, self.window_height - init_y + self.ship_shape.append(pymunk.Circle( + body=self.ship_body[-1], radius=self.ship_radius, offset=(0, 0))) + self.ship_shape[-1].color = THECOLORS["green"] + self.ship_shape[-1].elasticity = 1.0 + self.ship_body[-1].angle = init_r + self.ship_shape[-1].collision_type = COLLISION_SHIP + self.space.add(self.ship_body[-1], self.ship_shape[-1]) + self.init_ships = True + self.finished_idx = [False for _ in range(self.ship_num)] + self.battery_capacity = battery_capacity + self._ship_batteries = [ + self.battery_capacity for _ in range(len(start_position))] + self._ship_charging = [False for _ in range(self.ship_num)] + self._ship_charging_positions = [[] for _ in range(self.ship_num)] + self._ship_charging_time_left = [0 for _ in range(self.ship_num)] + + def create_rectangle_obstacle(self, x, y, width, height): + # points = [(0, 0), (0, height), (width, height), (width, 0)] + points = [(-width/2, -height/2), (-width/2, height/2), + (width/2, height/2), (width/2, -height/2)] + # points = [(-width, -height), (-width, 0), (0, 0), (0, -height)] + mass = 9999999999 + moment = pymunk.moment_for_poly(mass, points, (0, 0)) + obstacle_body = pymunk.Body(mass=mass, moment=moment) + obstacle_body.position = (x+width/2, self.window_height-y-height/2) + obstacle_shape = pymunk.Poly(obstacle_body, points) + obstacle_shape.color = THECOLORS["blue"] + obstacle_shape.collision_type = COLLISION_OBSTACLE + self.space.add(obstacle_body, obstacle_shape) + return obstacle_body + + def _filling_get_last_position(self, ship_id: int): + if self._ship_charging[ship_id]: + last_pos = self._ship_charging_positions[ship_id][-1] + else: + last_pos = self.ship_body[ship_id].position + return last_pos + + def get_battery(self, ship_id: int): + return self._ship_batteries[ship_id] + + def frame_step(self, actions: List[int]): + """frame update for one step + + Args: + action (int): the next direction of the ship + 0: up + 1: down + 2: left + 3: right + """ + assert self.init_ships, 'Have not initialized ships!' + + if self.terminate: + raise AssertionError("Cannot continue running after crash!") + + for ship_id, action in enumerate(actions): + if action == UP: # up + self._ship_charging[ship_id] = False + self._ship_charging_time_left[ship_id] = 0 + self.ship_body[ship_id].angle = 1.5*np.pi + elif action == DOWN: # down + self._ship_charging[ship_id] = False + self._ship_charging_time_left[ship_id] = 0 + self.ship_body[ship_id].angle = 0.5*np.pi + elif action == LEFT: # left + self._ship_charging[ship_id] = False + self._ship_charging_time_left[ship_id] = 0 + self.ship_body[ship_id].angle = np.pi + elif action == RIGHT: # right + self._ship_charging[ship_id] = False + self._ship_charging_time_left[ship_id] = 0 + self.ship_body[ship_id].angle = 0.0 + + elif action == FINISHED: + self._ship_charging[ship_id] = False + self._ship_charging_time_left[ship_id] = 0 + driving_direction = Vec2d(1, 0).rotated( + self.ship_body[ship_id].angle) + self.ship_body[ship_id].velocity = 0.0 * driving_direction + if not self.finished_idx[ship_id]: + self.space.remove(self.ship_body[ship_id]) + self.finished_idx[ship_id] = True + + elif action == FILLING_UP: + last_pos = self._filling_get_last_position(ship_id) + self._ship_charging_positions[ship_id].append( + (last_pos[0], last_pos[1]-self.ship_velocity*self.time_click)) + self._ship_charging[ship_id] = True + self._ship_charging_time_left[ship_id] = self.filling_time + recent_x, recent_y = self._ship_charging_positions[ship_id][-1] + rx, ry = int( + recent_x//self.field_size[0]), int(recent_y//self.field_size[1]) + if self.fields[rx, ry] >= 0: + self.fields[rx, ry] += 1 + elif action == FILLING_DOWN: + last_pos = self._filling_get_last_position(ship_id) + self._ship_charging_positions[ship_id].append( + (last_pos[0], last_pos[1]+self.ship_velocity*self.time_click)) + self._ship_charging[ship_id] = True + self._ship_charging_time_left[ship_id] = self.filling_time + recent_x, recent_y = self._ship_charging_positions[ship_id][-1] + rx, ry = int( + recent_x//self.field_size[0]), int(recent_y//self.field_size[1]) + if self.fields[rx, ry] >= 0: + self.fields[rx, ry] += 1 + elif action == FILLING_LEFT: + last_pos = self._filling_get_last_position(ship_id) + self._ship_charging_positions[ship_id].append( + (last_pos[0]-self.ship_velocity*self.time_click, last_pos[1])) + self._ship_charging[ship_id] = True + self._ship_charging_time_left[ship_id] = self.filling_time + recent_x, recent_y = self._ship_charging_positions[ship_id][-1] + rx, ry = int( + recent_x//self.field_size[0]), int(recent_y//self.field_size[1]) + if self.fields[rx, ry] >= 0: + self.fields[rx, ry] += 1 + elif action == FILLING_RIGHT: + last_pos = self._filling_get_last_position(ship_id) + self._ship_charging_positions[ship_id].append( + (last_pos[0]+self.ship_velocity*self.time_click, last_pos[1])) + self._ship_charging[ship_id] = True + self._ship_charging_time_left[ship_id] = self.filling_time + recent_x, recent_y = self._ship_charging_positions[ship_id][-1] + rx, ry = int( + recent_x//self.field_size[0]), int(recent_y//self.field_size[1]) + if self.fields[rx, ry] >= 0: + self.fields[rx, ry] += 1 + elif action == FILLING_BACK: + assert self._ship_charging[ship_id] == True + assert self._ship_charging_time_left[ship_id] == 0 + self._ship_charging_positions[ship_id].pop() + if len(self._ship_charging_positions[ship_id]): + recent_x, recent_y = self._ship_charging_positions[ship_id][-1] + rx, ry = int( + recent_x//self.field_size[0]), int(recent_y//self.field_size[1]) + if self.fields[rx, ry] >= 0: + self.fields[rx, ry] += 1 + elif action == FILLING: + assert self._ship_charging[ship_id] == True + self._ship_charging_time_left[ship_id] -= 1 + if self._ship_charging_time_left[ship_id] == 0: + self._ship_batteries[ship_id] = self.battery_capacity + + else: + raise ValueError(f"invalid action: {action}") + + self.ship_body[ship_id].angle = process_angle( + self.ship_body[ship_id].angle) + # calculate velocity with direction + driving_direction = Vec2d(1, 0).rotated( + self.ship_body[ship_id].angle) + + if not self._ship_charging[ship_id]: + self.ship_body[ship_id].velocity = self.ship_velocity * \ + driving_direction + else: + self.ship_body[ship_id].velocity = 0.0 * driving_direction + + # Update the screen and stuff. + if self.draw_screen: + # self.screen.fill(THECOLORS["black"]) + self.screen.blit(self.ss_img, (0, 0)) + # draw(self.screen, self.space) + + if self.show_fields: + for i in range(self.fields.shape[0]): + for j in range(self.fields.shape[1]): + if self.fields[i, j] > 0: + pos_x, pos_y = self.field_size[0] * i,\ + self.field_size[1] * j + # the size of your rect + s = pygame.Surface(self.field_size) + # alpha level + s.set_alpha(int(96 * self.fields[i, j])) + # this fills the entire surface + color = COLORS[int(self._splited_areas[i, j] - 1)] + s.fill(color) + # (0,0) are the top-left coordinates + self.screen.blit(s, (pos_x, pos_y)) + elif self.fields[i, j] == -1: + pos_x, pos_y = self.field_size[0] * i,\ + self.field_size[1] * j + # the size of your rect + s = pygame.Surface(self.field_size) + # alpha level + # this fills the entire surface + if self.actual_background: + color = (0, 0, 0) + s.set_alpha(100) + else: + color = (0, 0, 255) + s.set_alpha(255) + + s.fill(color) + # (0,0) are the top-left coordinates + self.screen.blit(s, (pos_x, pos_y)) + for i in range(self.ship_num): + self.screen.blit( + self.ship_img, (self.ship_body[i].position[0]-2.0*self.ship_radius, self.ship_body[i].position[1]-2.0*self.ship_radius)) + # draw charging trajectory + for ship_id in range(self.ship_num): + if self._ship_charging[ship_id]: + for cx, cy in self._ship_charging_positions[ship_id]: + pygame.draw.circle( + self.screen, (255, 255, 255), (cx, cy), 2) + + pygame.display.flip() + self.clock.tick() + self.space.step(self.time_click) + + for i in range(self.ship_num): + if not self.finished_idx[i]: + if actions[i] != FILLING: + self._ship_batteries[i] -= 1 + if self._ship_batteries[i] < 0: + self.crashed = True + + if self.crashed: + print('crashed!!!') + self.terminate = True + self.num_steps += 1 + + return self.current() + + def current(self): + state = None + for ship_id in range(len(self.ship_body)): + x, y = self.ship_body[ship_id].position + if self.finished_idx[ship_id]: + direction = UP + elif self.ship_body[ship_id].angle == 1.5 * np.pi: + direction = UP + elif self.ship_body[ship_id].angle == 0.0: + direction = RIGHT + elif self.ship_body[ship_id].angle == 0.5 * np.pi: + direction = DOWN + elif self.ship_body[ship_id].angle == np.pi: + direction = LEFT + else: + raise ValueError( + f'invalid angle: {self.ship_body[ship_id].angle}') + cur_state = np.asarray([ + int(x//self.field_size[0]), + int(y//self.field_size[1]), + direction])[None] + if state is None: + state = cur_state + else: + state = np.concatenate([state, cur_state], axis=0) + if not self.crashed and not self.finished_idx[ship_id] and not self._ship_charging[ship_id]: + cx, cy = int(x//self.field_size[0]), int(y//self.field_size[1]) + if self.fields[cx, cy] >= 0 and 0 <= x < self.window_width \ + and 0 <= y < self.window_height: + self.fields[cx, cy] += 1 + else: + print(f'crash') + self.crashed = True + if np.sum(self.fields > 0) / np.sum(self.fields >= 0) >= self.cover_ratio: + self.finished = True + print('finished!!!') + self.terminate = True + info = {'fields': self.fields, 'finished': self.finished} + return state, self.terminate, info + + def get_rotated_point(self, x_1, y_1, x_2, y_2, radians): + # Rotate x_2, y_2 around x_1, y_1 by angle. + x_change = (x_2 - x_1) * math.cos(radians) + \ + (y_2 - y_1) * math.sin(radians) + y_change = (y_1 - y_2) * math.cos(radians) - \ + (x_1 - x_2) * math.sin(radians) + new_x = x_change + x_1 + # new_y = self.window_height - (y_change + y_1) + new_y = y_change + y_1 + return int(new_x), int(new_y) + + def get_sonar_readings(self, x, y, angle): + """ + Instead of using a grid of boolean(ish) sensors, sonar readings + simply return N "distance" readings, one for each sonar + we're simulating. The distance is a count of the first non-zero + reading starting at the object. For instance, if the fifth sensor + in a sonar "arm" is non-zero, then that arm returns a distance of 5. + """ + # Make our arms. + arm_left = self.make_sonar_arm(x, y) + # arm_middle = arm_left + # arm_right = arm_left + + # Rotate them and get readings. + readings = [] + + for shift_angle in np.arange(-0.75, 0.75, 0.05): + readings.append(self.get_arm_distance( + arm_left, x, y, angle, shift_angle)) + # print(len(readings)) + + # readings.append(self.get_arm_distance(arm_left, x, y, angle, 0.75)) + # readings.append(self.get_arm_distance(arm_middle, x, y, angle, 0)) + # readings.append(self.get_arm_distance(arm_right, x, y, angle, -0.75)) + + if self.draw_screen and self.show_sensors: + pygame.display.update() + + return readings + + def make_sonar_arm(self, x, y): + spread = 10 # Default spread. + distance = 10 # Gap before first sensor. + arm_points = [] + # Make an arm. We build it flat because we'll rotate it about the + # center later. + for i in range(1, self.sonar_spread_times): + arm_points.append((distance + x + (spread * i), y)) + + return arm_points + + def get_arm_distance(self, arm, x, y, angle, offset) -> int: + # Used to count the distance. + i = 0 + + # Look at each point and see if we've hit something. + for point in arm: + i += 1 + + # Move the point to the right spot. + rotated_p = self.get_rotated_point( + x, y, point[0], point[1], angle + offset + ) + + # Check if we've hit something. Return the current i (distance) + # if we did. + if rotated_p[0] <= 0 or rotated_p[1] <= 0 \ + or rotated_p[0] >= self.window_width or rotated_p[1] >= self.window_height: + return i # Sensor is off the screen. + else: + for obstacle, obstacle_w_h in zip(self.obstacles, self.obstacles_w_h): + obstacle_position = obstacle.position + if 0 <= rotated_p[0] - obstacle_position[0] <= obstacle_w_h[0] \ + and 0 <= rotated_p[1] - obstacle_position[1] <= obstacle_w_h[1]: + return i + if self.draw_screen and self.show_sensors: + pygame.draw.circle( + self.screen, (255, 255, 255), (rotated_p), 2) + + # Return the distance for the arm. + return i diff --git a/Palette/env/sea_env.py b/Palette/env/sea_env.py new file mode 100644 index 0000000..6dfbd9e --- /dev/null +++ b/Palette/env/sea_env.py @@ -0,0 +1,164 @@ +import os +import yaml +import numpy as np + +from argparse import ArgumentParser +from copy import deepcopy +from easydict import EasyDict +from typing import List + +from Palette.algos.multi_split_area import multi_split_area +from Palette.env.engine import SeaEnvEngine +from Palette.constants import UP, DOWN, LEFT, RIGHT, FINISHED, BROKEN + + +class SeaEnv(object): + def __init__( + self, + cfg: EasyDict, + draw: bool, + n_ships: int, + battery_capacity: int, + split_axis: str = 'x', + filling_time: int = 1, + cover_ratio: float = 1.0 + ) -> None: + super().__init__() + self.draw = draw + self.cfg = cfg + self.split_axis = split_axis + if "max_step" in self.cfg: + self.max_step = self.cfg["max_step"] + else: + self.max_step = None + self.cur_step = 0 + self.init_ships = False + self.n_ships = n_ships + self.battery_capacity = battery_capacity + self.filling_time = filling_time + self.cover_ratio = cover_ratio + + @property + def ship_num(self): + return self.n_ships + + @property + def fields(self): + return deepcopy(self.sea_env_engine.fields) + + @property + def splited_areas(self): + return self.sea_env_engine.splited_areas + + def step(self, action: List[int]): + cur_frame, done, info = self.sea_env_engine.frame_step(action) + self.cur_step += 1 + if self.max_step is not None and self.cur_step >= self.max_step: + done = True + return cur_frame, done, info + + def reset(self): + done = True + self.cur_step = 0 + while done: + self.sea_env_engine = SeaEnvEngine( + draw_screen=self.draw, + init_ships=self.init_ships, + filling_time=self.filling_time, + cover_ratio=self.cover_ratio, + **self.cfg + ) + self.sea_env_engine.splited_areas, start_points = multi_split_area( + fields=self.sea_env_engine.fields, + n_areas=self.n_ships, + axis=self.split_axis, + field_size=self.cfg.field_size[0], + ) + self.sea_env_engine.create_ship( + start_position=start_points, + start_r=[1.0*np.pi for _ in range(self.n_ships)], + battery_capacity=self.battery_capacity + ) + state, done, info = self.sea_env_engine.current() + return state, info + + def seed(self, seed: int = None) -> List[int]: + np.random.seed(seed) + return [seed] + + def render(self, mode='human'): + pass + + def close(self): + pass + + def create_ships(self, start_position, start_r): + self.sea_env_engine.create_ship( + start_position=start_position, start_r=start_r) + + def get_battery(self, ship_id: int): + return self.sea_env_engine.get_battery(ship_id) + + +def make( + env_config: str, + render: bool, + split_axis: str, + n_ships: int, + battery_capacity: int = np.inf, + filling_time: int = 1, + cover_ratio: float = 1.0 +): + """ + if not render: + os.environ["SDL_VIDEODRIVER"] = "dummy" + else: + os.environ["DISPLAY"] = os.popen( + 'printenv grep DISPLAY').read().strip() + """ + + with open(os.path.join('Palette', 'maps', f'{env_config}.yaml'), 'r') as f: + config = yaml.safe_load(f) + config = EasyDict(config) + env_config = config.env + env = SeaEnv(cfg=env_config, draw=render, + split_axis=split_axis, n_ships=n_ships, + battery_capacity=battery_capacity, filling_time=filling_time, + cover_ratio=cover_ratio) + return env + + +if __name__ == '__main__': + def get_args(): + parser = ArgumentParser() + parser.add_argument('-c', "--config_name", type=str, required=True, + help="The name of config file, e.g., map0") + parser.add_argument('-a', '--axis', type=str, + default='x', help="The axis for splitting areas.") + parser.add_argument('--render', action='store_true', + help='render or not') + return parser.parse_args() + + args = get_args() + sea_env = make(env_config=args.config_name, + render=args.render, split_axis=args.axis) + + import random + steps = 0 + acts = [] + acts.extend([[UP, DOWN] for _ in range(49)]) + acts.extend([[RIGHT, LEFT] for _ in range(5)]) + acts.extend([[LEFT, RIGHT] for _ in range(5)]) + acts.extend([[DOWN, UP] for _ in range(20)]) + acts.extend([[RIGHT, LEFT] for _ in range(200)]) + while True: + s, t, _ = sea_env.step(acts[steps]) + for _ in range(99999999999): + pass + steps += 1 + print(s) + + if t: + break + # sea_env.reset() + print(steps) diff --git a/Palette/env/utils.py b/Palette/env/utils.py new file mode 100644 index 0000000..7bb4276 --- /dev/null +++ b/Palette/env/utils.py @@ -0,0 +1,29 @@ +import numpy as np +import random + +from math import acos, asin + + +def process_angle(_angle): + ret = _angle + if ret < 0: + ret += (abs(ret) // (2*np.pi) + 1) * 2*np.pi + if ret >= 2 * np.pi: + ret -= (abs(ret) // (2*np.pi)) * 2*np.pi + assert 0 <= ret < 2 * np.pi, f'invalid angle: {ret}' + assert abs(np.sin(ret) - np.sin(_angle) + ) < 1e-5 and (np.cos(ret) - np.cos(_angle)) < 1e-5 + return ret + + +def asincos(sin_value, cos_value): + if sin_value >= 0: + # 第一象限和第二象限 + return acos(cos_value) + else: + if cos_value >= 0: + # 第四象限 + return asin(sin_value) + else: + # 第三象限 + return 2*np.pi - acos(cos_value) diff --git a/Palette/examples/charge_multi_split_wildfire_boustrophedon.py b/Palette/examples/charge_multi_split_wildfire_boustrophedon.py new file mode 100644 index 0000000..7bd3be2 --- /dev/null +++ b/Palette/examples/charge_multi_split_wildfire_boustrophedon.py @@ -0,0 +1,90 @@ +import numpy as np + +from argparse import ArgumentParser +from copy import deepcopy + +from Palette.env import make, SeaEnv +from Palette.constants import UP, DOWN, LEFT, RIGHT, FINISHED, BROKEN +from Palette.algos import MultiGreedy, MultiWildFire, MultiCharge, multi_split_area + + +def calculate_repeat_steps(fields): + return int(np.sum(fields[fields > 0]) - np.sum(fields > 0)) + + +def generate_agent_fields(fields, ship_num, splited_areas): + agents_fields = np.stack([deepcopy(fields) + for _ in range(ship_num)], axis=0) + for ship_id in range(1, ship_num+1): + cur_fields = agents_fields[ship_id-1] + # print((splited_areas != ship_id) * (splited_areas != -1)) + cur_fields[(splited_areas != ship_id) * (splited_areas != -1)] += 1 + return agents_fields + + +def main(env: SeaEnv, agent: MultiGreedy): + state, info = env.reset() + redecide_direction = [True for _ in range(env.ship_num)] + steps = 0 + while True: + steps += 1 + info['redecide_direction'] = redecide_direction + agents_fields = generate_agent_fields( + info['fields'], env.ship_num, env.splited_areas) + agent_info = deepcopy(info) + agent_info['fields'] = agents_fields + agent_info['batteries'] = [env.get_battery( + ship_id) for ship_id in range(env.ship_num)] + acts, redecide_direction = agent.step(state, agent_info) + + assert (acts != BROKEN).all(), f'Invalid: ships output BROKEN step.' + state, terminate, info = env.step(acts) + + if terminate: + if info['finished']: + print(f'Congrates! covered all the places!') + repeat_steps = calculate_repeat_steps(info['fields']) + units_num = info['fields'].size + repeat_ratio = repeat_steps / units_num + print( + f'Used steps: {steps}\nrepeat steps: {repeat_steps}\nrepeat ratio: {repeat_steps}/{units_num}={repeat_ratio*100:.2f}%') + else: + print(f'Failed!') + return + + +def get_args(): + parser = ArgumentParser() + parser.add_argument('-c', "--config_name", type=str, required=True, + help="The name of config file, e.g., map0") + parser.add_argument('-a', '--axis', type=str, default='x', + help='The axis for splitting areas') + parser.add_argument('-n', '--n-ships', type=int, + default=3, help='The number of ships.') + parser.add_argument('-b', '--battery-capacity', type=int, default=np.inf, + help='The num of steps a full battery can support.') + parser.add_argument('-f', '--filling-time', type=int, default=1, + help='The num of time steps needed for charging.') + parser.add_argument('--render', action='store_true', + help='render or not') + parser.add_argument('--cover-ratio', type=float, default=1.0) + return parser.parse_args() + + +if __name__ == '__main__': + args = get_args() + sea_env = make(env_config=args.config_name, + render=args.render, + split_axis=args.axis, + n_ships=args.n_ships, + filling_time=args.filling_time, + battery_capacity=args.battery_capacity, + cover_ratio=args.cover_ratio) + wildfires = MultiWildFire(n_ships=sea_env.ship_num) + charges = MultiCharge(n_ships=args.n_ships, filling_time=args.filling_time) + algo = MultiGreedy( + ship_num=sea_env.ship_num, wildfires=wildfires, charges=charges) + main(sea_env, algo) + + for _ in range(int(1e8)): + continue diff --git a/Palette/examples/charge_multi_split_wildfire_greedy.py b/Palette/examples/charge_multi_split_wildfire_greedy.py new file mode 100644 index 0000000..6eb0f2c --- /dev/null +++ b/Palette/examples/charge_multi_split_wildfire_greedy.py @@ -0,0 +1,91 @@ +import numpy as np + +from argparse import ArgumentParser +from copy import deepcopy + +from Palette.env import make, SeaEnv +from Palette.constants import UP, DOWN, LEFT, RIGHT, FINISHED, BROKEN +from Palette.algos import MultiGreedy, MultiWildFire, MultiCharge, multi_split_area + + +def calculate_repeat_steps(fields): + return int(np.sum(fields[fields > 0]) - np.sum(fields > 0)) + + +def generate_agent_fields(fields, ship_num, splited_areas): + agents_fields = np.stack([deepcopy(fields) + for _ in range(ship_num)], axis=0) + for ship_id in range(1, ship_num+1): + cur_fields = agents_fields[ship_id-1] + # print((splited_areas != ship_id) * (splited_areas != -1)) + cur_fields[(splited_areas != ship_id) * (splited_areas != -1)] += 1 + return agents_fields + + +def main(env: SeaEnv, agent: MultiGreedy): + state, info = env.reset() + redecide_direction = [True for _ in range(env.ship_num)] + steps = 0 + while True: + steps += 1 + info['redecide_direction'] = redecide_direction + # print(np.sum(info['fields'] == 0)) + agents_fields = generate_agent_fields( + info['fields'], env.ship_num, env.splited_areas) + agent_info = deepcopy(info) + agent_info['fields'] = agents_fields + agent_info['batteries'] = [env.get_battery( + ship_id) for ship_id in range(env.ship_num)] + acts, redecide_direction = agent.step(state, agent_info) + + assert (acts != BROKEN).all(), f'Invalid: ships output BROKEN step.' + state, terminate, info = env.step(acts) + + if terminate: + if info['finished']: + print(f'Congrates! covered all the places!') + repeat_steps = calculate_repeat_steps(info['fields']) + units_num = info['fields'].size + repeat_ratio = repeat_steps / units_num + print( + f'Used steps: {steps}\nrepeat steps: {repeat_steps}\nrepeat ratio: {repeat_steps}/{units_num}={repeat_ratio*100:.2f}%') + else: + print(f'Failed!') + return + + +def get_args(): + parser = ArgumentParser() + parser.add_argument('-c', "--config_name", type=str, required=True, + help="The name of config file, e.g., map0") + parser.add_argument('-a', '--axis', type=str, default='x', + help='The axis for splitting areas') + parser.add_argument('-n', '--n-ships', type=int, + default=3, help='The number of ships.') + parser.add_argument('-b', '--battery-capacity', type=int, default=np.inf, + help='The num of steps a full battery can support.') + parser.add_argument('-f', '--filling-time', type=int, default=1, + help='The num of time steps needed for charging.') + parser.add_argument('--render', action='store_true', + help='render or not') + parser.add_argument('--cover-ratio', type=float, default=1.0) + return parser.parse_args() + + +if __name__ == '__main__': + args = get_args() + sea_env = make(env_config=args.config_name, + render=args.render, + split_axis=args.axis, + n_ships=args.n_ships, + filling_time=args.filling_time, + battery_capacity=args.battery_capacity, + cover_ratio=args.cover_ratio) + wildfires = MultiWildFire(n_ships=sea_env.ship_num) + charges = MultiCharge(n_ships=args.n_ships, filling_time=args.filling_time) + algo = MultiGreedy( + ship_num=sea_env.ship_num, wildfires=wildfires, charges=charges) + main(sea_env, algo) + + for _ in range(int(1e8)): + continue diff --git a/Palette/examples/charge_multi_split_wildfire_spiral.py b/Palette/examples/charge_multi_split_wildfire_spiral.py new file mode 100644 index 0000000..c02f53b --- /dev/null +++ b/Palette/examples/charge_multi_split_wildfire_spiral.py @@ -0,0 +1,90 @@ +import numpy as np + +from argparse import ArgumentParser +from copy import deepcopy + +from Palette.env import make, SeaEnv +from Palette.constants import UP, DOWN, LEFT, RIGHT, FINISHED, BROKEN +from Palette.algos import MultiSpiral, MultiWildFire, MultiCharge, multi_split_area + + +def calculate_repeat_steps(fields): + return int(np.sum(fields[fields > 0]) - np.sum(fields > 0)) + + +def generate_agent_fields(fields, ship_num, splited_areas): + agents_fields = np.stack([deepcopy(fields) + for _ in range(ship_num)], axis=0) + for ship_id in range(1, ship_num+1): + cur_fields = agents_fields[ship_id-1] + # print((splited_areas != ship_id) * (splited_areas != -1)) + cur_fields[(splited_areas != ship_id) * (splited_areas != -1)] += 1 + return agents_fields + + +def main(env: SeaEnv, agent: MultiSpiral): + state, info = env.reset() + redecide_direction = [True for _ in range(env.ship_num)] + steps = 0 + while True: + steps += 1 + info['redecide_direction'] = redecide_direction + agents_fields = generate_agent_fields( + info['fields'], env.ship_num, env.splited_areas) + agent_info = deepcopy(info) + agent_info['fields'] = agents_fields + agent_info['batteries'] = [env.get_battery( + ship_id) for ship_id in range(env.ship_num)] + acts, redecide_direction = agent.step(state, agent_info) + + assert (acts != BROKEN).all(), f'Invalid: ships output BROKEN step.' + state, terminate, info = env.step(acts) + + if terminate: + if info['finished']: + print(f'Congrates! covered all the places!') + repeat_steps = calculate_repeat_steps(info['fields']) + units_num = info['fields'].size + repeat_ratio = repeat_steps / units_num + print( + f'Used steps: {steps}\nrepeat steps: {repeat_steps}\nrepeat ratio: {repeat_steps}/{units_num}={repeat_ratio*100:.2f}%') + else: + print(f'Failed!') + return + + +def get_args(): + parser = ArgumentParser() + parser.add_argument('-c', "--config_name", type=str, required=True, + help="The name of config file, e.g., map0") + parser.add_argument('-a', '--axis', type=str, default='x', + help='The axis for splitting areas') + parser.add_argument('-n', '--n-ships', type=int, + default=3, help='The number of ships.') + parser.add_argument('-b', '--battery-capacity', type=int, default=np.inf, + help='The num of steps a full battery can support.') + parser.add_argument('-f', '--filling-time', type=int, default=1, + help='The num of time steps needed for charging.') + parser.add_argument('--render', action='store_true', + help='render or not') + parser.add_argument('--cover-ratio', type=float, default=1.0) + return parser.parse_args() + + +if __name__ == '__main__': + args = get_args() + sea_env = make(env_config=args.config_name, + render=args.render, + split_axis=args.axis, + n_ships=args.n_ships, + filling_time=args.filling_time, + battery_capacity=args.battery_capacity, + cover_ratio=args.cover_ratio) + wildfires = MultiWildFire(n_ships=sea_env.ship_num) + charges = MultiCharge(n_ships=args.n_ships, filling_time=args.filling_time) + algo = MultiSpiral( + ship_num=sea_env.ship_num, wildfires=wildfires, charges=charges) + main(sea_env, algo) + + for _ in range(int(1e8)): + continue diff --git a/Palette/examples/multi_pure_boustrophedon.py b/Palette/examples/multi_pure_boustrophedon.py new file mode 100644 index 0000000..348d3cc --- /dev/null +++ b/Palette/examples/multi_pure_boustrophedon.py @@ -0,0 +1,45 @@ +import numpy as np + +from argparse import ArgumentParser + +from Palette.env import make, SeaEnv +from Palette.constants import UP, DOWN, LEFT, RIGHT, FINISHED, BROKEN +from Palette.algos import MultiGreedy + + +def calculate_repeat_steps(fields): + assert np.sum(fields == 0) == 0, f'Not finish!' + return int(np.sum(fields[fields > 0]) - np.sum(fields > 0)) + + +def main(env: SeaEnv, agent: MultiGreedy): + state, info = env.reset() + info['redecide_direction'] = [False for _ in range(env.ship_num())] + while True: + act = agent.step(state, info) + print(f'act: {act}') + if act == FINISHED: + print(f'Congrates! Covered all the places!') + break + elif act == BROKEN: + print('Broken!') + state, terminate, info = env.step(act) + info['redecide_direction'] = [False for _ in range(env.ship_num())] + if terminate: + print('Terminate!') + break + + +def get_args(): + parser = ArgumentParser() + parser.add_argument('-c', "--config_name", type=str, default='multi_map0', + help="The name of config file, e.g., multi_map0") + parser.add_argument('--render', action='store_true', + help='render or not') + return parser.parse_args() + +if __name__ == '__main__': + args = get_args() + sea_env = make(env_config=args.config_name, render=args.render) + algo = MultiGreedy(ship_num=sea_env.ship_num()) + main(sea_env, algo) diff --git a/Palette/examples/multi_split_wildfire_boustrophedon.py b/Palette/examples/multi_split_wildfire_boustrophedon.py new file mode 100644 index 0000000..c9a30ad --- /dev/null +++ b/Palette/examples/multi_split_wildfire_boustrophedon.py @@ -0,0 +1,75 @@ +import numpy as np + +from argparse import ArgumentParser +from copy import deepcopy + +from Palette.env import make, SeaEnv +from Palette.constants import UP, DOWN, LEFT, RIGHT, FINISHED, BROKEN +from Palette.algos import MultiGreedy, MultiWildFire, multi_split_area + + +def calculate_repeat_steps(fields): + assert np.sum(fields == 0) == 0, f'Not finish!' + return int(np.sum(fields[fields > 0]) - np.sum(fields > 0)) + + +def generate_agent_fields(fields, ship_num, splited_areas): + agents_fields = np.stack([deepcopy(fields) + for _ in range(ship_num)], axis=0) + for ship_id in range(1, ship_num+1): + cur_fields = agents_fields[ship_id-1] + # print((splited_areas != ship_id) * (splited_areas != -1)) + cur_fields[(splited_areas != ship_id) * (splited_areas != -1)] += 1 + return agents_fields + + +def main(env: SeaEnv, agent: MultiGreedy): + state, info = env.reset() + redecide_direction = [True for _ in range(env.ship_num)] + steps = 0 + while True: + steps += 1 + info['redecide_direction'] = redecide_direction + agents_fields = generate_agent_fields( + info['fields'], env.ship_num, env.splited_areas) + agent_info = deepcopy(info) + agent_info['fields'] = agents_fields + acts, redecide_direction = agent.step(state, agent_info) + + assert (acts != BROKEN).all(), f'Invalid: ships output BROKEN step.' + state, terminate, info = env.step(acts) + if terminate: + if info['finished']: + print(f'Congrates! covered all the places!') + repeat_steps = calculate_repeat_steps(info['fields']) + units_num = info['fields'].size + repeat_ratio = repeat_steps / units_num + print( + f'Used steps: {steps}\nrepeat steps: {repeat_steps}\nrepeat ratio: {repeat_steps}/{units_num}={repeat_ratio*100:.2f}%') + else: + print(f'Failed!') + return + + +def get_args(): + parser = ArgumentParser() + parser.add_argument('-c', "--config_name", type=str, required=True, + help="The name of config file, e.g., map0") + parser.add_argument('-a', '--axis', type=str, default='x', + help='The axis for splitting areas') + parser.add_argument('-n', '--n-ships', type=int, + default=3, help='The number of ships.') + parser.add_argument('--render', action='store_true', + help='render or not') + return parser.parse_args() + + +if __name__ == '__main__': + args = get_args() + sea_env = make(env_config=args.config_name, + render=args.render, + split_axis=args.axis, + n_ships=args.n_ships) + wildfires = MultiWildFire(n_ships=sea_env.ship_num) + algo = MultiGreedy(ship_num=sea_env.ship_num, wildfires=wildfires) + main(sea_env, algo) diff --git a/Palette/examples/pure_boustrophedon.py b/Palette/examples/pure_boustrophedon.py new file mode 100644 index 0000000..d06857b --- /dev/null +++ b/Palette/examples/pure_boustrophedon.py @@ -0,0 +1,37 @@ +from argparse import ArgumentParser + +from Palette.env import make, SeaEnv +from Palette.constants import UP, DOWN, LEFT, RIGHT, FINISHED, BROKEN +from Palette.algos import Boustrophedon + + +def main(env: SeaEnv, agent: Boustrophedon): + state, info = env.reset() + while True: + act = agent.step(state, info) + if act == FINISHED: + print(f'Congrates! Covered all the places!') + break + elif act == BROKEN: + print(f'Broken!') + break + state, terminate, info = env.step(act) + if terminate: + print(f'Terminate!') + break + + +def get_args(): + parser = ArgumentParser() + parser.add_argument('-c', "--config_name", type=str, required=True, + help="The name of config file, e.g., map0") + parser.add_argument('--render', action='store_true', + help='render or not') + return parser.parse_args() + + +if __name__ == '__main__': + args = get_args() + sea_env = make(env_config=args.config_name, render=args.render) + algo = Boustrophedon() + main(sea_env, algo) diff --git a/Palette/examples/split.py b/Palette/examples/split.py new file mode 100644 index 0000000..c43268e --- /dev/null +++ b/Palette/examples/split.py @@ -0,0 +1,89 @@ +import numpy as np + +from argparse import ArgumentParser +from copy import deepcopy + +from Palette.env import make, SeaEnv +from Palette.constants import UP, DOWN, LEFT, RIGHT, FINISHED, BROKEN +from Palette.algos import split_area, Boustrophedon, Spiral, WildFire +from typing import Union + + +def calculate_repeat_steps(fields): + assert np.sum(fields == 0) == 0, f'Not finish!' + return int(np.sum(fields[fields > 0]) - np.sum(fields > 0)) + + +def main(env: SeaEnv, agent: Union[Boustrophedon, Spiral], wildfire: WildFire): + state, info = env.reset() + fields_to_split = deepcopy(info['fields']) + fields_to_split[fields_to_split > 0] = 0 + splited_area = split_area(fields_to_split) + n_areas = int(np.max(splited_area)) + + for area_id in range(1, n_areas+1): + redecide_direction = True + cur_area_terminate = False + while True: + # for _ in range(9999999): + # continue + info['redecide_direction'] = redecide_direction + modified_fields = deepcopy(info['fields']) + modified_fields += ((splited_area != area_id) + * (splited_area != -1)) + info_for_agent = deepcopy(info) + info_for_agent['fields'] = modified_fields + act = agent.step(state, info_for_agent) + redecide_direction = False + if act == FINISHED: + cur_area_terminate = True + break + elif act == BROKEN: + print(f'Broken!') + while True: + act = wildfire.step(state, info_for_agent) + state, cur_area_terminate, info = env.step(act) + if cur_area_terminate: + break + if wildfire.empty(): + redecide_direction = True + break + else: + state, terminate, info = env.step(act) + if terminate: + if info['finished']: + print(f'Congrates! covered all the places!') + repeat_steps = calculate_repeat_steps(info['fields']) + units_num = info['fields'].size + repeat_ratio = repeat_steps / units_num + print( + f'repeat steps: {repeat_steps}\nrepeat ratio: {repeat_steps}/{units_num}={repeat_ratio*100:.2f}%') + else: + print(f'Failed!') + return + if cur_area_terminate: + break + + +def get_args(): + parser = ArgumentParser() + parser.add_argument('-c', "--config_name", type=str, required=True, + help="The name of config file, e.g., map0") + parser.add_argument('-a', '--algo', type=str, choices=[ + 'b', 's'], default='b', help='The algorithm is Boustrophedon or Spiral.') + parser.add_argument('--render', action='store_true', + help='render or not') + return parser.parse_args() + + +if __name__ == '__main__': + args = get_args() + sea_env = make(env_config=args.config_name, render=args.render) + if args.algo == 'b': + algo = Boustrophedon() + elif args.algo == 's': + algo = Spiral() + else: + raise ValueError(f'invalid args.algo: {args.algo}') + wildfire = WildFire() + main(sea_env, algo, wildfire) diff --git a/Palette/examples/wildfire_boustrophedon.py b/Palette/examples/wildfire_boustrophedon.py new file mode 100644 index 0000000..a9bbf56 --- /dev/null +++ b/Palette/examples/wildfire_boustrophedon.py @@ -0,0 +1,77 @@ +import numpy as np + +from argparse import ArgumentParser + +from Palette.env import make, SeaEnv +from Palette.constants import UP, DOWN, LEFT, RIGHT, FINISHED, BROKEN +from Palette.algos import Boustrophedon, WildFire + + +def calculate_repeat_steps(fields): + return int(np.sum(fields[fields > 0]) - np.sum(fields > 0)) + + +def main(env: SeaEnv, agent: Boustrophedon, wildfire: WildFire): + state, info = env.reset() + redecide_direction = True + all_steps = 0 + while True: + all_steps += 1 + state = state[0] + info['redecide_direction'] = redecide_direction + act = agent.step(state, info) + redecide_direction = False + if act[0] == FINISHED: + print(f'Congrates! covered all the places!') + repeat_steps = calculate_repeat_steps(info['fields']) + print(f'{repeat_steps} steps repeated!') + return + elif act[0] == BROKEN: + print(f'Broken!') + while True: + all_steps += 1 + act = wildfire.step(state, info) + state, terminate, info = env.step(act) + if terminate: + return + if wildfire.empty(): + redecide_direction = True + break + all_steps -= 1 + else: + state, terminate, info = env.step(act) + if terminate: + if info['finished']: + print(f'Congrates! covered all the places!') + print(f'steps: {all_steps}') + repeat_steps = calculate_repeat_steps(info['fields']) + units_num = info['fields'].size + repeat_ratio = repeat_steps / units_num + print( + f'repeat steps: {repeat_steps}\nrepeat ratio: {repeat_steps}/{units_num}={repeat_ratio*100:.2f}%') + else: + print(f'Failed!') + return + + +def get_args(): + parser = ArgumentParser() + parser.add_argument('-c', "--config_name", type=str, required=True, + help="The name of config file, e.g., map0") + parser.add_argument('--render', action='store_true', + help='render or not') + parser.add_argument('--cover-ratio', type=float, default=1.0) + return parser.parse_args() + + +if __name__ == '__main__': + args = get_args() + sea_env = make(env_config=args.config_name, + render=args.render, n_ships=1, split_axis='x', + cover_ratio=args.cover_ratio) + algo = Boustrophedon() + wildfire = WildFire() + main(sea_env, algo, wildfire) + + for _ in range(int(1e8)): + continue \ No newline at end of file diff --git a/Palette/examples/wildfire_spiral.py b/Palette/examples/wildfire_spiral.py new file mode 100644 index 0000000..9cb40db --- /dev/null +++ b/Palette/examples/wildfire_spiral.py @@ -0,0 +1,77 @@ +import numpy as np + +from argparse import ArgumentParser + +from Palette.env import make, SeaEnv +from Palette.constants import UP, DOWN, LEFT, RIGHT, FINISHED, BROKEN +from Palette.algos import Spiral, WildFire + + +def calculate_repeat_steps(fields): + return int(np.sum(fields[fields > 0]) - np.sum(fields > 0)) + + +def main(env: SeaEnv, agent: Spiral, wildfire: WildFire): + state, info = env.reset() + redecide_direction = True + all_steps = 0 + while True: + all_steps += 1 + info['redecide_direction'] = redecide_direction + act = agent.step(state, info) + redecide_direction = False + if act[0] == FINISHED: + print(f'Congrates! covered all the places!') + repeat_steps = calculate_repeat_steps(info['fields']) + print(f'{repeat_steps} steps repeated!') + break + elif act[0] == BROKEN: + print(f'Broken!') + while True: + all_steps += 1 + act = wildfire.step(state[0], info) + state, terminate, info = env.step(act) + all_steps += 1 + if terminate: + return + if wildfire.empty(): + redecide_direction = True + break + all_steps -= 1 + else: + state, terminate, info = env.step(act) + if terminate: + if info['finished']: + print(f'Congrates! covered all the places!') + print(f'steps: {all_steps}') + repeat_steps = calculate_repeat_steps(info['fields']) + units_num = info['fields'].size + repeat_ratio = repeat_steps / units_num + print( + f'repeat steps: {repeat_steps}\nrepeat ratio: {repeat_steps}/{units_num}={repeat_ratio*100:.2f}%') + else: + print(f'Failed!') + return + + +def get_args(): + parser = ArgumentParser() + parser.add_argument('-c', "--config_name", type=str, required=True, + help="The name of config file, e.g., map0") + parser.add_argument('--render', action='store_true', + help='render or not') + parser.add_argument('--cover-ratio', type=float, default=1.0) + return parser.parse_args() + + +if __name__ == '__main__': + args = get_args() + sea_env = make(env_config=args.config_name, + render=args.render, n_ships=1, split_axis='x', + cover_ratio=args.cover_ratio) + algo = Spiral() + wildfire = WildFire() + main(sea_env, algo, wildfire) + + for _ in range(int(1e8)): + continue diff --git a/Palette/maps/map0.yaml b/Palette/maps/map0.yaml new file mode 100644 index 0000000..9711eca --- /dev/null +++ b/Palette/maps/map0.yaml @@ -0,0 +1,14 @@ +map_name: map0 +env: + window_width: !!int 1000 + window_height: !!int 1000 + field_size: [20, 20] + start_position: [10, 10] + ship_radius: !!int 5 + ship_velocity: 200 + sonar_spread_times: !!int 40 + obstacles: # name: [x of the left bottom, y of the left bottom, width, height] + obstacle0: [100, 100, 100, 200] + obstacle1: [300, 160, 120, 120] + obstacle2: [460, 460, 120, 120] + obstacle3: [700, 700, 160, 160] diff --git a/Palette/maps/map1.yaml b/Palette/maps/map1.yaml new file mode 100644 index 0000000..3763e9f --- /dev/null +++ b/Palette/maps/map1.yaml @@ -0,0 +1,15 @@ +map_name: map1 +env: + window_width: !!int 1000 + window_height: !!int 1000 + field_size: [20, 20] + start_position: [10, 10] + ship_radius: !!int 5 + ship_velocity: 200 + sonar_spread_times: !!int 40 + obstacles: # name: [x of the left bottom, y of the left bottom, width, height] + obstacle0: [100, 600, 100, 200] + obstacle1: [300, 360, 120, 120] + obstacle2: [660, 460, 120, 120] + obstacle3: [400, 700, 160, 160] + obstacle4: [460, 460, 200, 40] diff --git a/Palette/maps/map2.yaml b/Palette/maps/map2.yaml new file mode 100644 index 0000000..e395bfd --- /dev/null +++ b/Palette/maps/map2.yaml @@ -0,0 +1,17 @@ +map_name: map2 +env: + window_width: !!int 1000 + window_height: !!int 1000 + field_size: [20, 20] + start_position: [10, 10] + ship_radius: !!int 5 + ship_velocity: 200 + sonar_spread_times: !!int 40 + obstacles: # name: [x of the left bottom, y of the left bottom, width, height] + obstacle0: [100, 600, 100, 200] + obstacle1: [300, 260, 120, 320] + obstacle2: [660, 460, 120, 120] + obstacle3: [400, 700, 160, 160] + obstacle4: [420, 260, 200, 80] + obstacle5: [420, 500, 200, 80] + obstacle6: [580, 380, 40, 120] diff --git a/Palette/maps/map_actual.yaml b/Palette/maps/map_actual.yaml new file mode 100644 index 0000000..db61a54 --- /dev/null +++ b/Palette/maps/map_actual.yaml @@ -0,0 +1,22 @@ +map_name: map_actual +env: + window_width: !!int 1300 + window_height: !!int 1200 + field_size: [4, 4] + start_position: [2, 2] + ship_radius: !!int 1 + ship_velocity: 40 + sonar_spread_times: !!int 40 + obstacles: # name: [x of the left bottom, y of the left bottom, width, height] + obstacle0: [40, 440, 340, 220] + obstacle1: [100, 160, 300, 180] + obstacle2: [300, 40, 100, 60] + obstacle3: [500, 340, 160, 80] + obstacle4: [980, 20, 180, 80] + obstacle5: [860, 300, 260, 160] + obstacle6: [1160, 440, 60, 40] + obstacle7: [740, 980, 180, 120] + obstacle8: [0, 1140, 140, 60] + obstacle9: [1240, 700, 60, 60] + actual_background: !!bool true + actual_around_area: !!int 0 diff --git a/Palette/maps/map_actual_show.yaml b/Palette/maps/map_actual_show.yaml new file mode 100644 index 0000000..8538b72 --- /dev/null +++ b/Palette/maps/map_actual_show.yaml @@ -0,0 +1,22 @@ +map_name: map_actual_show +env: + window_width: !!int 1300 + window_height: !!int 1200 + field_size: [20, 20] + start_position: [10, 10] + ship_radius: !!int 5 + ship_velocity: 200 + sonar_spread_times: !!int 40 + obstacles: # name: [x of the left bottom, y of the left bottom, width, height] + obstacle0: [40, 440, 340, 220] + obstacle1: [100, 160, 300, 180] + obstacle2: [300, 40, 100, 60] + obstacle3: [500, 340, 160, 80] + obstacle4: [980, 20, 180, 80] + obstacle5: [860, 300, 260, 160] + obstacle6: [1160, 440, 60, 40] + obstacle7: [740, 980, 180, 120] + obstacle8: [0, 1140, 140, 60] + obstacle9: [1240, 700, 60, 60] + actual_background: !!bool true + actual_around_area: !!int 0 diff --git a/Palette/maps/map_actual_with_around.yaml b/Palette/maps/map_actual_with_around.yaml new file mode 100644 index 0000000..84c1cff --- /dev/null +++ b/Palette/maps/map_actual_with_around.yaml @@ -0,0 +1,22 @@ +map_name: map_actual_with_around +env: + window_width: !!int 1300 + window_height: !!int 1200 + field_size: [4, 4] + start_position: [2, 2] + ship_radius: !!int 1 + ship_velocity: 40 + sonar_spread_times: !!int 40 + obstacles: # name: [x of the left bottom, y of the left bottom, width, height] + obstacle0: [40, 440, 340, 220] + obstacle1: [100, 160, 300, 180] + obstacle2: [300, 40, 100, 60] + obstacle3: [500, 340, 160, 80] + obstacle4: [980, 20, 180, 80] + obstacle5: [860, 300, 260, 160] + obstacle6: [1160, 440, 60, 40] + obstacle7: [740, 980, 180, 120] + obstacle8: [0, 1140, 140, 60] + obstacle9: [1240, 700, 60, 60] + actual_background: !!bool true + actual_around_area: !!int 50 diff --git a/Palette/maps/map_actual_with_around_show.yaml b/Palette/maps/map_actual_with_around_show.yaml new file mode 100644 index 0000000..0e62210 --- /dev/null +++ b/Palette/maps/map_actual_with_around_show.yaml @@ -0,0 +1,22 @@ +map_name: map_actual_with_around +env: + window_width: !!int 1300 + window_height: !!int 1200 + field_size: [20, 20] + start_position: [10, 10] + ship_radius: !!int 5 + ship_velocity: 200 + sonar_spread_times: !!int 40 + obstacles: # name: [x of the left bottom, y of the left bottom, width, height] + obstacle0: [40, 440, 340, 220] + obstacle1: [100, 160, 300, 180] + obstacle2: [300, 40, 100, 60] + obstacle3: [500, 340, 160, 80] + obstacle4: [980, 20, 180, 80] + obstacle5: [860, 300, 260, 160] + obstacle6: [1160, 440, 60, 40] + obstacle7: [740, 980, 180, 120] + obstacle8: [0, 1140, 140, 60] + obstacle9: [1240, 700, 60, 60] + actual_background: !!bool true + actual_around_area: !!int 5 diff --git a/Palette/maps/multi_map0.yaml b/Palette/maps/multi_map0.yaml new file mode 100644 index 0000000..be8567a --- /dev/null +++ b/Palette/maps/multi_map0.yaml @@ -0,0 +1,19 @@ +map_name: multi_map0 +env: + window_width: !!int 1000 + window_height: !!int 1000 + field_size: [20, 20] + #start_position: + # ship0: [10, 10] + # ship1: [990, 990] + #start_r: + # ship0: !!float 0.0 # pi + # ship1: !!float 1.0 # pi + ship_radius: !!int 5 + ship_velocity: 200 + sonar_spread_times: !!int 40 + obstacles: # name: [x of the left bottom, y of the left bottom, width, height] + obstacle0: [100, 100, 100, 200] + obstacle1: [300, 160, 120, 120] + obstacle2: [460, 460, 120, 120] + obstacle3: [700, 700, 160, 160] diff --git a/README.md b/README.md index ae08536..42504f4 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,44 @@ -# SeAIPalette +# SeAI Palette集智调色板 +## 0. 软件介绍 +SeAI Palette集智调色板是面向集群网络的多节点智能协同路径规划软件。软件以面向对象的设计理念,采用Python语言编程,基于pyqt、pygame、pyyaml、pymunk、easydict以及ppdet等技术开发,内置3个虚拟地图和多种算法(牛耕法、内螺旋法、贪心法等,持续更新),并提供扩展接口,支持地图和算法自定义。软件安装简单,运行方便,可选参数丰富,扩展性高,非常适用于相关研究领域的工程技术人员和学生掌握学习集群智能规划方法。 +集智调色板软件设计了参数输入模块、算法运行模块及信息输出模块,在不同节点数量要求的前提下划分区域方向,按区域进行算法的运行。并可以综合考虑固定节点、覆盖率、电池容量等条件下,给出运行步数、重复步数和重复率等等性能指标。 + +软件界面简单,易学已用,包含参数的输入选择,程序的运行,算法结果的展示等,源代码公开,算法可修改。 +开发人员:王凯、于化鹏、李晶、王兆琦、李慧涛、赵志允、张乐飞、陈光 + + +## 1. 开发环境配置 +运行以下命令: +```bash +conda env create -f create_env.yaml +``` +该命令会创建一个名为`Palette`的conda虚拟环境,用`conda activate Palette`即可激活该虚拟环境。 + + +## 2. 软件运行 +运行以下命令运行软件: +```python +python main_tt.py +``` + +## 3. 一些说明 +1. 程序输出的说明 + + 程序运行结束后会在命令行输出类似于下面的结果: + ``` + finished!!! + Congrates! covered all the places! + Used steps: 79 + repeat steps: 187 + repeat ratio: 187/3900=4.79% + ``` + 分别为使用的步数,重复的步数和重复率。 + +2. 关于渲染结果的说明 + + 渲染中不同移动节点负责的区域用不同颜色标记,每个区域颜色越深表示该区域被重复走的次数越多。 + + 为了能够让人看清最后遍历的结果,我们在程序最后加了一个循环(空循环$10^8$次)以防止渲染结果立刻消失。 + + 此外,渲染结果最后会留一格小区域没有覆盖,这个是渲染结果滞后仿真程序内核一个时间单位导致的,不会对实际测试结果造成影响。 \ No newline at end of file diff --git a/SeAIPalette b/SeAIPalette new file mode 160000 index 0000000..82e80a5 --- /dev/null +++ b/SeAIPalette @@ -0,0 +1 @@ +Subproject commit 82e80a5b3b1884cacc479d9918a1ff2b0ca61faa diff --git a/condaenv.6gnh6mi1.requirements.txt b/condaenv.6gnh6mi1.requirements.txt new file mode 100644 index 0000000..8e46c12 --- /dev/null +++ b/condaenv.6gnh6mi1.requirements.txt @@ -0,0 +1,5 @@ +pygame==2.0.1 +pymunk==6.0.0 +pyyaml==5.4.1 +numpy==1.20.3 +easydict==1.9 \ No newline at end of file diff --git a/create_env.yaml b/create_env.yaml new file mode 100644 index 0000000..d734233 --- /dev/null +++ b/create_env.yaml @@ -0,0 +1,11 @@ +name: Palette +dependencies: + - python=3.7.3 + - anaconda + - pip + - pip: + - pygame==2.0.1 + - pymunk==6.0.0 + - pyyaml==5.4.1 + - numpy==1.20.3 + - easydict==1.9 diff --git a/create_env.yaml.bak b/create_env.yaml.bak new file mode 100644 index 0000000..3a1e29e --- /dev/null +++ b/create_env.yaml.bak @@ -0,0 +1,11 @@ +name: Palette +dependencies: + - python=3.7.6 + - anaconda + - pip + - pip: + - pygame==2.0.1 + - pymunk==6.0.0 + - pyyaml==5.4.1 + - numpy==1.20.3 + - easydict==1.9 diff --git a/main_tt.py b/main_tt.py new file mode 100644 index 0000000..e228c26 --- /dev/null +++ b/main_tt.py @@ -0,0 +1,127 @@ +import sys, os +from MainWindow_map import Ui_MainWindow +from PyQt5 import QtWidgets, QtCore, QtSql, QtGui +from PyQt5.QtWidgets import * +from PyQt5.QtCore import * +from PyQt5.QtGui import QPixmap + +import threading, time, subprocess + +class mywindow(QtWidgets.QMainWindow, Ui_MainWindow): + def __init__(self): + super(mywindow, self).__init__() + self.setupUi(self) + + self.comboBox_map.addItems(['地图0', '地图1', '地图2']) + + self.comboBox_algo.addItems(['野火法+牛耕法', '野火法+内螺旋法', '野火法+贪心法']) + + self.comboBox_axis.addItems(['x', 'y']) + + self.comboBox_render.addItems(['是', '否']) + + self.comboBox_around.addItems(['不考虑', '考虑']) + + self.comboBox_bettery.addItems(['否', '是']) + + if self.comboBox_bettery.currentText() == '否': + self.lineEdit_bettery.setEnabled(False) + + def slot_bettery(self): + if self.comboBox_bettery.currentText() == '否': + self.lineEdit_bettery.setEnabled(False) + if self.comboBox_bettery.currentText() == '是': + self.lineEdit_bettery.setEnabled(True) + + def thread_run(self): + if self.comboBox_bettery.currentText() == '否': + if self.ships_num == '1': + if self.comboBox_algo.currentText() == '野火法+牛耕法': + cmd = 'python -u -m Palette.examples.wildfire_boustrophedon -c '+self.map+self.render+'--cover-ratio '+self.cover_ratio + result = subprocess.Popen( + cmd, shell=True,stdout=subprocess.PIPE).stdout + self.label_show.setText(str(result.read(),encoding="utf-8")) + elif self.comboBox_algo.currentText() == '野火法+内螺旋法': + cmd = 'python -u -m Palette.examples.wildfire_spiral -c ' + self.map + self.render + '--cover-ratio ' + self.cover_ratio + result = subprocess.Popen( + cmd, shell=True, stdout=subprocess.PIPE).stdout + self.label_show.setText(str(result.read(), encoding="utf-8")) + elif self.comboBox_algo.currentText() == '野火法+贪心法': + cmd = 'python -u -m Palette.examples.charge_multi_split_wildfire_greedy -c ' + self.map + self.render + '--cover-ratio ' + self.cover_ratio + ' -n 1' + result = subprocess.Popen( + cmd, shell=True, stdout=subprocess.PIPE).stdout + self.label_show.setText(str(result.read(), encoding="utf-8")) + elif self.ships_num != '1': + if self.comboBox_algo.currentText() == '野火法+牛耕法': + cmd = 'python -u -m Palette.examples.charge_multi_split_wildfire_boustrophedon -c '+self.map+self.render+'--cover-ratio '+self.cover_ratio+' -n '+str(self.ships_num)+' -a '+self.axis + result = subprocess.Popen( + cmd, shell=True,stdout=subprocess.PIPE).stdout + self.label_show.setText(str(result.read(),encoding="utf-8")) + elif self.comboBox_algo.currentText() == '野火法+内螺旋法': + cmd = 'python -u -m Palette.examples.charge_multi_split_wildfire_spiral -c ' + self.map + self.render + '--cover-ratio ' + self.cover_ratio+' -n '+str(self.ships_num)+' -a '+self.axis + result = subprocess.Popen( + cmd, shell=True, stdout=subprocess.PIPE).stdout + self.label_show.setText(str(result.read(), encoding="utf-8")) + elif self.comboBox_algo.currentText() == '野火法+贪心法': + cmd = 'python -u -m Palette.examples.charge_multi_split_wildfire_greedy -c ' + self.map + self.render + '--cover-ratio ' + self.cover_ratio+' -n '+str(self.ships_num)+' -a '+self.axis + result = subprocess.Popen( + cmd, shell=True, stdout=subprocess.PIPE).stdout + self.label_show.setText(str(result.read(), encoding="utf-8")) + + elif self.comboBox_bettery.currentText() == '是': + if self.ships_num != '1': + if self.comboBox_algo.currentText() == '野火法+牛耕法': + cmd = 'python -u -m Palette.examples.charge_multi_split_wildfire_boustrophedon -c '+self.map+self.render+'--cover-ratio '+self.cover_ratio+' -n '+str(self.ships_num)+' -a '+self.axis+' -b '+self.lineEdit_bettery.text() + result = subprocess.Popen( + cmd, shell=True,stdout=subprocess.PIPE).stdout + self.label_show.setText(str(result.read(),encoding="utf-8")) + elif self.comboBox_algo.currentText() == '野火法+内螺旋法': + cmd = 'python -u -m Palette.examples.charge_multi_split_wildfire_spiral -c ' + self.map + self.render + '--cover-ratio ' + self.cover_ratio+' -n '+str(self.ships_num)+' -a '+self.axis+' -b '+self.lineEdit_bettery.text() + result = subprocess.Popen( + cmd, shell=True, stdout=subprocess.PIPE).stdout + self.label_show.setText(str(result.read(), encoding="utf-8")) + elif self.comboBox_algo.currentText() == '野火法+贪心法': + cmd = 'python -u -m Palette.examples.charge_multi_split_wildfire_greedy -c ' + self.map + self.render + '--cover-ratio ' + self.cover_ratio+' -n '+str(self.ships_num)+' -a '+self.axis+' -b '+self.lineEdit_bettery.text() + result = subprocess.Popen( + cmd, shell=True, stdout=subprocess.PIPE).stdout + self.label_show.setText(str(result.read(), encoding="utf-8")) + + elif self.ships_num == '1': + self.label_show.setText('请设置多移动节点') + + + def run(self): + self.cover_ratio = str(float(self.lineEdit_coverr.text()) / 100.0) + self.ships_num = self.lineEdit_shipn.text() + self.axis = self.comboBox_axis.currentText() + if self.comboBox_map.currentText() == '地图0': + self.map = 'map0' + elif self.comboBox_map.currentText() == '地图1': + self.map = 'map1' + elif self.comboBox_map.currentText() == '地图2': + self.map = 'map2' + elif self.comboBox_map.currentText() == '自定义地图': + if self.comboBox_around.currentText() == '不考虑': + self.map = 'map_actual_show' + elif self.comboBox_around.currentText() == '考虑': + self.map = 'map_actual_with_around_show' + + if self.comboBox_render.currentText() == '是': + self.render = ' --render ' + elif self.comboBox_render.currentText() == '否': + self.render = ' ' + + threading.Thread(target=self.thread_run).start() + self.label_show.setText('程序正在运行,请稍后!') + + def stop(self): + print('2') + + + +if __name__ == '__main__': + app = QApplication(sys.argv) + window = mywindow() + # window.showMaximized() + window.show() + sys.exit(app.exec_()) diff --git a/pics/sea.jpg b/pics/sea.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a7f1d98bd7a1d6e1878abb18d554eeee355fd098 GIT binary patch literal 34518 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ⅈ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%0D!|tw`pJPU#@Az~CQ46ihUW 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

HTq=LR{6 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