最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

強化學習路徑優(yōu)化:基于Q-learning算法的機器人路徑優(yōu)化(MATLAB)

2023-07-03 22:57 作者:MATLAB之路徑規(guī)劃  | 我要投稿

一、強化學習之Q-learning算法

Q-learning算法是強化學習算法中的一種,該算法主要包含:Agent、狀態(tài)、動作、環(huán)境、回報和懲罰。Q-learning算法通過機器人與環(huán)境不斷地交換信息,來實現(xiàn)自我學習。Q-learning算法中的Q表是機器人與環(huán)境交互后的結(jié)果,因此在Q-learning算法中更新Q表就是機器人與環(huán)境的交互過程。機器人在當前狀態(tài)s(t)下,選擇動作a,通過環(huán)境的作用,形成新的狀態(tài)s(t+1),并產(chǎn)生回報或懲罰r(t+1),通過式(1)更新Q表后,若Q(s,a)值變小,則表明機器人處于當前位置時選擇該動作不是最優(yōu)的,當下次機器人再次處于該位置或狀態(tài)時,機器人能夠避免再次選擇該動作action. 重復相同的步驟,機器人與環(huán)境之間不停地交互,就會獲得到大量的數(shù)據(jù),直至Q表收斂。QL算法使用得到的數(shù)據(jù)去修正自己的動作策略,然后繼續(xù)同環(huán)境進行交互,進而獲得新的數(shù)據(jù)并且使用該數(shù)據(jù)再次改良它的策略,在多次迭代后,Agent最終會獲得最優(yōu)動作。在一個時間步結(jié)束后,根據(jù)上個時間步的信息和產(chǎn)生的新信息更新Q表格,Q(s,a)更新方式如式(1):

式中:st為當前狀態(tài);r(t+1)為狀態(tài)st的及時回報;a為狀態(tài)st的動作空間;α為學習速率,α∈[0,1];γ為折扣速率,γ∈[0,1]。當α=0時,表明機器人只向過去狀態(tài)學習,當α=1時,表明機器人只能學習接收到的信息。當γ=1時,機器人可以學習未來所有的獎勵,當γ=0時,機器人只能接受當前的及時回報。

每個狀態(tài)的最優(yōu)動作通過式(2)產(chǎn)生:

Q-learning算法的搜索方向為上下左右四個方向,如下圖所示:

Q-learning算法基本原理參考文獻:

[1]王付宇,張康,謝昊軒等.基于改進Q-learning算法的移動機器人路徑優(yōu)化[J].系統(tǒng)工程,2022,40(04):100-109.

二、Q-learning算法求解機器人路徑優(yōu)化

部分代碼:提供參考地圖,地圖數(shù)值可以修改(地圖中0代表障礙物,50代表通道 ,70代表起點 ,100代表終點),最大訓練次數(shù)等參數(shù)可根據(jù)自己需要修改。

地圖中綠色為通道,藍色為障礙物,紅線為得到的路徑,起始點均標注。

(1)第一次結(jié)果

機器人最終路徑:

??49???1

??48???1

??47???1

??47???2

??47???3

??48???3

??48???4

??48???5

??48???6

??48???7

??48???8

??47???8

??47???9

??47??10

??46??10

??45??10

??45??11

??45??12

??44??12

??43??12

??42??12

??42??13

??42??14

??42??15

??42??16

??42??17

??42??18

??42??19

??41??19

??41??20

??41??21

??41??22

??40??22

??40??23

??40??24

??40??25

??39??25

??38??25

??37??25

??36??25

??35??25

??34??25

??34??24

??33??24

??32??24

??31??24

??30??24

??30??25

??29??25

??28??25

??28??24

??27??24

??26??24

??25??24

??24??24

??24??25

??24??26

??24??27

??23??27

??22??27

??21??27

??21??28

??21??29

??21??30

??22??30

??22??31

??22??32

??22??33

??22??34

??21??34

??21??35

??21??36

??20??36

??19??36

??18??36

??17??36

??16??36

??15??36

??15??37

??15??38

??14??38

??14??39

??14??40

??14??41

??13??41

??12??41

??11??41

??10??41

???9??41

???8??41

???8??40

???7??40

???6??40

???5??40

???4??40

