Autonomous Mobility Scooter

13
AUTONOMOUS MOBILITY SCOOTER IMPLEMENTING PATH FINDING, IMPLEMENTING VEHICLE CONTROL, AND RESEARCHING SLAM.

Transcript of Autonomous Mobility Scooter

Page 1: Autonomous Mobility Scooter

AUTONOMOUS MOBILITY SCOOTERIMPLEMENTING PATH FINDING, IMPLEMENTING VEHICLE CONTROL, AND

RESEARCHING SLAM.

Page 2: Autonomous Mobility Scooter

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

Page 3: Autonomous Mobility Scooter

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

Page 4: Autonomous Mobility Scooter

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

Page 5: Autonomous Mobility Scooter

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

• ROAD MAP PATHFINDING• LOCAL TEST COURSE PATHFINDING AND CREATION

Page 6: Autonomous Mobility Scooter

PATHFINDING – HARDWARE

• PATHFINDING ITSELF REQUIRES NO HARDWARE

• GPS TO FIND CURRENT LOCATION• AHRS TO FIND POSE

Page 7: Autonomous Mobility Scooter

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

Page 8: Autonomous Mobility Scooter

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

Page 9: Autonomous Mobility Scooter

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

Page 10: Autonomous Mobility Scooter

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

Page 11: Autonomous Mobility Scooter

FUTURE WORK

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

Page 12: Autonomous Mobility Scooter

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

Page 13: Autonomous Mobility Scooter

ANY QUESTIONS?