语言选择: 简体中文简体中文 line EnglishEnglish

行业资讯

把强化学习算法用在路径规划问题中好吗?

强化学习的优点是不是就在不需要模型信息,但是在路径规划又需要加入一些必要的模型信息,这样是不是背道而驰?

VIN已经给出了非常好的解答,但是在真实的控制领域,以三维机动载具为例子,传感器部分可观测+动作规划+行为分析,这是RL的主流做法

单纯的路径规划我感觉搜索更好,而带有附加条件的路径规划搜索可能不是很好做,考虑强化学习也是可以的。

可以了解下model-based RL。如果你的MDP可以完全定义好就没必要用RL。

深度强化学习之AI学习侧方倒车入库,你的科目二如何了

Q-learning算法是强化学习算法中的一种,该算法主要包含:Agent、状态、动作、环境、回报和惩罚。Q-learning算法通过机器人与环境不断地交换信息,来实现自我学习。Q-learning算法中的Q表是机器人与环境交互后的结果,因此在Q-learning算法中更新Q表就是机器人与环境的交互过程。机器人在当前状态s(t)下,选择动作a,通过环境的作用,形成新的状态s(t+1),并产生回报或惩罚r(t+1),通过式(1)更新Q表后,若Q(s,a)值变小,则表明机器人处于当前位置时选择该动作不是最优的,当下次机器人再次处于该位置或状态时,机器人能够避免再次选择该动作action. 重复相同的步骤,机器人与环境之间不停地交互,就会获得到大量的数据,直至Q表收敛。QL算法使用得到的数据去修正自己的动作策略,然后继续同环境进行交互,进而获得新的数据并且使用该数据再次改良它的策略,在多次迭代后,Agent最终会获得最优动作。在一个时间步结束后,根据上个时间步的信息和产生的新信息更新Q表格,Q(s,a)更新方式如式(1):

式中:st为当前状态;r(t+1)为状态st的及时回报;a为状态st的动作空间;α为学习速率,α∈[0,1];γ为折扣速率,γ∈[0,1]。当α=0时,表明机器人只向过去状态学习,当α=1时,表明机器人只能学习接收到的信息。当γ=1时,机器人可以学习未来所有的奖励,当γ=0时,机器人只能接受当前的及时回报。

每个状态的最优动作通过式(2)产生:

Q-learning算法的搜索方向为上下左右四个方向,如下图所示:

Q-learning算法基本原理参考文献:

[1]王付宇,张康,谢昊轩等.基于改进Q-learning算法的移动机器人路径优化[J].系统工程,2022,40(04):100-109.

部分代码:提供参考地图,地图数值可以修改(地图中0代表障碍物,50代表通道 ,70代表起点 ,100代表终点),最大训练次数等参数可根据自己需要修改。

close all
clear
clc
%reference code link: https://mbd.pub/o/bread/ZJqcm59u
global maze2D;
global tempMaze2D;
NUM_ITERATIONS=700; % 最大训练次数(可以修改)
DISPLAY_FLAG=0; % 是否显示(1 显示; 0 不显示)注意:设置为0运行速度更快
CurrentDirection=4; % 当前机器人的朝向(1-4具体指向如下)
% 1 - means robot facing up
% 2 - means robot facing left
% 3 - means robot facing right
% 4 - means robot facing down
maze2D=xlsread('10x10.xlsx');%%导入地图(提供5个地图,可以修改) maze2D中 0代表障碍物 50代表通道 70代表起点 100代表终点
[startX,startY]=find(maze2D==70);%获取起点
[goalX,goalY]=find(maze2D==100);%获取终点
orgMaze2D=maze2D;
tempMaze2D=orgMaze2D;
CorlorStr='jet';
%reference code link: https://mbd.pub/o/bread/ZJqcm59u



地图中绿色为通道,蓝色为障碍物,红线为得到的路径,起始点均标注。

机器人最终路径:

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

机器人在最终路径下的转向及移动次数为 189

机器人最终路径:

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

机器人在最终路径下的转向及移动次数为 186

机器人最终路径:

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

机器人在最终路径下的转向及移动次数为 200

平台注册入口