Zigbot - PowerPoint PPT Presentation

About This Presentation
Title:

Zigbot

Description:

Solving Mazes Autonomously and Reporting via Zigbee Communications Create a robot capable of solving mazes autonomously. Have the ability to wirelessly transmit any ... – PowerPoint PPT presentation

Number of Views:51
Avg rating:3.0/5.0
Slides: 27
Provided by: Josh256
Learn more at: https://ece.montana.edu
Category:
Tags: zigbot

less

Transcript and Presenter's Notes

Title: Zigbot


1
Zigbot
  • Solving Mazes Autonomously and Reporting via
    Zigbee Communications

2
Overview of Project
  • Create a robot capable of solving mazes
    autonomously.
  • Have the ability to wirelessly transmit any data
    from the robot in real-time to anyone/anything
    listening.
  • Program the robot in such a way as to allow
    multiple robots to solve the maze at a time.
  • Win the IEEE Micromouse Robot Competition.

3
In the Beginning
  • EE101 Robot Base
  • Robot created by the ECE department at MSU to get
    incoming students excited about electrical and
    computer engineering.
  • We chose to use this robot as a base to allow for
    a fast start on the project by allowing us to not
    focus on the design and layout of the board but
    on software and other hardware issues.

4
Modifications and Additions to Chassis
  • Fitting in the Maze
  • Lifted the PCB and brought in the motors.
  • Trimmed the rear corners to make turning easier.
  • Adding Zigbee Module
  • Added a second female header to make the board
    act similar to the SLK boards.
  • Pin assignments for the motors were moved to the
    outside of the robot to free up the pins that the
    additional module required.
  • Batteries were changed to AAA NiMH to facilitate
    better mounting location and higher current drain
    from the wireless module.

5
More Modifications and Additions
  • Mounting the Front Sensors
  • Size constraint was major issue.
  • Mounting the Rear Sensors
  • Added late in project due to lack of sensor
    information.
  • Creating the Wheel Encoder circuit
  • Done experimentally

6
The Ideal Work Environment
  • Having a Debugger
  • 30ft BDM
  • Independent Power Supply
  • A single work environment was instrumental in
    productivity because we could spread out and have
    a spaces set up for specific tasks.
  • Having a Whiteboard

7
Creating the Computer Interface
  • To connect the robot to the computer, the base of
    a single kit was used to create a computer base
    station.
  • The modifications made were as follows
  • Addition of 2 headers to plug in the Zigbee and
    CSM modules
  • Power and Ground cables running to a single 5V
    voltage source

8
Final Chassis and Work Environment
9
Solving the Maze
  • Memory Usage
  • Initial Starting Conditions
  • Orientation and Position
  • Dead-End Checking
  • Exploring then finding the shortest path

10
Keeping the Memory Usage Low
  • Define the maze as a matrix and leverage the
    indices as the coordinates of the actual robot.
  • Use only a single byte per cell for On2 memory
    usage based on the size of the maze, which is
    predefined before compilation.
  • Cell Data consists of 4 bits for the walls and 4
    bits for the explored paths.
  • Shortest Path algorithm only requires stack size
    equal to the number of cells in a maze.

11
Orientation and Position
  • To solve the maze it is very important that the
    robot knows where it is inside of the maze.
  • To do this, the maze was defined using the
    cardinal direction system of NWSE.
  • North is always the first direction taken by the
    robot.
  • East is based off of North and is independent of
    the first direction taken.

12
Preferring to Explore First
  • When deciding the next path to take the robot
    firsts checks if there are any open paths that
    have not been explored.
  • If there are multiple unexplored paths the robot
    will take the left most path.
  • If all paths have been explored the robot will
    search for the nearest cell with no explored
    sections.

13
Starting in Any Direction
  • Assumptions
  • Zigbot will always start in a corner of the maze
    i.e. not somewhere in the middle
  • Zigbot will always start with its back to a wall
    i.e. there is no open wall behind starting
    position
  • To start in any direction the Y-Axis is defined
    by the robot based on the first open sidewall
    encountered.

14
One Way Walls and Dead Ends
  • An example of a 1-Way Dead End removal is shown
    below

15
Shortest Path Algorithm
  • All cells explored are stored in a queue
  • If the current cell exists already in the queue
    at a closer path from the start point, queue
    index will reset to where the cell previously at
    (remove unwanted cells)
  • If an adjacent accessible cell from the current
    cell is in the queue, check if it shortens the
    path then make shorter path in the queue and set
    open to explored.

16
Overview of Robot Maze Solving
  • Low Memory Ceiling so 1 byte/cell is good.
  • Robot will maintain correct orientation and
    position from all starting possibilities.
  • Robot removes Dead-Ends by creating One-Way
    walls.
  • Robot could easily prefer to explore towards the
    center of the maze.
  • Robot shares information with anyone listening.

17
Error Detection and Correction (EDAC)
  • Error is continuously accumulated.
  • Correcting errors creates the strong possibility
    of causing more errors.
  • The maze is the only absolute error free point of
    reference.

18
Keeping in Line
  • Side Wall Correction
  • Internal Wheel Encoder
  • Correcting in Corridors
  • Correcting with a Single Side Wall
  • Correction on Corners
  • Front Wall Correction
  • Keeps reading front sensor for a wall
  • Checks for edge detection to account for accrued
    errors

19
Internal Wheel Encoders
  • Sensors on the wheel give a absolute encoder
  • Counts edges to allow for distance sensing.
  • Used to turn as close to 90/180 degrees as
    possible.
  • IR Sensor reads each edge

20
Sidewall Correction
  • 2 Wall Correction
  • Compares sensors on opposite sides of the robot
    only when it detects walls on the front side
    sensors.
  • 1 Wall Correction
  • This happens only when we dont have two walls.
  • Make sure that the robot is not too far or too
    close from the wall.
  • Compares the front and rear readings from the
    side of the robot that is detecting a wall.

21
Correction around Corners
  • Robot turns as close to 90 degrees as possible
    using the internal wheel encoders.
  • Once turn is nearly complete it reads the front
    and back sensors from the side with a wall.
  • The robot keeps turning until the front and back
    sensors are equal, just like the one wall
    correction.

22
Recap of Real-Time Correction
  • Robot must continuously fix itself due to errors
    always being added to current state.
  • Double Wall Correction
  • Single Wall Correction
  • 90 Degree Turn Correction for distance and angle
    of turn.
  • Wheel Encoder Distance Correction

23
Transmitting Wirelessly
  • Uses the Freescale Zigbee Module
  • Same as used in the MSU Embedded Class
  • Low Power by design
  • Up to 1Mbit Bandwidth
  • Long Range Indoors
  • 61ft on 6th Floor of Cobleigh Hall

24
Working with Multiple Robots
  • Must use the same data structure for each robot.
  • Must use a scheme that will allow the maze to
    include n amount of robots solving the maze
    simultaneously from a single corner.
  • The maze is the absolute marker so that the
    robots can traverse through it using a single
    shared coordinate system that is free of errors.

25
What do we send?
  • 5 packets of 4 bytes
  • Each packet contains X,Y,CellData,Orientation
  • Only the first packet contains the robot
    orientation, the other cells are stuffed with
    0xF0 in the orientation byte.

26
Conclusion
  • Very complex project has presented many
    challenges.
  • Proved the adage that most designs fail at the
    interface, this is where most of the problems
    were encountered.
Write a Comment
User Comments (0)
About PowerShow.com