Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Control of an Autonomous Lawnmower

Haseeb Tariq
December 28, 2015

Control of an Autonomous Lawnmower

A presentation on the final work on my undergraduate senior year thesis

Haseeb Tariq

December 28, 2015
Tweet

More Decks by Haseeb Tariq

Other Decks in Research

Transcript

  1. 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
  2. Agenda  Project overview  Last semester review  Improvements

    to the robot  Higher level control with ROS  Obstacle avoidance  Simulations and results  Issues  Future extensions
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. Angle Control Strategy Proportional Control Reference Heading Motion Planner Lawnmower

    Drive Magnetometer Required Change in Angle Current Orientation Magnetic Flux Density Error Current Heading
  15. 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
  16. 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
  17. High Level Computational Graph ROS Serial Library Arduino Mega Laser

    Range Finder Motion Planner Laser Data Angle & Direction
  18. 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
  19. 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
  20. Open Path Algorithm  A laser scan returns an array

    which defines the environment  Alternate representation as an obstacle array Cartesian Coordinates Obstacle Array
  21. Open Path Algorithm  Checks for all the paths available

    to the robot at each heading and then selects the one with the maximum area
  22. 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
  23. 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
  24. 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
  25. 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