???4??41

???4??42

???4??43

???3??43

???2??43

???1??43

???1??44

???1??45

???1??46

???1??47

???2??47

???2??48

???1??48

機器人最終路徑長度為 107

機器人在最終路徑下的轉(zhuǎn)向及移動次數(shù)為 189

(2)第二次結(jié)果

機器人最終路徑:

??49???1

??48???1

??47???1

??47???2

??46???2

??45???2

??44???2

??44???3

??44???4

??43???4

??42???4

??42???5

??42???6

??42???7

??42???8

??42???9

??42??10

??41??10

??41??11

??41??12

??42??12

??42??13

??42??14

??42??15

??42??16

??42??17

??42??18

??42??19

??41??19

??41??20

??41??21

??41??22

??40??22

??40??23

??40??24

??40??25

??39??25

??38??25

??37??25

??36??25

??35??25

??34??25

??34??24

??33??24

??32??24

??31??24

??30??24

??30??25

??29??25

??28??25

??28??24

??27??24

??26??24

??25??24

??24??24

??24??25

??24??26

??24??27

??23??27

??22??27

??21??27

??21??28

??21??29

??21??30

??22??30

??22??31

??22??32

??22??33

??22??34

??21??34

??21??35

??21??36

??20??36

??19??36

??19??37

??18??37

??18??38

??17??38

??16??38

??15??38

??14??38

??14??39

??14??40

??14??41

??13??41

??12??41

??11??41

??10??41

???9??41

???8??41

???8??40

???7??40

???6??40

???5??40

???4??40

???4??41

???4??42

???4??43

???3??43

???2??43

???1??43

???1??44

???1??45

???1??46

???1??47

???1??48

機器人最終路徑長度為 105

機器人在最終路徑下的轉(zhuǎn)向及移動次數(shù)為 186

(3)第三次結(jié)果

機器人最終路徑:

??49???1

??48???1

??47???1

??47???2

??47???3

??48???3

??48???4

??48???5

??48???6

??48???7

??48???8

??47???8

??47???9

??47??10

??46??10

??45??10

??45??11

??44??11

??44??12

??43??12

??42??12

??42??13

??42??14

??42??15

??42??16

??42??17

??42??18

??42??19

??41??19

??41??20

??41??21

??41??22

??40??22

??40??23

??40??24

??40??25

??39??25

??38??25

??37??25

??36??25

??35??25

??34??25

??34??24

??33??24

??32??24

??31??24

??30??24

??30??25

??29??25

??28??25

??28??24

??27??24

??26??24

??25??24

??24??24

??24??25

??24??26

??24??27

??23??27

??22??27

??21??27

??21??28

??21??29

??21??30

??22??30

??22??31

??22??32

??22??33

??22??34

??21??34

??21??35

??21??36

??20??36

??19??36

??19??37

??18??37

??18??38

??17??38

??16??38

??15??38

??14??38

??14??39

??14??40

??14??41

??13??41

??12??41

??11??41

??10??41

???9??41

???8??41

???8??40

???7??40

???6??40

???5??40

???4??40

???4??41

???4??42

???4??43

???3??43

???2??43

???1??43

???1??44

???1??45

???1??46

???2??46

???2??47

???1??47

???1??48

機器人最終路徑長度為 107

機器人在最終路徑下的轉(zhuǎn)向及移動次數(shù)為 200

三、完整MATLAB代碼私信up主





強化學習路徑優(yōu)化:基于Q-learning算法的機器人路徑優(yōu)化(MATLAB)的評論 (共 條)

分享到微博請遵守國家法律
鹤岗市| 崇礼县| 汕尾市| 万荣县| 阿巴嘎旗| 城步| 彭泽县| 从化市| 奇台县| 甘孜| 嘉义县| 喀喇沁旗| 神木县| 墨江| 诸暨市| 宜川县| 松原市| 崇文区| 凤山县| 宁明县| 兴海县| 鸡东县| 平泉县| 浠水县| 固原市| 铜梁县| 武汉市| 松江区| 饶河县| 桃源县| 武平县| 塔河县| 大宁县| 德阳市| 柞水县| 苍南县| 阿拉尔市| 双江| 昌图县| 凭祥市| 锦屏县|