Contact Information
Competition Year: 2018
University: National Institute of Technology, Kumamoto College, Yatsushiro Campus
Team Members (with the year of graduation):
Faculty Advisers: TOHRU YAMASHITA
Email Address: yamashita@kumamoto-nct.ac.jp
Submission Language: ENGLISH
Project Information
Title: SLOPER: The Auto-Navi-Car
Description:
Sloper is an indoor-based self-driving modern electric wheelchair (here onwards, car) that takes a person from one place to another with ease. It is meant to be used by the elderly and disabled people whose movement is restricted due to various physical problems and thus making their life safer and more convenient.
Products:
NI MyRio-1900, NI LabView 2017(32-bit), NI MyRio Toolkit
>Application Builder
>Control design and Simulation module
>FPGA module
>Real-time Module
>Robotics module
>vision acquisition Software
>Vision development module
<Insert list of other hardware or software required for the project.>
5.Tablet + Computer → User Interface
The Challenge:
The aging of japan is a well-known concern as it comes with many drawbacks like the relentless increase of elderly driving miss caused road accidents. In a high space and fast changing world where cities and buildings are in a constant transformation and automatization, what place do we give to people with limited mobility? Running towards an idealistically barrier free world of advanced technologies, slopes, and markers are created to guide these people in their everyday life. However, they are facing many problems and dangers due to the difficulty to control or manoeuver the devices that are supposed to make their lives better.
Stavi is an existing electric cart that is operated with a joystick. As it is operated by the elderly or disabled person, the joystick still makes it harder and hazardous to operate in a confined environment. For example,
Fig-1 Stavi
The goal
In order to overcome the above problems faced, we thought of implementing a self-driving autonomous system that will take the person safely from one place to another inside a building or between two buildings avoiding the obstacles, controlling the speed on the way to the destination. This System could give information to the user about the building and information about the user’s health, location to a remote system.
The Solution:
With NI MyRIO as the core, we developed an integrated control system consisting of devices like Kinect, PSDs (Position Sensitive Detectors), Encoders, Arduino, Tablet to ensure smooth and safe navigation of the car. By processing the data obtained from the camera, Encoders, PSD sensors, MyRIO determines the necessary output to drive the rear wheel motors (via VR2 Controller) to make the car follow the planned path.
The following goals have been achieved.
Again, the auto mode is further classified into SLOPE mode and MAP mode.
Slope Mode - To move along the slope.
Map Mode – To move on a flat surface in a mapped environment.
Hardware:
In either case, the values are sent to MyRIO via I2C (Inter-Integrated Circuit)
Fig-2 SLOPER
Fig-3 SLOPER System Structure
Software:
Using dynamic array editing concept and feedback control, the car moves to a particular position. When there is an obstacle in a certain range, the car avoids it goes around the obstacle automatically without colliding by shifting the sub-goal array outside a circular range centered in the obstacle’s position.
About Main Vi:
In the automatic mode, values of various sensors are read and Sub Vis are executed. In order to reduce the error due to the front wheels (driven type), the movement for each sub goal and vector calculation up to the next goal is repeated step by step. In addition, following functions are carried out.
Most function include P,PI control algorithms.
About SubVi:
Dijkstra_Program:
Calculate the shortest route to the specified location using Dijikstra’s
Method.
Relative_movement (SubVI). vi
Calculate the route as an array in a relative coordinate system.
Fine_curve:
Increase calculation precision by minutely routing and further smoothing route so as not to become a sharp curve.
Fig-4 Mode map flowchart
Fig-5 Main flowchart
The program was created module-wise so that debugging becomes easier. Avoiding heavy use of SubVi by placing each of them in different While loops. The program parts are as follows:
When encountered with obstacles, it works on shifting the sub goals onto the circumference of a circle of certain radius and update the array again.
Benefits of using LabVIEW and NI tools:
In this system, the built-in 3-axis acceleration sensor was used for slope motion. Simultaneous processing from two Arduino (via I2C), makes it more useful to manage integrated system as in Sloper. Hassle-free debugging and program build in real time all when MyRIO is connected through WiFi made it very convenient we could monitor and control the car from a good distance.
Thanks to Front Panel, it creates easy to visualize interface that could become handy for PID tuning, graphical analysis, debug (using Probes) that helped us to create programs effectively. With the help of Formula Node, we could use existing C language programs, which makes it further convenient to be able to use multiple languages in a short time. Also, LabView’s timed loop and timed sequence, bought more precision for car control to arrive at each sub point within a limited time interval.
Finally, Data Dashboard App had all the necessary controls and indicators to create a user-friendly access page that can control Sloper and display real time data from Sloper.
Fig-6 MAP used in this project (First floor Map)
Fig-7 Front Panel
Fig-8 PSD readings on Tablet
Fig-9 Tablet Main screen ( showing interactive map,and control button)
Fig-10 Output to VR2 controller
Fig-11 Getting values from PSDs and Rotary Encoders
Fig-12 Motor control in SLOPE mode
Fig-13 Current position estimation in MAP mode
Fig-14 Position estimation algorithm
Fig-15 Outline program
Fig-16 Path refining
Fig-17 Obstacle Avoidance princip
https://youtu.be/LrZUX1H0thk (japanese)
<Level of completion >
Beta- full version in about 3 months/ a year
<Time to build>
3 months (average of 5 hours a day)
Including the LabView necessary tutorials
<Additional revisions that could be made>
Reference