Publication: A Comparison of PSO and Reinforcement Learning for Multi-Robot Obstacle Avoidance
The design of high-performing robotic controllers constitutes an example of expensive optimization in uncertain environments due to the often large parameter space and noisy performance metrics. There are several evaluative techniques that can be employed for on-line controller design. Adequate benchmarks help in the choice of the right algorithm in terms of final performance and evaluation time. In this paper, we use multi-robot obstacle avoidance as a benchmark to compare two different evaluative learning techniques: Particle Swarm Optimization and Q-learning. For Q-learning, we implement two different approaches: one with discrete states and discrete actions, and another one with discrete actions but a continuous state space. We show that continuous PSO has the highest fitness overall, and Q-learning with continuous states performs significantly better than Q-learning with discrete states. We also show that in the single robot case, PSO and Q-learning with discrete states require a similar amount of total learning time to converge, while the time required with Q-learning with continuous states is significantly larger. In the multi-robot case, both Q-learning approaches require a similar amount of time as in the single robot case, but the time required by PSO can be significantly reduced due to the distributed nature of the algorithm.
- Detailed record: https://infoscience.epfl.ch/record/186658?ln=en
- View record in Web of Science
- URL: http://apps.webofknowledge.com/InboundService.do?UT=WOS%3A000326235300020&IsProductCode=Yes&mode=FullRecord&product=WOS&SID=W2Ht3JD6N1JE8pTzEue&smartRedirect=yes&SrcApp=PARTNER_APP&DestFail=http%3A%2F%2Fwww.webofknowledge.com%3FDestApp%3DCEL%26DestParams%3D%253Faction%253Dretrieve%2526mode%253DFullRecord%2526product%253DCEL%2526UT%253DWOS%253A000326235300020%2526customersID%253DTROpenURL%26e%3DoPZdSqe76bsQLZpgyOsQFsJs3GlDdNMpq4RAmwIuGgj8R3Kh.2W7i8SEke49lfJQ%26SrcApp%3DPARTNER_APP%26SrcAuth%3DTROpenURL&action=retrieve&Init=Yes&SrcAuth=TROpenURL&Func=Frame&customersID=TROpenURL