hanruihua / rl_rvo_nav

The source code of the [RA-L] paper "Reinforcement Learned Distributed Multi-Robot Navigation with Reciprocal Velocity Obstacle Shaped Rewards"
MIT License
174 stars 31 forks source link

How does each robot find its own goal? #12

Closed FADEAWAY114 closed 1 year ago

FADEAWAY114 commented 1 year ago

Hello, I only see in your paper and code about the reward for RVO collision avoidance, and there is no reward for finding the robot to find the target, how is it set about the robot finding the target?

hanruihua commented 1 year ago

Actually,in this project, the goal is set manully for each robot. Thus, there is no reward for this task. This research focuses on navigating to the known goal positions. The goal position is the input information of the nerual network. Find the target can be completed by other algorithm, such as greedy methods

FADEAWAY114 commented 1 year ago

Ok thanks. I'm going to close this issue.

FADEAWAY114 commented 1 year ago

实际上,在这个项目中,目标是为每个机器人设定的。因此,这项任务没有奖励。这项研究的重点是导航到已知的目标位置。目标位置是神经网络的输入信息。找到目标可以通过其他算法完成,比如贪婪的方法

Hello, I want to change the target point of the robot to the position I specified, how can I modify this?

hanruihua commented 1 year ago

You can change the robot part in the yaml file as follows:

image

where, the init mode should be 0, and the goal can be set by goal list. In addition, the argument of --init_mode or --dis_mode in python script should also be changed to be 0

FADEAWAY114 commented 1 year ago

您可以更改 yaml 文件中的机器人零件,如下所示:

image

其中,初始化模式应为 0,目标可以通过目标列表设置。另外,python脚本中--init_mode或--dis_mode的参数也应该改为0

Do you mean to change this paragraph inside the dynamic_obs_test.yaml file to what you gave me in the picture? 1

FADEAWAY114 commented 1 year ago

You can change the robot part in the yaml file as follows:

image

where, the init mode should be 0, and the goal can be set by goal list. In addition, the argument of --init_mode or --dis_mode in python script should also be changed to be 0

For example, I want to fix the target point of each robot in the dynamic obstacle scene at the position I specified, such as the target point 0 position of robot 0 is (1,2), the target point 1 position of robot 1 is (5,6), etc., which file should this be modified in?

FADEAWAY114 commented 1 year ago

更改 yaml 文件中的机

I found multiple yaml files with the same content as the image you provided, and I'm not sure which ymal file to modify.

hanruihua commented 1 year ago

Change the file you run with,which is set by the '--world_name'. For exmaple, in policy_test.py, it is _policy_testworld.yaml. To specify the target position, first the '--dis_mode' should be set to be 0 and the goal_list in _policy_testworld.yaml should be set by your need.

FADEAWAY114 commented 1 year ago

Change the file you run with,which is set by the '--world_name'. For exmaple, in policy_test.py, it is _policy_testworld.yaml. To specify the target position, first the '--dis_mode' should be set to be 0 and the goal_list in _policy_testworld.yaml should be set by your need.

Hello, I want to modify the robot target dynamic_obs_test.yaml in the train_process_s1 to the specified position, how can I modify this?

hanruihua commented 1 year ago

First, set the '--world_name' to be 'dynamic_obs_test.yaml ' Second, set the '--dis_mode' in _train_processs1.py to be 0; Finally, for the _dynamic_obstest.yaml, the goal_list in this file should be spicified by your need, for example, as follows:

robots: robot_number: 2 robot_mode: 'diff' # omni or diff init_mode: 0 # 0 custom, 1 single row, 2, random, 3 circle init_state_list: [[1, 1, 0], [6, 3, 0]] goal_list: [[7, 7, 0], [8, 4, 0]] radius_list: [0.2, 0.2] vel_max: [1.5, 1.5] radius_exp: 0.1

Note: the length of the list init_state_list, radius_list, goal_list should be consistent with the robot_number

FADEAWAY114 commented 1 year ago

First, set the '--world_name' to be 'dynamic_obs_test.yaml ' Second, set the '--dis_mode' in _train_processs1.py to be 0; Finally, for the _dynamic_obstest.yaml, the goal_list in this file should be spicified by your need, for example, as follows:

robots: robot_number: 2 robot_mode: 'diff' # omni or diff init_mode: 0 # 0 custom, 1 single row, 2, random, 3 circle init_state_list: [[1, 1, 0], [6, 3, 0]] goal_list: [[7, 7, 0], [8, 4, 0]] radius_list: [0.2, 0.2] vel_max: [1.5, 1.5] radius_exp: 0.1

Note: the length of the list init_state_list, radius_list, goal_list should be consistent with the robot_number

Thank you for your reply, this is very helpful to me, but I didn't find "--dis_mode" in train_process_s1.py, only "--init_mode" and "--reset_mode".

hanruihua commented 1 year ago

Right, my fault, both "--init_mode" and "--reset_mode" should be set to be 0

FADEAWAY114 commented 1 year ago

Right, my fault, both "--init_mode" and "--reset_mode" should be set to be 0

thank you