Autonomous Mobility Scooter

Preview:

Citation preview

AUTONOMOUS MOBILITY SCOOTERIMPLEMENTING PATH FINDING, IMPLEMENTING VEHICLE CONTROL, AND

RESEARCHING SLAM.

CONTENTS• INTRODUCTION• PROJECT GOAL• PATHFINDING• SIMULTANEOUS LOCALISATION AND MAPPING• VEHICLE CONTROL• FUTURE WORK• SUMMARY• QUESTIONS

INTRODUCTION• COVENTRY UNIVERSITY – DEPARTMENT OF INTELLIGENT TRANSPORT

SYSTEMS• PREVIOUS WORK

• RESEARCH INTO DIJKSTRA'S PATHFINDING ALGORITHM• RESEARCH INTO A* PATHFINDING ALGORITHM• RESEARCH INTO AUTONOMOUS FORK LIFT • NO PRACTICALLY FOCUSSED WORK

PROJECT GOALS• PRACTICAL APPLICATION OF PREVIOUS WORK• START OF CONCENTRATED EFFORT TOWARDS A COMPLETE PRACTICAL

VEHICLE• AUTONOMOUS MOBILITY SCOOTER• APPLIED PATHFINDING• RESEARCH INTO SIMULTANEOUS LOCALISATION AND MAPPING• RESEARCH INTO COLLISION AVOIDANCE• APPLIED VEHICLE CONTROL

PATHFINDING – SOFTWARE • DIJKSTRA USED DUE TO INCLUSION IN MATLAB BIOINFORMATICS TOOLBOX• TWO APPROACHES USED

• ROAD MAP PATHFINDING• LOCAL TEST COURSE PATHFINDING AND CREATION

PATHFINDING – HARDWARE

• PATHFINDING ITSELF REQUIRES NO HARDWARE

• GPS TO FIND CURRENT LOCATION• AHRS TO FIND POSE

ATTITUDE AND HEADING REFERENCE SYSTEM CODEIF PACKET.ADDRESS == 92 && ~EXIST('GOTGYRO','VAR')

DISP('GETTING GYROSCOPE DATA');

DATA.GYRO.X = DOUBLE(SWAPBYTES(TYPECAST((UINT8(PACKET.DATA(1:2))),'INT16')))*0.0610352;

DATA.GYRO.Y = DOUBLE(SWAPBYTES(TYPECAST((UINT8(PACKET.DATA(3:4))),'INT16')))*0.0610352;

DATA.GYRO.Z = DOUBLE(SWAPBYTES(TYPECAST((UINT8(PACKET.DATA(5:6))),'INT16')))*0.0610352;

GOTGYRO = 1;

END

SIMULTANEOUS LOCALISATION AND MAPPING• FILLS IN MISSING AND ALTERED MAP DATA• PROVIDES LOCALISATION WHEN NO GPS LOCATION IS AVAILABLE• CAN BE USED FOR COLLISION AVOIDANCE• USEFUL FOR A MOBILITY SCOOTER

• FREQUENTLY INDOORS WITHOUT MAP DATA• NEEDS TO RECOGNISE FOOTPATH RAMPS

VEHICLE CONTROL• SHOPRIDER WISPA MOBILITY SCOOTER• USE NI DAQ FOR SIGNAL OUTPUT• OP-AMP FOR OUTPUTTING CORRECT SIGNAL LEVELS• BASIC GEARED 2NM 24V DC MOTOR FOR STEERING

VEHICLE MOVEMENT CODES = DAQ.CREATESESSION('NI');

% ADD OUTPUT CHANNELS

ADDANALOGOUTPUTCHANNEL(S,'DEV3',0,'VOLTAGE'); %STEERING

ADDANALOGOUTPUTCHANNEL(S,'DEV3',1,'VOLTAGE'); %LINEAR MOVEMENT

% SET VEHICLE IN MOTION

OUTPUTSINGLESCAN(S,[STEERINGV LINEARV]);

% ALLOW INCREMENTS IN DISTANCE AS LOW AS 0.1M

DISTANCE10 = DISTANCE*10;

FOR I=1:DISTANCE10

PAUSE(0.1); %HOLD FOR 0.1M

END

FUTURE WORK

• IMPLEMENT SLAM• PSEUDO-3D SLAM USING ANGLED 2D LIDAR• IMPLEMENT COLLISION DETECTION• THOROUGHLY TEST VEHICLE CONTROL• IMPROVE EFFICIENCY• IMPROVE INTEGRATION

SUMMARY

• GRADUATION PROJECT AT COVENTRY UNIVERSITY• FIRST STAGE IN OVERARCHING PROJECT OF MAKING AN AUTONOMOUS

MOBILITY SCOOTER• EXTENSIVE PATHFINDING WORK DONE• EXTENSIVE HARDWARE INTEGRATION WORK• RESEARCH INTO SLAM, DESPITE IMPLEMENTATION BEING OUTSIDE THE

PURVIEW OF THIS PROJECT• VEHICLE CONTROL CODED

ANY QUESTIONS?

Recommended