Share
Embed
Control of an Autonomous Lawnmower
A presentation on the final work on my undergraduate senior year thesis
Haseeb Tariq
December 28, 2015
Transcript
34 slides
-
CONTROL OF AN AUTONOMOUS LAWNMOWER Project Advisor: Dr. Abubakr Muhammad
Group Members: • Haseeb Tariq 2014-10-0040 • Zia ul Azam 2014-10-0106 • Salman Nazir 2014-10-0110 EE- Senior Year Project -
Agenda Project overview Last semester review Improvements
to the robot Higher level control with ROS Obstacle avoidance Simulations and results Issues Future extensions -
Project Aims Equip a given mechanical lawnmower setup with
the motor drives and other required circuitry Establish a lower level of control for the basic locomotion of the lawnmower Integrate the setup with a higher level of control for decision making and path planning Make the robot autonomous to a certain degree by implementing an obstacle avoidance algorithm -
Existing Setup Constraints to work with: Left wheel
independent, right wheel and cutting cylinder connected together 1horsepower motor for each wheel Left side powered by 12V and right side by 24V sealed lead acid batteries -
Key Features H-bridge Motor Drives High Current 20
Amperes Power Mosfets, Gate Drivers and Power Diodes Arduino Mega 2560 Lower level control for basic directional movement PWM channels and PID control -
Key Features Optical Encoders Measure wheel rotation and
speed Infrared sensors reflect off the wheel pattern Wireless Remote Control Interfaced with Arduino to test for basic directional control -
H-bridges Various improvements: Isolation of control circuitry from
High Current circuitry Parallelized MOSFETS to increase current handling capability of H-bridges Fuses for protection -
Encoders Issues with previous encoders: Dirt and grass
stuck to tires made the encoders prone to false clicks in readings Solution: Incremental shaft encoders (1000 pulses per revolution) Stable and more precise -
Mechanical Structure Problem: Two out of three batteries
were on top tray Short base and high center of gravity Solution: Expansion of lower tray to house the batteries Extension of the rear rollers to increase the base area -
Circuit Box Initially, the circuitry was on the top
tray and prone to short circuit due to vibrations and movement Now, each component is properly housed and screwed in the box PC fans are used for cooling purposes -
Laser Mount Laser Scanner mounted to the base frame by
a joint that offers 2 DOF: Prismatic Revolute Provides flexibility for later recalibrations or different requirements -
Miscellaneous Improvements Smoothing out of wheels and rotation blades
Changed the bearings of the rotating cutter cage Cleaned and greased the inner rack and pinion lining of the wheels Result Wheels and cutter cage rotate more easily and draw less current -
Digital Compass CMPS 10 Magnetometer was used for sensing
the orientation of robot with respect to Magnetic North It was necessary for ensuring the precise turning of Robot based on the angle communicated by Motion Planner in ROS to the ROS node running on Arduino -
Angle Control Strategy Proportional Control Reference Heading Motion Planner Lawnmower
Drive Magnetometer Required Change in Angle Current Orientation Magnetic Flux Density Error Current Heading -
Issues with Magnetic Sensor Sensor noise was encountered due
to: Magnetic shielding caused by metallic body Magnetic interference caused by current carrying power wires Solution: The magnetometer was vertically elevated from the base of Lawnmower -
Robot Operating System ROS is an open-source meta-OS used
for designing Robotic Applications for High-level Control It has Two Concept Levels: Computation Graph Level File System Level Packages Package Manifest, Message and Service Types -
High Level Computational Graph ROS Serial Library Arduino Mega Laser
Range Finder Motion Planner Laser Data Angle & Direction -
Range Sensing Hokuyo Laser Range Finder Coverage: 2D
- 270˚ span Range: 0.023 to 60 meters Angle resolution: 0.25˚ USB interface ROS Hokuyo node available to publish data on LaserScan topic -
Open Path Algorithm Objective: To search the region
scanned by the laser range finder for a direction that will allow a robot of specified width to move the furthest distance Von Wahlde, Raymond. Wiedenman, Nathan. Brown, Wesley A. Viqueira, Cezarina. (2009). An Open-Path Obstacle Avoidance Algorithm Using Scanning Laser Range Data. Ft. Belvoir: Defense Technical Information Center -
Open Path Algorithm A laser scan returns an array
which defines the environment Alternate representation as an obstacle array Cartesian Coordinates Obstacle Array -
Open Path Algorithm Checks for all the paths available
to the robot at each heading and then selects the one with the maximum area -
Issues Faced in Porting the Algorithm to the Actual Platform
From Simulation to Reality -
Limited Mobility Problem: Robot could not execute rotation
at the minimum angle resolution of 0.25˚ as dictated by our algorithm Solution: A buffer of 5 degrees was allowed to be considered within range of the desired heading The path width of the robot was extended to compensate for the loss in precision -
Laser Scanner Imperfections Problem: Sensor noise due to
resolution of laser beams on edges causing fluctuations in readings Random spikes in sensor readings creating outliers Solution: A running median filter was applied to the raw laser data to remove the outliers and smooth out the readings -
Further Work Achieve tilt compensation of the compass to
make it robust to uneven terrain of outdoor environments Implement a wireless kill switch to remotely disable the robot to make it safer for outdoor testing Configure the acceleration and deceleration of the robot for an outdoor environment -
Future Extensions of the Project Terrain classification algorithms can
be used to distinguish between grass and non grass areas A full fledged coverage and mapping algorithm like 2D slam could be implemented on top of the obstacle avoidance algorithm to provide full coverage of a lawn