Skip to content

Construction CAD files to build a 3-D honeycomb-styled-world where Sphero robots act as predator and prey that have to navigate in various levels of occluded environments. Find out more from my portfolio here: https://mechwiz.github.io/Portfolio/

mechwiz/maze_world

Repository files navigation

Effect of Planning Depth in Predator-Prey Behavior

Michael Wiznitzer

Northwestern University: Final Project

Introduction

Nature is a wonder of its own. When we look at animals, we usually see cute furry creatures that seemingly just do their own thing. After seeing them in the wild, though, you begin to notice how they use their environment to hunt or hide from other animals. For example, a leapord might hide in a narrow valley as it hunts imapla grazing above it. In order to better understand these predator-prey relationships, research has been done in the NxR lab to simulate how prey will act (using POMDPs) given various planning depths in order to reach some goal position before a predator kills the prey. My project focuses on turning these simulations into a 3-D honeycomb-styled-world realization where Sphero robots act as the predator and prey that have to navigate in various levels of occluded environments.

Objective

The goal of this project is to demonstrate the effect of planning-depth in regards to prey being able to reach some goal position before the predator kills it in a 3-D honeycomb-styled-world environment with various levels of occlusion. This project breaks down into 3 different parts listed below:

  • Maze Fabrication
  • Sphero Control with ROS
  • Image Processing to determine robot location in maze

To read more about each part, see my portfolio post here. This repo's purpose is to highlight all of the differenct modules designed and created for the Maze Fabrication part above. To read more about how to setup the sphero control package, see my other repo here.

Maze Fabrication

There are two parts to designing the maze within which the 3-D simulations will occur. The obvious part is designing the full-scale maze which looks something like the picture below based on the specs described in my portfolio post.

The full-scale maze includes 349 hexagonal cells and is roughly 8ft long by 6.25ft wide by 0.5ft tall. Due to the large size of the maze, the pieces are modular so that assembly and takedown is relatively straightforward.

Before building the full-scale maze, a small-scale version was made so that testing with the other parts of the project (i.e. controlling the Sphero robots with ROS via Image Processing) could be done. This way, if any modificaitons to the small scale maze had to be done in the interest of the other parts, they could be incorporated into the full-scale maze design. These changes are discussed in the Full Scale Maze Design section.

Small Scale Maze Design

The small-scale maze design assembly model and actual laser-cut model are shown side by side below:

CAD Model Laser-cut Model

The module pieces incorporated are described in the table below.

Description CAD Model Laser-cut Model
Modular interlocking floor piece with 7 cells
(holes allow for obstacles to be "plugged" into the board via dowel pins)
7 modules
Modular interlocking floor piece with 2 cells
(holes allow for obstacles to be "plugged" into the board via dowel pins)
4 modules
Obstacle for blocking path of Sphero
(uses a press-fit design; dowel pins glued
on bottom are aligned with holes on the board)
Number of modules can vary
Interlocking border piece with the floor and wall pieces
6 modules
Modular wall that fits into the border pieces
6 modules
Modular wall cover that secures the wall pieces together
6 modules

Full Scale Maze Design

The current full-scale maze design assembly model is shown below. Some modifications were made based on testing in the small-scale maze and due to size restrictions. There was no space available that could fit the maze with its original dimensions (11ft long by 8.6ft wide) so the cell size was reduced (where each side of the hexagon was changed from 3.5in to 2.5in) in order to maintain the same number of cells as required by spec. As such, the Sphero 2.0 was no longer an option as its diameter is roughly 3 inches. The Sphero Mini was chosen instead as its diameter is a little under 2 inches. Hence all full-scale module pieces were modified to reflect this change. The other change that will be implemented based on testing in the small-scale and full-scale mazes is that a clear vinyl mat will be spread out over the surface of the maze. This is because some of the wood pieces are slightly warped which makes some catch points near the module connections that could potentially inhibit movement of the Sphero Mini (something that wasn't an issue for the Sphero 2.0). The mat will help make a continous smooth surface that the Sphero Mini will be able to move on with no issue. It should also be noted that holes will be punched on the mat corresponding to the hole places on the wood surface of the maze. These holes will not inhibit the Sphero movement as the mat is very thin (around 0.4 mm). Also note that because each cell of the maze will be labeled using a labeling scheme, the holes will always line up with those on the mat.

The module pieces incorporated are described in the table below.

Description CAD Model Laser-cut Model
Modular interlocking floor piece with 7 cells
(holes allow for obstacles to be "plugged" into the board via dowel pins)
41 modules
Modular interlocking floor piece with 1 cell
(holes allow for obstacles to be "plugged" into the board via dowel pins)
6 modules
Modular interlocking floor piece with 2 cells
(holes allow for obstacles to be "plugged" into the board via dowel pins)
2 modules
Modular interlocking floor piece with 3 cells
(holes allow for obstacles to be "plugged" into the board via dowel pins)
4 modules
Modular interlocking floor piece with 5 cells
(holes allow for obstacles to be "plugged" into the board via dowel pins)
8 modules
Obstacle for blocking path of Sphero
(uses a press-fit design; dowel pins glued
on bottom are aligned with holes on the board)
Number of modules can vary
Interlocking border piece with the floor and wall pieces
6 modules
Interlocking border piece with the floor and wall pieces
6 modules
Interlocking border piece with the floor and wall pieces
4 modules
Modular wall that fits into the border pieces
12 modules
Modular wall that fits into the border pieces
4 modules
Modular wall cover that secures the wall pieces together
4 modules
Modular wall cover that secures the wall pieces together
4 modules
Modular wall cover that secures the wall pieces together
6 modules
Modular wall cover that secures the wall pieces together
2 modules

Part Modifications

An ultimate goal of the project is to have a mouse be chased around by a Sphero and to analyze the path that the mouse takes so that our predator-prey path models can be verified and/or updated. Since mice can jump fairly high (even higher than the current 0.5ft height of the maze), a plexiglass cover (such as 2 pieces of this along the length of the maze) can be set over the maze to prevent any mice from jumping over obstacles and walls. The cover can be supported by the walls of the maze and any obstacles within. In the event that this affects how the mice will plan, an alternative approach (though much more involving) is to make modifications to the wall components within the maze as described in the following procedure:

  1. Open up the following part files in Solidworks:
  1. Change the height dimension in their corresponding sketches from 6 inches to however many inches are desired
  2. Save the files as dxf files (from the top plane)
  3. Import these files into Inkscape, and save them as svg files
  4. Using a laser cutter, cut out the newly updated walls
  1. Replace the shorter walls with the taller walls
  • Just a fair warning, this may be tedious work when it comes to the obstacles. You will first need to remove the current walls using a flat-head screwdriver as a lever since the obstacles have a press-fit design. You will then need to install the new walls as described in the obstacle building manual here. This manual is also helpful in case more obstacles need to be built.

About

Construction CAD files to build a 3-D honeycomb-styled-world where Sphero robots act as predator and prey that have to navigate in various levels of occluded environments. Find out more from my portfolio here: https://mechwiz.github.io/Portfolio/

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published