University: Instituto Tecnológico y de Estudios Superiores de Monterrey - Campus Estado de México
Team Members (with year of graduation):
Paul Santiago Molina Fernandez (Graduation in May 2013 - On Eng Mechatronics Engineering Degree)
Jelpis Job Méndez Guillermo (Graduation in May 2012 - On Eng Mechanical Engineering Degree)
Francisco Javier Guerrero (Graduation in May 2015 - On Eng Mechanical Engineering Degree)
Faculty Advisers:
Master Julian M. Echeverry M. (Project Supervisor)
Dr. Virgilio Vásquez López (Secondary Marker)
Email Address: jecheverry@itesm.mx, vlopez@itesm.mx
Title: Driverless remote controlled Suzuki Swift car
Description:
This paper contains a brief description of collaboration between industry and academia on creating a new experience and a new way to drive a car. The project consisted in designing and building a control system to guide a Suzuki Swift driverless car using National Instruments hardware and software. The objective was to navigate remotely into the course driving of the car, either using any internet-connected devices or Bluetooth devices like an X-box controller; the main idea was to emulate the user experience in a same way as video game does, but now with a real car in motion. The challenges included the control of the vehicle´s steering to keep the car on a desired path, the control of the acceleration, the control of the vehicle brakes, and the mounting of two cameras to stream the car´s position almost in real time. This is a project that integrates academia and Suzuki marketing efforts (next video shows the marketing advertising campaign of Suzuki Motor de México S.A. de C.V.) to get a vehicle prototype that can be controlled remotely, and in a near future, that it can be controlled in an autonomous way.
Products
NI Labview 2011 Professional
NI cDAQ-9174 device.
NI 9264 module
NI 9472 module
Electroneumatic devices
The Challenge
In July 2012, Suzuki Motor Corporation was interested in creating the new 2013 Swift launch marketing campaign. They, as sponsors, envisioned some control circuitry that could be used to control the car steering on a racing car, but remotely. After that, Suzuki team in collaboration with Tecnologico de Monterrey Campus Estado de Mexico began the project development of a driverless car.
The main involved challenge was to plan, design and develop the car control systems without change its structure, this means that the car had to be designed to be controlled and driven remotely, but at the same time, that it can be switched to be driven in a typical human configuration. This driverless project included the control of the vehicle´s steering to keep the car on a desired path, the control of the acceleration and the speed of the car, the control of the vehicle brakes, the remote communication either via web or Bluetooth devices, and the stream of two cameras so that the user may be aware of the car´s position. Thus, other challenge was to create an universal controlled car that may be driven from any mobile devices like cellphones, tablets, Ipods, or fixed devices like PCs or laptops without installing any apps or plugins.
The most amazing thing was that Tecnologico de Monterrey had a limited time of four weeks to do all the development of the project with a final prototype that provides simple installation, easy operation, high reliability and ensuring low cost design.
The final stage of the marketing campaign was to test the car at the Cancun racing circuit, where users from all around the world could drive and test the prototype car. Next video shows aforementioned publicity event.
The Solution
To begin the project, Suzuki Corporation team provided both the car used for the project development, and the funds for purchasing the miscellaneous components needed during the design process. However, all the technical development was made by Tecnologico de Monterrey team. Next video shows the solution:
To develop a vehicle with automatic driving capabilities, the first step is to modify the actuators that control each system. In order to undertake vehicle automation, the steering wheel, the throttle and the brake were the actuators modified. The main goal was to emulate the behavior of each one of the systems, and to replace it with the outputs of the NI cDAQ installed onboard. See figure 1.
Figure 1. Automation of the vehicle´s actuators.
An on-board computer is responsible for support the running code made in the graphical language LabVIEW. At the same time, LabVIEW is requesting values from each of the input devices (inputs in the NI cDAQ) and it performs compute processes to yield output values. These values are applied to move the steering wheel, to move the brake, and to control the throttle valve position.
Steering wheel
The steering system of the Suzuki car consists of an electronic power steering (EPS) system. EPS uses an electric motor to assist the driver of a vehicle (figure 2). Sensors detect the position and torque of the steering column, and a computer module applies assistive torque via the motor, which is connected to the steering column. In order to use the electric motor for the steering, the motor was controlled by the computer via the DAQ. An analogue signal between -5V and +5V is sent from DAQ to change the steering wheel position.
Figure 2. Electric motor of the EPS system
A plug and play electrical connector is used in an easy way to switch from the typical human drive configuration to the autonomous control configuration.
Throttle
Suzuki cars have an electric throttle control system. The electric throttle control system detects depressed extent of the accelerator pedal based on the signal voltage of the pedal sensor. Using that data and engine operation condition, ECM calculates the throttle valve opening. In this work, a simple control system was used to control the throttle (figure 3). An analogue signal between 0V and +5V is sent from the same DAQ to change the throttle valve opening.
Figure 3. PCM (Powertrain control module) and throttle position actuator
Brake
Breakes are one of the most important functions of the car. In this application, an electro-pneumatic actuator was mounted in parallel with the foot brake pedal. It was selected because pneumatic cylinders provide more force and speed per unit size than any other actuator technology, except hydraulic.
The piston is initially extended so the car is braking (because the foot brake pedal is depressed), but when the forward signal is detected, the solenoid coil begins to be energized and the created magnetic field pushes the plunger that will slide the valve. This allows the air to flow inside the piston and pushing the piston at a retraction position. It produces that the car starts the motion (figure 4).
Figure 4. Electro pneumatic brake system
Remote communication from a web page
In this project the data is transmitted easily via shared variables because of the simplest way of the communication from a Web page to LabVIEW. It is important to know that the user interface, in this case an .html web page, was designed to run into any device without the need of installing any kind of plugins (java, adobe flash, windows media), that somehow makes it a universal connection that is not restricted to anything. The created remote communication highlights the universality of applications that can be conducted using LabVIEW WebServices, and the ease of its use.
In the Driverless remote controlled Suzuki swift car, the remote communication was segmented into 3 big issues:
Once the Projec (.lvproj) was created, it was needed to create shared variables for each element to control:
forward variable controls the acceleration of the car,
left variable controls the left steering movement
right variable controls the right steering movement
password variable is a string array that is used to send information from LabVIEW to the web page to match the condition to enter to the program
active connexion variable shows whether an remote device is detected. See figure 5.
Figure 5. Project (.lvproj)
It was also necessary to configure the web application server to enable the use of the webserver and the use of the default port “8080” for the communications.
Finally, the web service was built using an XML format to monitor all the variables.
2. The programming into LabVIEW.
Note: Driverless remote controlled Suzuki Swift Car a copyright project. Therefore, specific and detailed information about the code can´t be disclosed in this document. We apologize about that.
The code was built under state machines structure. The front project is shown in figure 6.
Figure 6. Remote connection controls’ front panel
In the default state (state -1), the program is sending a string array which will be compared with the password that the user is introducing into the .html page. If the two of them match, then the program sends a signal that indicates the connection was established successfully. When it happens, the state machine goes to the next state (state 0), which allows the user to have the control of the variables, activate and change its values and thus, move the car. See figure 7.
Figure 7. Default state for the remote controls
In the state 0, if the controls connection is deactivated or if an emergency case occurs, then there is a flat sequence that puts the variable values to 0 to avoid accidents and stop the car. See figure 8).
Figure 8. State 0 for the remote car´s controls
All the other communication with the PCM (Powertrain Control module) of the car is showed in figure 9. The code can´t be disclosed because of copyright. Figure 9 shows the connection with the NIDAQ and the LabVIEW with all the dispositives. Into the LabVIEW code there are programed the acceleration algorithm, break algorithm, and steering algorithm.
Figure 9. Communication deployed system
3. The design of the web page
A critic part of the project was to design a web page that will be capable to work in all devices. For doing that, there were used two open source libraries. Two different .html pages were created: the start page and the controls page.
Figure 10 shows the design of the start page. In this page the user can enter the value for the IpAdrees of the server (onboard computer) and the password that allows the access to the controls.
Figure 10. Start page design
Figure 11 shows the design of the controls page. In this page, there are three ways to send the variable values to interact with the vehicle. The first one is by doing a click in any button, the second one is pressing some keys from the keyboard (“i” for forward, “j” for left, “l” for right), and the last one is by using ontouch events with touch devices.
Figure 11. Controls page design
Video Results
Publications
The Project has been published in more than 3 countries, and actually, it has more than 30 news reviews. Some of them are mentioned below:
WEB publications
Mexico Principal Newspaper
El Universal 07/09/2012
http://www.eluniversal.com.mx/finanzas/97477.html
Reforma 11/08/2012
http://www.mediasolutions.com.mx/ncpop.asp?n=201208110645427001&t=
CNN Expansión 14/01/2013
http://www.cnnexpansion.com/tecnologia/2013/01/14/tec-y-suzuki-manejan-a-distancia
ESPN Deportes 01/12/2013
http://espndeportes.espn.go.com/videohub/video/clipDeportes?id=1671675&cc=5200
Dominican Republic Newspaper
Remolacha.net 09/12/2012
http://www.remolacha.net/2012/09/dominicano-y-un-carro-que-se-puede-manejar-por-internet.html#more
DiarioLibre.com 27/09/2012
Colombia Newspaper
La Patria.com 31/05/2013
http://www.lapatria.com/tecnologia/manizaleno-desarrolla-carro-que-se-maneja-punta-de-clics-14379
Papers
Echeverry, J, Vasquez, V; et al. Control de maniobrabilidad remoto para Suzuki Swift 2012. 43 Congreso de Investigación y Desarrollo del Tecnológico de Monterrey. Monterrey, Enero 2013
Conferences
National Instruments NI Academic Days 2013. Monterrey, México. May 16, 2013.
National Instruments NI Academic Days 2013. Puebla, México. May 23, 2013
Future Development:
The project gave us valuable lessons, and it opened the possibility of continuing on the research and development of a complete autonomous car. This technological development can be taken to any level: academy, industry, engineering applications for social impact, and so on.
Actually, our team is thinking about to make small changes in the prototype to create a system for handicapped people who can move the car with a little movement of their hand fingers. We, as a team, have a commitment with the world, and we are working on it.
Awesome project !!!!! Cogratulations guys !!!!
I like it. Well done guys.
I know good applications for this project