reiniscimurs / DRL-robot-navigation

Deep Reinforcement Learning for mobile robot navigation in ROS Gazebo simulator. Using Twin Delayed Deep Deterministic Policy Gradient (TD3) neural network, a robot learns to navigate to a random goal point in a simulated environment while avoiding obstacles.
MIT License
571 stars 119 forks source link

navigation in real world #29

Closed blackjacket996 closed 2 years ago

blackjacket996 commented 2 years ago

Hey, Bro! Sorry to bother you again! I wonder if I can use the network model trained here as the path planning module , just make lidar data, distance, angle as the input , the network output the velocity which will be published to the move_base . Does it make sense?

reiniscimurs commented 2 years ago

Hi, I don't understand what you mean. Please explain the idea in detail, or else I cannot guess what you mean by your proposal. What is meant by path planning module? Something to replace rrt/a* or a similar path planner? That would not make sense in this scenario as you do not have map information and the network outputs action directly for a single state observation.

blackjacket996 commented 2 years ago

Sorry, I didn't make it clear. yeah~ as you said , I wanna let it take the place of the local path planner in ROS navigation stack, and before that I will get a 2D-map by a SLAM algorithm such as gmapping, and read the map by map_server or in other ways.

reiniscimurs commented 2 years ago

Theoretically, you could perform a full path roll-out with the neural network, record the trajectory, and pass that as a planner output. You would require a prior map and a way to extract the laser data from your map information to use this repo directly. I can see some benefit in it as that would allow teaching a deterministic path planner, that could obtain a path faster than let's say an A* approach but it would not be optimal and unreliable as this method is prone to fall into local optimum (as there is only single state input) and that seems to be complicating things quite a bit.

If you would still execute the robot motion with the same neural network, that approach becomes a bit pointless though as the local path planner is not required for execution anyway (refer to paper here).

The proposed method could be seen in a similar way with a DWA planner as well. Lets say you execute a dwa planner plan in a simulation, record the path and use that as your global path. Sure, you could do that, but why would you?

So could you do it? Probably yes. But you should think what benefit exactly would such an approach bring you.

blackjacket996 commented 2 years ago

Thanks for your reply. I will think it over again to make clear what the purpose is. Sincerely appreciate it!