A Study on the Use of Simulation in Synthesizing Path-Following Control Policies for Autonomous Ground Robots
<|reference_start|>A Study on the Use of Simulation in Synthesizing Path-Following Control Policies for Autonomous Ground Robots: We report results obtained and insights gained while answering the following question: how effective is it to use a simulator to establish path following control policies for an autonomous ground robot? While the quality of the simulator conditions the answer to this question, we found that for the simulation platform used herein, producing four control policies for path planning was straightforward once a digital twin of the controlled robot was available. The control policies established in simulation and subsequently demonstrated in the real world are PID control, MPC, and two neural network (NN) based controllers. Training the two NN controllers via imitation learning was accomplished expeditiously using seven simple maneuvers: follow three circles clockwise, follow the same circles counter-clockwise, and drive straight. A test randomization process that employs random micro-simulations is used to rank the ``goodness'' of the four control policies. The policy ranking noted in simulation correlates well with the ranking observed when the control policies were tested in the real world. The simulation platform used is publicly available and BSD3-released as open source; a public Docker image is available for reproducibility studies. It contains a dynamics engine, a sensor simulator, a ROS2 bridge, and a ROS2 autonomy stack the latter employed both in the simulator and the real world experiments.<|reference_end|>
@article{zhang2024a,
    title={A Study on the Use of Simulation in Synthesizing Path-Following Control
  Policies for Autonomous Ground Robots},
    author={Harry Zhang, Stefan Caldararu, Aaron Young, Alexis Ruiz, Huzaifa
  Unjhawala, Ishaan Mahajan, Sriram Ashokkumar, Nevindu Batagoda, Zhenhao Zhou,
  Luning Bakke and Dan Negrut},
    journal={arXiv preprint arXiv:2403.18021},
    year={2024},
    archivePrefix={arXiv},
    eprint={2403.18021},
    primaryClass={cs.RO}
}