Developing an autonomous service car: golf-cart prototype modelling Ilya Shimchik, Artur Sagitov, Ilya Afanasyev. Evgeni Magid Intelligent Robotic Systems Laboratory (LIRS), Innopolis University, Innopolis, Russian Federation Email: {i.shimchik, a.sagitov, i.afanasyev, e.magid}@innopolis.ru Fumitoshi Matsuno Department of Mechanical Engineering and Science, Graduate School of Engineering, Kyoto University, Japan Email:
[email protected] The key changes in traffic management and individual vehicles control that occurred in the past decade are directly related to the autonomous vehicle technologies evolution. This paper presents our approach to development of an autonomous golf cart, which targets for operating in private areas without access for regular vehicles. On-board computer of the autonomous golf cart will be designed to utilize sensory information about terrain and technical capabilities of the vehicle itself in order to perform localization, calculate an optimal trajectory from a start position to a target position within a given map, recognize dynamic obstacles, and adjust the route in real time. Key Words: autonomous vehicle, unmanned car, mobile robot, golf cart, modelling, mobile robot navigation, golf cart
1. Introduction Over the past decade, we observe that a rapid growth of technology has reached the level when robots start gradually replacing a human in space and military industries, manufacturing, entertainment, and at home in the role of our domestic assistants. Robotics and autonomous driving technologies are gradually entering into our society and eventually will replace human drivers. Automatic metro lines are being actively implemented [1], mobile robots are performing daily operations in warehouses [2] and other areas with limited access for private cars [4]. Automation also has been applying to transportation area: parktronic systems and advanced driver assistance systems (ADAS) are already in our daily usage. The next step in this domain is to grant all driver’s functions to a vehicle, starting from a semi-autonomous mode when a driver should be ready to intercept control over a car at every moment and aiming to a fully autonomous mode. Tesla is an example of such semi-autonomous system already in use on a car and available on the market. Autopilot can drive the car at highway speeds and in the stop-and-go traffic mode, set the speed correspondingly to the traffic conditions, steer around curves within a lane and change a lane on driver request. Google company is rapidly proceeding toward an autonomous car where the driver will be completely replaced by an intelligent autopilot [3]. This paper presents the first stage of autonomous golf cart development — a small-size vehicle for customer transportation, which is targeted to operate on golf courses and ensure players comfortable migration during the play. Operation area of the autonomous golf cart prototype is not limited to golf courses but also includes parks, tourist areas, airports, and recreation zones. We have divided the system implementation into three main steps: simulation development and testing algorithms in the simulated environment, building a prototype based on radio-controlled model and testing sensors and algorithms, moving the system and algorithms on to a full sized golf cart. The paper describes the basic components of the autonomous golf cart, software architecture, and algorithms, which are used to perform the tasks. The rest of the paper is organized as follows. Section 2 describes the equipment, car configuration and the basic components of the system. Section 3
presents the developed simulation for a car-like mobile robot, which is implemented in ROS and Gazebo. Section 4 describes the vehicle prototype, which has been developed for algorithms verification. Section 5 briefly introduces the set of algorithms which were integrated into the Gazebo simulation of the cart model. Finally, we conclude and describe our future work in Section 6.
2. Autonomous golf cart configuration In order to make a golf cart operate autonomously, first of all, we need a proper selection of the components which will gather information about an environment and control the vehicle. Table 1 presents information about main sensors required for collecting representative information about surroundings in real-time and for determining a physical position of the vehicle. In addition to the set of sensors, which are essential in order to upgrade a standard golf cart to an autonomous vehicle, the following systems are also required: drive system, which provides locomotion control of the vehicle; computational platform to perform reasoning and path planning; and a graphical user interface system for presenting a golf cart status and interacting with a user. Based on the concepts presented in [4] and [5] we have selected the main system components of an autonomous golf cart as follows: Drive system consists of motors, which control acceleration and brake pedals, a steering wheel, and the light and sound signaling. Power system provides electrical power to motors, an on-board computer and sensors. Computational platform is an on-board computer, which processes sensory information, performs reasoning, builds a model of the environment based on these, and sets the appropriate control signals in order to achieve high-level goals. Safety system is providing a functionality of emergency stop, and returning control over a car to a human. User interface provides a graphical interface for a user (for example, a golf player). The user can select the next waypoint and see a current status of a golf cart. Sensor system is the eyes and ears of an autonomous golf cart. It provides necessary information about the surrounding space, based on which the on-board computer can perform proper reasoning and create a dynamic world model.
Decision-making system — a complex system with elements of artificial intelligence, which decides what will be the next action of a car based on the current world model and its predicted states. Table 1. Description of the main sensors used in the autonomous golf cart Equipment
Description Detects obstacles located on the wheel level
Front Lidar on the bumper
of the golf cart. Detects a level of surface: flat, sloping upward or sloping downward. Detects obstacles in front of the golf cart. Lidar is placed at an angle to the travelling
Front Lidar on the roof
receives data from odometry, sensors streams, and calculates safe velocity commands for a defined goal position, then that commands are sent to a mobile base. When all algorithms will demonstrate good performance in the simulation, they will be transferred to a real car: ROS structure and functionality helps to simplify such process. Figure 1 presents a full-scale simulation model in Gazebo. Gazebo allows simulating a car-like steering system, and for our simulation we have built the Ackerman steering vehicle model which reproduces steering of a standard golf cart. Gazebo also enables us to simulate sensors such as IMU, Lidars, encoders, cameras, and stereo cameras. After building a steering system we have integrated these sensors into our model and then we created a golf course simulation. Figure 2 demonstrates the simulated golf cart within a typical for a golf field environment in Gazebo simulator.
plane and looks down in order to detect obstacles in front of the car. It also serves to determine a surface relief details.
GPS/GLONASS
Identifies an absolute position of the golf cart. Detects
dynamic
obstacles,
helps
to
Figure 1. The model of simulated golf cart
determine the next position of a moving
Camera
object. Measures and reports the car's specific Inertial measurement unit (IMU)
force
and
combination
angular of
rates,
using
accelerometers
a and
gyroscopes.
Encoders
Side sonars Motor type
Count the angular position of wheels for odometric tasks. Short-distance proximity sonars provide information about side obstacles. Electric.
Figure 2. The model of simulated golf cart with sensors and ground relief simulation
4. Building a prototype 3. Simulation development We start developing algorithms for the autonomous golf cart with building of a proper simulation model. In order to create our simulation environment, we used Gazebo 2.2 and ROS Indigo [6] software. Gazebo is a graphical engine, which simulates physics, enables building of a 3D model of a robot using its URDF description, and then runs car controller algorithms in a simulated environment. ROS (an acronym for Robot Operating System) is a set of software libraries and tools that help building various robotic applications. For robot control we have modified the basic algorithms of ROS Navigation Stack framework, which are described in more details in Section 6. ROS Navigation Stack implements navigation algorithms for differential drive robots. It
In order to verify and test our set of algorithms, we have created a small prototype based on a radio-controlled (RC) car model from Traxxas (Fig.3). We have purchased a Traxxas 7407 model which was developed for RC racing sports competitions. This model is widely used among RC car hobbyists. This electric drive platform is a scaled 1:10 model of a typical car and it could locomote at maximum speed of up to 100 km/h. The model comes with Velineon 3500 brushless sensorless DC motor, Velineon VXL-3s Electronic Speed Control (ESC), and NiMH Battery 3000mah 8.4v; it also has a radio controlling system Traxxas TQi 2.4GHz. We have added an on-board computer and sensors to this model. We have used NVidia Jetson TX1 as a computational platform. This embedded computer has a low power consumption and supports
CUDA technology, which allows us to use parallel computation on-board. We have placed Razor 9 Degrees of Freedom IMU, mounted an optical incremental Lynxmotion Quadrature Motor Encoder to the electric motor1, and installed ZED stereo camera and Hokuyo UTM-30LX-EW Lidar. We used both (Lidar and stereo camera) for obtaining a point cloud, constructing a map, and obstacle detection. Our aim is to compare performance and feasibility of these two sensors in those tasks. Figure 4 presents our current version of the model for prototyping.
Figure 3. The Traxxas radio-controlled model prototyping
By implementing this set of algorithms our simulated carlike robot could successfully navigate to a predefined goal pose within a 2D map. Further, we will verify and configure the above-mentioned algorithms on the prototype which was described in the Section 4.
6. Conclusions and Future work Our research focuses on creating an autonomous golf cart with a long-term goal of developing a full-size autonomous vehicle. We divided the task into three phases: simulation, prototyping, and full-size testing. This paper presented the current state of research. We have completed the simulation environment in Gazebo 2.2, selected and developed a set of algorithms for navigation of a car-like robot in the simulated environment. We also have built a car-like robot prototype for algorithm verification in the real world. Next, we will transfer navigation algorithms from the Gazebo simulation to the real model, and then adapt algorithms for using real Lidar and a stereo camera data. Further, we will compare these two sensors (Lidar and stereo camera) and choose the one, which suits best for our tasks. After the verification of a full stack of algorithms on the scaled model, we will expand them to a real golf cart.
7. Acknowledgments This study has been made in the framework of the research project «Localization, mapping and path planning for an unmanned ground vehicle with a help of a group of unmanned aerial vehicles using active collaborative vision and multi-robot belief space planning» supported by the Russian Foundation for Basic Research. (agreement № HK 15-57-06010/15, project № 15-57-06010).
REFERENCES [1]
Figure 4. The model for algorithms prototyping
5. Implemented algorithms in Gazebo simulation In the golf cart simulation we have modified existing ROS packages in order to use them with Ackermann steering robot. We have used the following algorithms: Global planner for setting a global path for the car. Default ROS package implement the Dijkstra algorithm for global planning [7]. As a local planner we have used a search-based planning library (SBPL) lattice planner. For IMU data filtration we have used a Direction Cosine Matrix (DCM) algorithm [8]. For robot localization, we are currently testing an adaptation of the ACML ROS package in order to apply it with our robot. This package represents a probabilistic localization system for a robot moving in 2D. It implements the adaptive Monte Carlo localization approach [9], which uses a particle filter to track location of a robot on a given map [10]. 1
In golf-cart we will use more than one encoder: one for steering angle, one for counting rotation of the wheels.
Ghantous-Mouawad, M.; Schon, W.; Boulanger, J.L.; Churchill, G., "Converting a Conventional Metro Line into Automated Operation: Identifying and Managing The Safety Process of the Traffic in Migration Phase," The first Institution of Engineering and Technology International Conference on System Safety, pp.217-226, 2006. [2] You, S.J.; Ji, S.H., "Design of a multi-robot bin packing system in an automatic warehouse," 11th International Conference on Informatics in Control, Automation and Robotics, vol.02, pp.533-538, 2014. [3] Poczter, S. L.; Luka M. J., "The Google Car: driving toward a better future?", in Journal of Business Case Studies, vol.10(1), pp.7-14, 2014. [4] Pendleton, S.; Uthaicharoenpong, T.; Chong, Z. J.; Fu, Guo M. J.; Qin, B.; Liu, W.; Shen, X.; Weng, Z.; Kamin, C.; Ang, M. A. et al. "Autonomous Golf Cars for Public Trial of Mobility-on-Demand Service," IEEE IROS, pp.245-251, 2015. [5] Silva, M.;Garrote, L.; Moita, F.; Martins, M.; Nunes, U., "Autonomous electric vehicle: Steering and path-following control systems," 16th IEEE Mediterranean Electrotechnical Conf., pp.442-445, 2012. [6] Ivaldi, S.; Peters, J.; Padois, V.; Nori, F., "Tools for simulating humanoid robot dynamics: A survey based on user feedback," 14th IEEE-RAS Int. Conf. on Humanoid Robots, pp.842-849, 2014. [7] Fan, D; Shi, P., "Improvement of Dijkstra's algorithm and its application in route planning," 7th Int. Conf. on Fuzzy Systems and Knowledge Discovery (FSKD), 2010, pp. 1901-1904. [8] Choukroun, D.; Weiss, H.; Bar-Itzhack, I.; Oshman, Y., "Direction Cosine Matrix Estimation from Vector Observations using a Matrix Kalman Filter," IEEE Transactions on Aerospace and Electronic Systems, vol. 46, no. 1, pp. 61-79, Jan. 2010. [9] Li, W.; Zhao, Y; Song, Y; Yang, Z., "A Monte-Carlo based stochastic approach of soccer robot self-localization," Conf. on Human System Interactions, 2008, pp. 915-920. [10] H. Wu, H.; Sankaranarayanan. A.; Chellappa, R., "Online Empirical Evaluation of Tracking Algorithms," IEEE Trans. on Pattern Analysis and Machine Intelligence, vol. 32, no. 8, pp. 1443-1458, Aug. 2010.