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.>

VR2 Controller → Motor Power Control

Arduino UNO → To process values from Two Rotary Encoders for distance and angle covered by the car

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,

They could not get used to the exact push to be given to the joystick for desirable speed as it is opposite to a normal car’s directions.

When going up/down through a narrow slope to go to nearby buildings, the person has to control the car carefully and cautiously without colliding with the sides of the slope.

It is most of the time difficult to find their direction in very crowded public places such as airports and Shopping malls.

They generally need other people’s help putting them in a state of constant dependency.

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.

For movement inside a building, if you input your current location and destination on the tablet (connected to MyRIO via WiFi) attached to the car, it can arrive at the destination on full automation steering clear through any obstacle detected in the traveling direction.

The car can go up/down through the slope by increasing/decreasing the speed with respect to the angle of slope with the help of built-in 3-axis accelerometer in MyRIO and moves along the slope without colliding with the side walls by use of PSD sensors.

The car’s location, state and information about the destination are displayed on the tablet as the car runs.

To ensure flexibility to the user, a mechanical switch has been installed to allow the user to switch between manual and automatic (auto) mode.

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:

VR2 is an efficient and compact controller combined with joystick primarily used in an electric wheelchair. In the auto mode, MyRIO supplies the analog signal to the controller similar to joystick’s output.

Arduino UNO calculates the distance covered and car’s current direction (angle w.r.t initial direction). Arduino MEGA returns the distance values from the obstacle/wall with the help of 10 PSD sensors. The sensors are placed at a height of 5 cm from the ground. In case of slope mode, it helps the car to maintain itself at the center. During the map mode, the car comes to stop if an object is found within 1-meter

In either case, the values are sent to MyRIO via I2C (Inter-Integrated Circuit)

Using the Kinect library with LabView, we can extract distance and angle of the obstacle detected from the car using VHF algorithm.

Tablet provides the user an easy-to-use interface for controlling the car. Thanks to the Data Dashboard app that connects the tablet to MyRIO via WIFI, we designed few pages that can display necessary data or execute a command in real time.

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.

Path calculation and path refining

Speed control on the slope

Obstacle detection by Kinect

Distance measurement of car from a wall with an IR rangefinder (for operation in a narrow place or emergency stop)

Angle and distance measurement by two encoders.

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:

Loop for reading the value of the distance from IR range sensor

Loop that performs speed control,

Loop that reads the value of the encodert reads the depth information from Kinect.

Since the value of PSD is important for the operation in auto mode, the noise of the sensors are reduced with the Scalar Kalman Filter and then averaged by two PSD sensors in each direction. Then, PI control is performed with the five values obtained and hence keeping the car in the middle.

Kinect uses the Freenect library to acquire depth information and obtain the position of obstacles using VHF.

Speed ​​control has a large error due to the varying values ​​of the acceleration sensor and the encoder. So delay control is performed only when the car is on the slope.

In MAP mode, first it calculates the route up to the specified position by the Dijkstra method. Then, the sub goal vector at the coordinates of the previous point at finer intervals is calculated and the entire sequence is placed in the sequence. After that, it updates the array while modifying the vector up to sub goal in the sequence.

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.

By being able to actually automate the cart, it is easier to operate in a narrow place or move to an unknown place, thereby making it easier for the lives of physically handicapped people and the elderly.

In the future, we are planning to incorporate functions dedicated to applications. In the museum, explanation of the exhibits will flow, and convenience will be further enhanced if it can be linked with the driving situation at the airport.

Benefits of newly constructed works

A person who first visited a physically handicapped person, an elderly person, or a big mall or an airport for the first time can go to the place he wants to go without confusion. Furthermore, if you can present information on shops and flights to the tablet, convenience is improved.

Using MyRIO makes it easy to incorporate IOT features to make SLOPER more convenient and useful as it can help get more information about the user’s health and habits