PRE2019 3 Group9: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
No edit summary
 
(444 intermediate revisions by 5 users not shown)
Line 1: Line 1:
Milan Hutten, Software Science, 0997241
<div style="width:calc(100vw - 175px);background-color:#FDFEFE;padding-bottom:35px;position:absolute;top:0;left:0;">
<div style="font-family: 'q_serif', Ariel, Helvetica, sans-serif; font-size: 14px; line-height: 1.5; max-width: 1125px; word-wrap: break-word; color: #333; font-weight: 400; box-shadow: 0px 25px 35px -5px rgba(0,0,0,0.75); margin-left: auto; margin-right: auto; padding: 70px; background-color: white; padding-top: 25px;">


Jankatim
<center><big><big><big><b>Research robot for the burrows of prairie dogs</b></big></big></big></center><br>


Nick Reniers, Technische Wiskunde , 1258362


Mendel


Ferenc
== Group members ==
 
{| class="wikitable"
|-
! '''Name'''
! '''Study'''
! '''Student Number'''
|-
| Nick Reniers
| Technische Wiskunde
| 1258362
|-
| Jankatiri Boon
| Werktuigbouwkunde
| 1003254
|-
| Milan Hutten
| Software Science
| 0997241
|-
| Mendel van der Vleuten
| Technische Wiskunde
| 1262564
|-
| Ferenc Sterkens
| Werktuigbouwkunde
| 1022090
|}
 
== Introduction ==
A lot of research has been done into flora and fauna all over the world, but our knowledge of subterranean species remains relatively limited. This is in large part due to our inability to study these animals without destroying their burrows and scaring them away. Most current techniques require destruction of subterranean burrows or even killing the animals. This makes certain fields such as ethology, the study of animal behaviour, very difficult or impossible to practice. The field of robotics could provide a solution in the form of an autonomous robot capable of traversing subterranean burrows and recording the animals. This page describes a robotic system designed to study the behaviour of black-tailed prairie dogs within their burrows.
 
== Problem statement==
Animals have been studied for almost as long as humans exist. Whether it is to benefit from the acquired knowledge or purely out of fascination, we have continuously tried to understand the lives of different animal species and how they interact with the world we inhabit. One such species is the black-tailed prairie dogs that live in prairies of western North America. Although a lot is already known about them, there still remains a lot to discover. Mainly about their lives underground. One professor who has been studying these prairie dogs is John L. Hoogland. In his book "The Black-Tailed Prairie Dog: Social Life of a Burrowing Animal"<ref>Hoogland, J. L. (1995). [https://books.google.nl/books?hl=nl&lr=&id=BJzzQXkka54C&oi=fnd&pg=PR13&dq=prairie+dog&ots=V21MgOvPXy&sig=bmR17lWn7fuCwlca53E9aXoREQY#v=onepage&q&f=false "The black-tailed prairie dog: social life of a burrowing mammal"]. ''University of Chicago Press''.</ref> he describes the behaviour of these animals in their natural environment and the methods he used to acquire this information. He begins his book by explicitly mentioning in the preface that the information gap between what there is to know about black-tailed prairie dogs and what he was able to learn is enormous. Throughout the book he mentioned whenever he had to make assumptions about their behaviour because he was unable to prove them such as their sleeping behaviour and what happens to individuals when they perish as a result of disease, old age and poor conditions. Most of these assumptions were made because he was unable to observe their behaviour underground within their burrows. Hoogland did not have the tools to infiltrate the burrows without disturbing the prairie dogs and keeping them in laboratories is difficult as they do not breed reliably in those environments. Moreover, the prairie dogs behaviour might be different in laboratories from that in the wild, which could explain why their reduces breeding. This makes studying the behaviour of black-tailed prairie dogs, and presumably other burrowing animal species, while in their burrows very difficult if not impossible without the right tools.
 
== Users ==
 
{| class="wikitable"
! style="font-weight:bold; font-family:Arial, Helvetica, sans-serif !important;; background-color:#c0c0c0;" | Users
! style="font-weight:bold; font-family:Arial, Helvetica, sans-serif !important;; background-color:#c0c0c0;" | Society
! style="font-weight:bold; font-family:Arial, Helvetica, sans-serif !important;; background-color:#c0c0c0;" | Enterprises
|-
| style="font-family:Arial, Helvetica, sans-serif !important;;" | Researchers
| style="font-family:Arial, Helvetica, sans-serif !important;;" | Towns closeby
| style="font-family:Arial, Helvetica, sans-serif !important;;" | Robot manufacturers
|-
| style="font-family:Arial, Helvetica, sans-serif !important;;" | Engineers
| style="font-family:Arial, Helvetica, sans-serif !important;;" |
| style="font-family:Arial, Helvetica, sans-serif !important;;" | Universities
|-
| style="font-family:Arial, Helvetica, sans-serif !important;;" | Animal caretakers
| style="font-family:Arial, Helvetica, sans-serif !important;;" |
| style="font-family:Arial, Helvetica, sans-serif !important;;" | Zoo's
|}
 
Many people and institutions have some relation with subterranean species in one way or another. Examples are given in the table above, such as zoo's exhibiting and caring for these animals and farmers whose harvests can be positively or negatively influenced by the presence of these animals. The table also shows potential stakeholders of the robot such as the manufacturers that will be building these robots. However, for the analysis of the user and their needs, the focus is on the researchers as users, more specifically researchers that specialize in ethology, the study of animal behaviour under natural conditions, and hence study the behaviour of the black-tailed prairie dogs. In the problem statement it was mentioned that the behaviour of black-tailed prairie dogs can still be researched quite a lot, therefore ethology was chosen as our main focus.
 
=== Ethology research method ===
As mentioned before, ethology is the study of animal behaviour under natural conditions. Hence, a large part of the study is observing the animals in the wild. This can be done by observing in person or using cameras to observe remotely. One of the problems with observing in person that arises once we are talking about subterranean species is that you cannot observe them in their natural conditions as you cannot enter their burrows without disturbing the animals. An advantage that cameras have over observing in person is that you do not have to be physically at the location to observe the behaviour. This could provide a solution to the problem described in the problem statement. However, in order to place the camera's manually, the burrows still have to be entered which will inevitably disturb the animals. In theory, the advantage of a robot could be that they can enter the animals burrow without disturbing them and recording their behaviour for the researchers to analyze.
 
=== User Needs ===
In order to create a well-founded conclusion, the demands and preferences of ethologists, the field of ethology itself and the animal species to be studied must be taken into account. The list beneath sums up the most important needs of the users.
<ul>
<li>'''Ability to observe the animals within their burrows'''</li>
  <ul>
  <li>This is the most important step in improving the current research method since this does not happen without disturbing the animals heavily.</li>
  </ul>
<li>'''Visualisation of burrows'''</li>
  <ul>
  <li>Some behaviour could be explained if  a link can be created to seperate specials rooms or tunnels if they are found by mapping the burrows.</li>
  </ul>
<li>'''Keep track of population growth'''</li>
  <ul>
  <li>The animals behaviour might change based on the size of their colony, therefore it is favourable to know how big the population is.</li>
  </ul>
<li>'''Minimal disturbance of the animals'''</li>
  <ul>
  <li>It is important that the animals get disturbed as little as possible so that the natural conditions can be preserved as much as possible. Less disturbance means more reliable results</li>
  </ul>
</ul>
 
== RPC's ==
To find out what we can and can't do, and make sure that the project is useful and true to what we want. We will set up a RPC list which stands for Requirements, Preferences and Constraints. These guidelines will make sure that our project and results will be done fitting the needs of the user.
 
'''Requirements:'''
* Map the usefulness of the rooms with respect to each other to 100 percent accuracy.
**The ethologist could not confirm where the prairie dogs did their eating, sleeping and defecating. but he wrote it like he was curious of it.
* The robot needs parts to be able to climb 90 degree slopes.
**The burrows of the prairie dog are mostly angled downwards. After the robot drove down and collected all the essential data, it needs a way to go up. Otherwise it will be stuck and that would be a waste of either the burrow or the robot.
* It needs to be 100% electric.
**Oxygen is essential to the prairie dogs, so if we were to use combustion engines, we would endanger these animals and force them out of their homes. That is why it is crucial that we use a fully electricity powered robot.
* The robot needs to be able to turn more than 2 ways.
**Otherwise it wouldn't be able to discover multiple holes and find out the entire burrow.
 
'''Preferences:'''
* It needs to be able to be charged easily by for example USB.
**As it is convenient and doubles as a way to transfer the information gathered by the robot.
* The robot shouldn't be seen as hostile to the prairie dogs.
**As that would ruin part of the experiment and ruin their homes which is not something we are looking for.
* The robot can't be fragile.
**As it might break inside the corridors because of drops from heights or possible attacks from the prairie dogs.
* The mapping should give a good enough idea of the surroundings.
**We would like a nice reference system that can be used for research which is why that is important.
* The natural conditions wouldn't be disturbed by the robot.
**This again would add changes or possibly ruin the homes of the animals which isn't desirable
* The tires need to have high traction.
**High traction is necessary to keep slip from happening as much as possible.
* The robot needs to have a way to climb.
**Going down wont be that big of a problem but it needs a way to go up again otherwise you wouldn't be able to gather the data or reuse that robot.
* Be able to trace back and return to the user after completing its tasks.
**This also applies to the idea that the robot needs to be regathered to convert information for research and reuse.
* Safely and autonomously navigate the specified underground systems.
**We want it to be able to discover the pathways by itself so that it can map the system accurately and more information comes to light about these animals.
'''Constraints:'''
* The robot has a maximum height and width of 10 cm.
**It needs to be able to fit inside the holes and pathways made by the prairie dogs.
* The robot can't use combustion as propulsion.
**This would remove all the breathable air out of the system and would make the home of the prairie dogs unlivable. Combustion engines might even kill the prairie dogs due to carbon monoxide poisoning.
* It can not be longer than 20 cm.
**This is also necessary because the animals might make sharp turns which the robot should be able to maneuver in.
 
 
The Requirements, are the things that the robot needs to have and are things we can measure and confirm afterwards.
The Preferences, are the things that we would like our robot to have and which we will try our best to comply to.
The Constraints, are the things that can not be crossed else the product would not work or fit for our purpose.
 
==Path finding ==
Given that we want to map underground tunnels of a specific species of subterranean animals, we need a systematic and preferably mathematically adequate way to represent different important aspects of the tunnels. The most straightforward way to do this is by the usage of the mathematical objects that are graphs. A graph G is a tuple G=(V,E) consisting of a vertex set V and an edge set E. Here, the edge set E contains unordered pairs of vertices between which an edge is present. There is also a variant of graphs in which the vertex pairs are ordered, but for the purpose of tunnel mapping, this is inconvenient. We can also consider the concept of a multigraph, in which multiple edges are possible between the same two vertices, this may be the case for some certain species of animals, but this demands further research. For now, we will assume simple undirected graphs as representatives for the tunnels of our species of animals.
 
For the purpose of mapping an underground tunnel system in general, one can deploy a multitude of graph algorithms. The most obvious algorithms for this purpose are depth first search and breadth first search, which greedily traverse a graph (representing the underground system of the animal). We can also look into finding specific points of interest depending on the animals we want to investigate. For example, one may be particularly interested in finding a nest in a mole underground system. For such purposes, specialized search algorithms that take into account the known properties of such points of interest, may be optimal.
 
Given that we have found the graph corresponding to the subterranean structure we want to investigate, we can look at some interesting properties of the graph. Examples would be the minimum spanning tree of the graph or the (non-)existence of cycles and connectedness.
 
When talking about path finding in robots it is also necessary to think of ways for the robot to follow a path. Considering we will be working underground and partially above ground in places made constructed by animals, it would be a good idea to look into how these animals move or to inspire the movement of the robot on biological movement. In the paper "Biologically Inspired Locomotion Strategies: Novel Ground Mobile Robots at RoMeLa" a few designs are discussed on moving forward on land. The first robot is a concept that is closely related to tracks. This design is inspired on single celled organisms such as amoeba. An elongated torus continuously rolls such that there is a system similar to 360 degree track system. This could be very useful for our goals, but difficulties will lie in gathering and collecting data.
The second design involves a robot with 3 legs, This design makes use of a swinging third legs, so it needs a lot of space. This is not something which would be useful for underground or small above ground burrows/nests.
The robot MARS utilizes six axi-symmetrically arranged limbs, this robot is well adapted for crawling over uneven terrain, which is what we are interested in. But it does not perform well in tunnel systems. It also uses gecko-like dry adhesive to stick to surfaces, but as we are not dealing zero gravity this will most likely not be necessary. So depending on what our final goal is this robot may or may not be of interest.
The IMPASS robot has wheels like structures to move forward, it has 6 spokes with small foot like platforms so it can roll. The thing that makes this robot stand out is that the spokes can change in length allowing for better traversing of rough terrain and more stability. Again this robot seems very adept at walking on ground, but less so underground.
Finally a humanoid robot is presented but this is very impractical for our goals.
 
== Prairie dogs ==
 
Prairie dogs are herbivorous rodents that create interesting burrows, native to the grasslands of North America. There are five species of prairie dogs: black-tailed, white-tailed, Gunnison's , Utah, and Mexican prairie dogs.  <ref>(n.d.). In Wikipedia. Retrieved February 17, 2020, from [https://en.wikipedia.org/wiki/Prairie_dog "https://en.wikipedia.org/wiki/Prairie_dog"]</ref>
 
=== Black-tailed prairie dogs===
In this project, we will focus on the black-tailed prairie dogs. We chose the black-tailed prairie dogs because they are the most abundant species of prairie dogs. Furthermore, the knowledge on this specific species seems to be richest. Since we have to concretize our project, we had to make a choice and could not investigate every species of prairie dogs available.
 
=== Current researching method ===
The behaviour of prairie dogs is currently studied by observing them while they are above ground. When it comes to food foraging, individuals are observed also excretion and stomach contents are analysed to determine what kind of diet prairy dogs have. Similarly,general behaviour near burrows is researched by observing them from outside of the burrow. There have been a few excavations of burrows to find their general structure, but all of these were done in such a fashion that the burrow was completely destroyed, which is something that we would like to steer away from.
 
 
==== Description ====
Usually, black-tailed prairie dogs have a body that is 36 to 43 centimeters tall and weighs roughly 700 to 1500 grams, where the males tend to be heavier than the females. Their bodies are also very compact, and they have black long claws that are used for digging. The black tailed prairie dogs are usually colored a pale tone of brown, with a black spots on their tail. These points of information may be useful for letting our robot recognize the animals when exploring their burrows, alternatively we may use heat sensors to detect them.
 
====Social life and habits ====
[[File:black tail vibe zone.png|thumb|200px|Geographical Distribution of the black tailed prairie dogs|]]
 
Black-tailed prairie dogs live in prairies of western North America. An image of their geographical distribution is shown on the right. The species is very colonial, colonies of the black-tailed prairie dogs may contain thousands of members, their territory stretching out kilometers in all directions. Colonies are further subdivided in a couple of wards that are based around topographic features such as hills. These ward themselves can then be subdivided into coteries. These coteries consist of groups of one or two men with a number of women and their offspring. <ref>Black-tailed prairie dog. (n.d.). In Wikipedia. Retrieved February 20, 2020, from [https://en.wikipedia.org/wiki/Black-tailed_prairie_dog "https://en.wikipedia.org/wiki/Black-tailed_prairie_dog"]</ref>
 
Black-tailed prairie dogs are also diurnal, meaning that they are typically active during daytime. As such, their foraging tends to happen from dawn to dusk. During winter, they do not hibernate and continue to forage. At night however, they go in a state of torpor which is similar to hibernation but shorter and involuntary.
 
====Burrows ====
 
Burrows are underground tunnels that have at least one opening at the surface. Prairie dog burrows are essential to defend the species against predators and weather circumstances. The diameter of such a burrow is usually around 10-30cm at the surface and a little bit more narrow underground. The depth of these burrows is generally around 2-3 meters with a length of 5 to 10 meters, but they can range to 33 meters long and 10 meters deep. Burrows can have one of multiple functions, spending the night, bringing up offspring or refuge from weather circumstances and predators. This may then explain the variety of width and length of different burrows. Burrows for raising the young, nursery burrows and burrows for submergence at sunset, contain one or two nest chambers that are filled with dry grass. These chambers tend to be around 30 centimeters high and 50 centimeters high, these chambers are shown to be used for raising the juvenile and are hypothesized to be used as sleeping chambers for the adults. There also exist smaller chambers that are not used for these purposes, they can usually be found around 1 meter below the surface and are thought to function as turnaround points or temporary hideout that allows for listening to threats from above the surface. The sharing of burrows is very common, not only from generation to generation but members of a coterie also have access to a multitude of burrows. <ref>Hoogland, J. L. (1995). [https://books.google.nl/books?hl=nl&lr=&id=BJzzQXkka54C&oi=fnd&pg=PR13&dq=prairie+dog&ots=V21MgOvPXy&sig=bmR17lWn7fuCwlca53E9aXoREQY#v=onepage&q&f=false "The black-tailed prairie dog: social life of a burrowing mammal"]. ''University of Chicago Press''.</ref>
 
There are a couple of predators that hunt prairie dogs, these predators can either hunt on them from above the surface or below the surface. Examples of above the surface predators are coyotes, bobcats and aerial predators. Snakes, American badges and black-footed ferrets hunt on prairie dogs from below the ground. Little is known about prairie dogs that die from natural conditions, but evidence suggests that this mostly happens below the ground and that dead bodies may be pushed out of the burrows by the other prairie dogs. There are also cases where bones where found in burrow mounds, they may have been carried above the ground when excavating or renovating burrows.
 
Burrow mounds have some interesting functionalities. First off, burrows help the prairie dogs protect against flooding rainstorms, which can occur in the areas they tend to live in. Prairie dogs have furthermore been seen to frequently run to the mounds in times of suspected danger, this is thought to be because the mounds allow for efficient scanning for predators. Most fascinatingly, burrow mounds stimulate Bernouilli's principle, thus creating better ventilation. This may especially be important in longer burrows.
 
====Animal needs====
In this chapter, we have seen that a lot of information about the life of the black-tailed prairie dog is still unknown. Interesting examples are the lack of knowledge about the way deceased prairie dogs are handled by other prairie dogs, the areas in which prairie dogs defecate and the possible use of nest chambers as sleeping places for prairie dogs. These might seem like relatively simple issues, but the lack of ability to investigate the burrows of prairie dogs makes it so that we have to rely on intuition and suspicions rather than hard evidence. We opt to design a robot that traverses the burrows to search for evidence of certain suspicions that we have about subterranean behavior of the black-tailed prairie dogs.
 
Given our task of designing such a robot, there are a few things that we have to keep in mind. First off, we have to create our robot such that it does not significantly disturb the prairie dogs. We try to avoid this because it might lead to unusual behavior of the prairie dogs, while we are interested in the usual behavior. We must thus assure that the prairie dogs can keep living their everyday live without taking notice of our investigations. If we are able to construct a robot that satisfies this criterion, we must also assure that we do not damage the burrows or hurt the chances of survival of the prairie dogs in any other way. At last, our robot must of course be able to investigate the behavior in which we are interested. A way of investigating the sleeping and defecating behavior of the prairie dogs may just be to traverse the burrows while recording. The problem is that we then only find information about a slice of the everyday life of the prairie dog. For the aforementioned issues, it may be more interesting to research the life of the prairie dogs in continuity. We can achieve this by setting up cameras in certain points of interest inside the prairie dog burrows. This way, our robot has to traverse the burrows only once to set up cameras, while still allowing us to look into long-term behavior of the prairie dogs. Setting up cameras would be ideal, but very complicated. We would have to build a robot that can set up cameras and deal with the potential wiring of cameras. A good alternative would be to let the robot itself film the prairie dog chambers with for example a thermographic camera. Another idea we had was to attach some sort of camera to the prairie dog as to gain information about its daily life. We chose to not go down this path, because the cameras may hinder the prairie dogs too much.
 
== Mapping ==
This section discusses several methods of mapping described in found articles as well as the slides form the course "Interaction with social robots" (0LSUD0)<ref>Cuijpers, R. H. "Navigation for socially assistive robots"</ref> and how these are applicable to the problem discussed on this page.
 
=== Basics ===
The slides from the course "Interaction with social robots", more specifically, slide set 3 from week 2 about robot navigation provides a strong basis for mapping of environments. The slides discusses three ways to represent an environment. These are using a continuous metric, a discrete metric and discrete topological. In a continuous metric, the world is described using coordinates (x and y) and angles (θ). In a discrete metric, the world is described along a grid. Exact angles are mostly lost, but relative positioning between locations and distances are mostly retained. In discrete topological only relative positioning between locations are retained. From the perspective of the robot, which has to navigate through the burrows and could use a map to help him with that, the continuous metric seems to be the best choice. The more accurate the map is, the more useful it is for navigation. However, the accuracy is of less importance to the ethologist. The ethologist is interested more in the functionality of rooms and corridors in the burrows. As such, they are more interested in the relative positioning and distances of rooms and corridors than exact coordinates. Thus a discrete metric or even discrete topological representation would suffice for the ethologist.
 
The slides discuss two problems with map building, these are keeping track of changes in the environment and the representation and reduction of uncertainty of the robot. The latter is a general problem with robot navigation, though a bit more complicated to deal with due to the extra dimension of the problem, but the first is of greater interest to us. Prairie dogs change their burrows over time, for example to accommodate more of them. This is a problem the robot is more likely to run into if it repeatedly has to explore the same burrow. On top of that, if the robot cannot tell the difference between the walls of the tunnels and the prairie dogs, then they will perceive them to be part of the burrow. Then when the prairie dogs move, which they will inevitably do, the burrow will seem to have changed from the robots perspective.
 
=== 3 Dimensional Mapping ===
Most of the articles found that discussed mapping were only interested in 2-D maps. However, "A System for Volumetric Robotic Mapping of Abandoned Mines"<ref>Thrun, S., Hahnel, D., Ferguson, D., Montemerlo, M., Triebel, R., Burgard, W., ... & Whittaker, W. (2003, September). [https://ieeexplore.ieee.org/abstract/document/1242260 "A system for volumetric robotic mapping of abandoned mines"]. In 2003 ''IEEE International Conference on Robotics and Automation (Cat. No. 03CH37422)'' (Vol. 3, pp. 4270-4275). IEEE.</ref> explores the possibility of using robots to create 3-D maps of abandoned mines, a very similar problem, though at a different scale.
 
The paper describes two robotic systems designed for accurate volumetric maps of underground mines. The way these two designed move around is not of much interest as they are manually operated by humans. One of them even needs to be pushed forward by people, making the design useless for mapping out Prairie dog burrows. However, the technology used for the mapping itself is applicable. Both designs use laser range finders to sense the environment and create a 3-D map by firstly creating a 2-D map with a scan matching algorithm and secondly applying the same algorithm on 3-D measurements after the 2-D map has been completed.
 
Although the mapping algorihm is made to visualize a 3-D environment, these robotic systems are mainly designed to map out planar environments, but can still perform decently in non-planar environments by estimating the tilt of the sensors to reduce error in mapping. However, the authors do not discuss how much tilt the robotic systems can deal with. This is important to know for the mapping of prairie dog burrows as the tunnels dug by the prairie dogs that our robot has to map out can be very steep. If there is a limit to how much the sensors can tilt before the error becomes to severe, then a better solution might be to modify, if possible, the algorithm such that it can deal with the extra dimension and angle. Depending on how exactly the robot will move through the burrows, modifying might be the preferred option as the robot could also have to deal with the possibility that it is slightly tilted along the other axis or even fully upside down.
 
== Robot design ==
[[File:Mecanum Wheel.jpg|thumb|300px|Mecanum wheel]]
[[File:Spiked wheel.jpg|thumb|250px|Spiked wheel]]
[[File:Catterpillar wheels.jpg|thumb|350px|Catterpillar wheels]]
To have a working robot, the mechanical parts are the most important and essential part of the robot. Without these the robot is rendered useless. The different parts also have to be chosen wisely as they need to be just right for the robot. For example the sensors need to be not only precise but also resistant to dirt and other small obstacles and the wheels need to be big enough for the terrain but small enough to maneuver. Eventually this all comes down to the RPC's.
To start off we will make a general overview of all the parts such a robot should have, and after deciding on a design, another list with the specific parts will be made. The robot should have wheels and a way to accelerate the wheels, which is possible with either multiple motors or with a central motor and a drive shaft. The robot should also have tires or spikes so that it has enough grip to move forward. The steering of the front shaft should also be possible in the robot, else we would have a problem at corners.
 
The different parts we will need are:
* Wheels and tires
* Suspension (This depends on the design we decide to chose)
* Steering mechanism
* The body of the car
* The engine(s)
* The battery
 
=== The Wheels ===
 
After some research on wheels there were 3 types of wheels in my mind, either very high traction wheels with small spikes or chains around it, to minimize slippage, caterpillars, or mecanum wheels. The latter are omnidirectional which means that the car would be able to move in all directions independent of the direction in which the wheels are facing. Thus using these wheels would remove the need of a steering system. This feature would be really useful in tight spaces.
 
 
 
Unfortunately there is one very big drawback here, the wheels aren't very resistant to dirt and little rocks, this would jam the wheels and make them nothing more than glorified normal wheels with low traction. Hence these wheels wont do well in practice, which is very unfortunate. So there are only 2 options left, either caterpillars or high traction wheels with some sort of steering system. The high traction wheels, will be more responsive and able to steer a lot faster. Here you can see the wheels that would be acceptable.
 
 
Finally the caterpillars, these are easy to program and very robust, the steering works easily by slowing one side down and speeding one up. You can maneuver these kind of wheels very well, as you are able to turn around in tight spaces. The traction is also really good so it seems that these will be ideal for turning in the prairie dog burrows. You can see a picture that would best fit our case below.
 
=== Suspension ===
 
[[File:Suspension.jpg|thumb|300px|Angled suspension]]
 
Suspension is a vital part of designing the model. It makes sure that the organs; the motors, sensors, battery and other electric components do not get damaged. As the robot drops down or drives over bumps there will be vibrations that can disturb the components. To prevent this from happening a suspension will convert the impact vibration in to smaller but longer lasting vibrations which will not be powerful enough to affect the parts in the robot.
 
Suspension for caterpillar wheels is a lot different from suspension of normal wheels. Normal wheels are all suspended to the body even the ones that are driven, caterpillar wheels are different because of the reason that the driven wheels are stationary and there are separate wheels for the suspension. This makes the design a lot easier as suspension is usually a very complicated part in normal wheels. There are 2 different ways to apply suspension to the wheels of the robot, namely angular suspension and direct suspension.
 
Angular suspension is usually very good for robust and heavy vehicles, as you can increase or decrease suspension by altering the distance of the springs. This is because you can create a lever by placing the spring closer or further away from the rotation point. The angular suspension can be seen in the picture.
 
Now because the robot will not be very heavy, it seems that making an angular suspension would be redundant and unnecessarily over-complicating the model. Thus the decision was taken to go for a direct suspension over the wheels of the robot. The robot will have a certain mass divided over the different wheels, and the springs will therefore be chosen by dividing the spring force necessary over the different wheels. The suspension chosen can be seen in the pictures of the model.
 
=== Steering mechanism ===
 
The robot will need a way to steer as the tunnels made by prairie dogs will not be 2D. But because the robot will have caterpillar wheels, The steering will be done by accelerating one wheel more than the other, which is the way in which steering is usually done.
 
=== The body ===
Ideally the robot should not weigh much, since having more weight increases the strain on the engines. However that is not the only propertie that needs to be taken into consideration. Most robots are either made of steel or aluminum. Here are some pros and cons for both material, based on some relevant properties<ref>Callister, W. D. Rethwisch, D. G.  (2014) ''Materials science and engineering''.</ref> of the materials:
 
'''Strength'''
* Steel is a very strong and durable material, stronger than aluminum. The moduli of iron are significantly higher than that of aluminum. For example the Young's modulus of iron equals to 211 GPa and the Young's modulus of aluminum equals to 70 GPa. However, the robot is going to be really small so it will not weigh much with either material. So the strength of aluminum is already high enough for this case. In this case aluminum is the winner here.
 
'''Density'''
* Steel is very dense, due to the high density of iron itself and the high concentration of carbon atoms that place themself in the crystalstructures of iron. The average density of steel equals to 7900 kg/m^3 and aluminum's density equals to 2700 kg/m^3. Aluminum is the clear winner here since a heavy robot is far from desirable.
 
'''Cost'''
* Aluminum costs around $1.50 per kg and the steel price ranges from $0.70 to $1.60 per kg. However, steel is almost three times denser than aluminum. Taking into account that the same volume is needed in either case for the robot, aluminum will weigh three times less. Therefore aluminum will be the better choice between the two options.
 
'''Corrosion resistance'''
* Aluminum has a much higher corrosion resistance than steel. This is because the oxidation of aluminum creates a protective layer around the metal, whereas with steel this is not the case. It is not known if the burrows of the prairy dogs are moist, if so then aluminum will not deteriorate which makes it the better choice.
 
Concluding, the body of the robot will be made of aluminum because of its lower density, better price, high enough strength and superior corrosion resistance.
 
=== Engine ===
To start off, a combustion engine was not even considered since this would impact the the prairie dogs too much. This is because of the exhaust gasses and the noise produced.
* For the winch engine, a simple electrical engine<ref>Kleine DC Motor 3-6V - Type 140. (n.d.). In Tinytronics. Retrieved March 5, 2020, from [https://www.tinytronics.nl/shop/nl/robotica/motoren/motor/kleine-dc-motor-3-6v-type-140 "https://www.tinytronics.nl/shop/nl/robotica/motoren/motor/kleine-dc-motor-3-6v-type-140"]</ref> was chosen with a voltage range of 3-6 volts. The engine delivers 2A on full load
 
* For the drive engines a smaller engine was choses, that delivers 1A on full load. Since the robot needs 8 engines in total, 4 on each set of caterpillar, which leads to a total current of 8A. However, only half of the engines will be used, since not both sets of wheels will run at the same time. This will lead to a maximum current of 4A of drive at full speed.
 
* Adding these numbers up leads to maximum current needed of 6A, but usually it will only peak at 4A. For the sake of calculating around the worst case scenario 6A will be used.
 
=== Batteries ===
The robot has 423945.6240 mm^3 available in the space inside of it left for batteries. Assuming we can find a company that can deliver customised batteries on request, we take this volume to calculate the energy that can be delivered by the battery. Our calculations will be based on a Lithium polymer battery, which has a energy density of 0.102 mAh/mm^3. This energy density was calculated by dividing the mAh by the volume listed by tinytronics on their website.<ref>Li-Po Accu 3.7V 2000mAh. (n.d.). In Tinytronics. Retrieved March 5, 2020, from [https://www.tinytronics.nl/shop/nl/batterij-en-accu/li-po/li-po-accu-3.7v-2000mah "https://www.tinytronics.nl/shop/nl/batterij-en-accu/li-po/li-po-accu-3.7v-2000mah"]</ref> If we multiply this value by the battery reserved volume, it leads to a total of 43.16 Ah. For the sake of the argument we will only take 80% of this energy to give a more realistic view. The energy storage will then contain 34.5 Ah. With all the added equipment on top of the 6A needed for the engines, we will add 4A on top of that. Dividing 34.5 Ah by a total of 10A will lead to almost 3.5 hours of runtime for the robot. This duration is more then sufficient for our purposes. Recharging the battery would take the same time. This battery would weigh around 1.5 kg.
 
=== 3D model ===
 
[[File:s1.png|thumb|300px|Back perspective of the skeletal robot]]
[[File:f1.png|thumb|300px|Back perspective of the complete robot]]
<gallery>
File:c1.png|1: Front laser and IR camera combination module, 2: Side laser, 3: Catterpillar wheelguard, 4: Caterpillar support wheels
File:c2.png|5: Winch, 6: Rear laser
File:c3.png|7: Battery, 8: Winch engine, 9: Caterpillar drive wheels
File:c4.png|10: Suspension, 11: Top laser, 12: Charging port
</gallery>
To give an impression of what the robot would look like, a 3D render has been created using Siemens NX12. The dimensions of the robot are h = 172 mm, l = 185 mm and w = 150 mm. A full version and a skeletal version have been created. The robot needs to be sealed to prevent dirt or other rubble getting in the robot, to prevent prairie dogs getting hurt by the robot if they get stuck and to protect the inner parts of the robot. Let me show you it's features.
 
* '''Two sided catterpillar wheels'''
** The burrows of prairie dogs are not even and level. It will be really likely for the robot to tip over and end up on its back. Having two sets of catterpillar wheels you reduce the chance to get stuck significantly. Each set of wheels has it own electric engine and can be activated seperately from one and other.
* '''Wheelguard'''
** The catterpillar wheels have some added guards which is to prevent dirt and rubble to enter the robot, as well as prevent prairie dogs from getting hurt by the robot if they try to inspect it.
* '''Gyroscope'''
** In order to know which side the robot is driving on, a gyroscope is added. With it being connected to the circuitry the robot will always know how it is oriented and which set of wheels to activate.
* '''Winch'''
** Since the burrows also differ in vertical height, a way had to be found for the robot to safely ascend and descend the burrows. Using a winch, the robot can safely descend downwards if the burrows proceeds downward. If the robot reaches a dead end at the bottom, the robot can back up and pull itself back up in order to continue exploring different burrows.
** The mechaniscm is hooked up to its own electric engine.
** The mechanism operatos autonomally in accordance with the lasers. If a dead end is detected, the robot will back up and simultaneously the rope will get rolled back on the cylinder.
** A very thin and strong rope would be used, like a fishing line. The prairie dogs won't be able to destroy the line and it will not be big enough to damage the prairie dogs. Furthermore, the robot will be able to take enough rope length with it since it does not weigh much and take up barely any space. Fishing line with a 0.3mm thickness can hold up to 4.2 kg. For the winch a diameter of 0.5 mm at least will be used, which is more than strong enough for the robot.
* ''' Observational lasers '''
** Lasers have been put on the sides and front of the robot. The function of the lasers is to scan its surroundings and map it accordingly. The robot has a slight angle of 15 degrees. You can see this with the sets of caterpillar wheels. They are not level. This angle has been created so the laser can view the ground and not get lost in the depth of the burrow if it would be straight ahead. This angle works with both orientations of the robot. A back laser is not necessary since that part of the burrow would already be explored.
*''' IR camera '''
** In order to also observe the behaviour of the prairie dogs, the front laser also has an Infra-Red camera built in the module. A storage module will be stored in the robot where the data of the lasers and the camera will be stored, since submitting it via signal will not work in underground tunnels.
*''' Total weight'''
** As mentioned the battery weights 1.5 kg. Calculated by NX 12, the robot weighs around 2.5 kg, as most parts are aluminium and the parts that are not are not that significant in weight. This will lead tot a total weight of 4 kg.
 
== Simulation ==
In order to show the effectiveness of the design of the robot, it should be tested. However, unfortunately there is a lack of time and resources to build the robot and find or create a burrow. An alternative way to show the robots effectiveness is via a simulation. This section describes the simulations made with [https://processing.org/ "Processing"] to simulate specific elements of the robot. These are mapping and movement. Mapping as the name suggests simulates the robots ability to sense its surroundings and make a map visualizing it. Movements is about the robots ability to physically move through the burrows. Both simulations are still showing a simplified version of the system. Firstly, both simulations are 2-D. Secondly, the actual robot is simplified in both simulations. In the movement simulation the robot is simply represented by two wheels connected by a rectangle, and in the mapping simulation the robot is represented by a dot. The mapping simulation also has some functionality to simulate the prairie dogs. Both simulations can be found in the appendix.
 
===Mapping ===
 
[[File:robotlasers.png|thumb|250px|Lasers simulated in mapping]]
[[File:mappingvsreal.png|thumb|300px|Real burrow vs mapping of automatic run]]
As mentioned earlier, in this simulation the robot is simply represented by a dot. This is done because this simulation primarily focuses on the robots ability to sense its environment, thus making its physical properties of less importance. The robots sensors for detecting its surroundings are represented by eight lines equally distributed over the robot facing outwards. Their length is the visual representation of their reach. The principle behind the simulation is rather simple, each iteration of the program the simulation checks for each line whether it reaches into the walls of the burrow, represented by dark brown pixels, and then saves at which point it does. Now if the robot moves around the burrow and makes a lot of measurements, it will make an accurate map of its surroundings consisting of a separate points visualizing the walls of the burrow. In the picture on the right, we have given a depiction of the lasers that are simulated by the model, note that the lasers do not extend in the third dimension, since the simulation only considers 2 dimensions.
 
 
The simulation has two modes for the movement of the robot. The robot can either move on its own in a rather simplistic manner, or it can manually be controlled. You can switch between the modes by changing the value of the boolean automatic. If this boolean is true then the robot will move on its own, if it is false it can be manually controlled using the W, A, S and D keys. On its own, the robot moves by following the border of the burrow. If there is no border below the robot it will start to fall down while also still moving forward, making it fall down diagonally. When both in the direction that the robot is moving and above the robot there is a dark brown pixel, indicating the  wall of the burrow, the robot will change direction.
 
Furthermore, the mapping program has a feature that spawns prairie dogs in the hole that move around. The prairie dogs are modeled as somewhat bigger and green circles, the robot must detect the prairie dogs as to avoid them and not hinder them. We have not had enough time to write an AI that avoids and tracks the prairie dogs in a sensible way. For now, the robot is towed back to its starting position when it sees a prairie dog. 'Seeing' the prairie dogs means that at least one of the laser that is used to detect walls, meets a prairie dog first. This is not a completely realistic way of detecting prairie dogs, but sufficient for this model. In reality, we can detect movement or use heat sensors to detect the prairie dogs. We assume the towing to work correctly and simply teleport the robot back at its initial position. In the picture on the right, a mapping is shown for the robot in automatic mode, you see that the mapping is not very complete, as the robot spotted a prairie dog in the lower left of the burrow and then stopped.
 
=== Movement ===
[[File:Unrealistic.png|thumb|200px|Unrealistic situation]]
In order to properly simulate the movement of the robot, some physical properties of the robot and its environment had to be implemented. In the simulation described in this section, the robot is represented by two wheels and a rectangular body connecting the two wheels. Whenever the simulation checks for collision, it only checks whether the wheels collide with the burrow, the body is ignored. Although this may result in unrealistic scenarios, the assumption is made that these cases are relatively rare.
 
The simulation checks for collision as follows, for n points on the border of the wheel, n being initialized as 100, the color of the background at that location are checked. If at any of these points a dark brown color is detected it indicates that the wheel intersects the ground and must be corrected such that it does not move into the ground. How this is corrected depends on the state of the robot, which will be discussed later in this section. The simulation must also be able to detect that a wheel touches but does not intersect the ground. To distinguish between the two cases the simulation employs essentially the same procedure as before, but then on a slightly bigger invisible wheel. For convenience sake we call this invisible wheel the outer wheel and the actual wheel the inner wheel. If no dark brown pixel is detected in the outer wheel, then the wheel is somewhere in the air. If a dark brown pixel is detected in the outer wheel but not in the inner wheel, then the wheel touches the ground but does not intersect. If a dark brown pixel is detected in the inner wheel, then an intersection has been detected and needs to be corrected. This collision check is always done before drawing the new state of the simulation. As such, it will appear as if the robot never intersects with the ground.
 
Within the simulation the robot can at any given moment be in one of four possible states. These are free fall, pendulum with wheel 0 as axis, pendulum with wheel 1 as axis and moving on the ground. In the free fall state, the robot, as the name suggests, is only affected by gravity and falls straight down. It keeps falling until the collision procedure described above detects that at least one wheel intersects with the ground. Once this has been detected it needs to be corrected. Since the robot will always fall straight down in the free fall state, this intersection is easily corrected by moving the whole robot up a pixel at a time until no wheel intersects with the ground anymore and at least one touches it. Depending on which wheels touches the ground after the correction, the robots state changes to pendulum with wheel 0 as axis, pendulum with wheel 1 as axis or moving on the ground.
 
The states pendulum with wheel 0 as axis and pendulum with wheel 1 as axis are essentially the same, only differing in the roles of the wheels. In these states one of the wheels is stationary on the ground while the other moves through the air like a pendulum. The code to simulate the pendulum effect has been based on the code and video from a youtuber called The Coding Train<ref>3.4: Pendulum Simulation - The Nature of Code. August 1, 2015. In Youtube. Retrieved February 22, 2020, from [https://youtu.be/9iaEqGOh5WM "https://youtu.be/9iaEqGOh5WM"]</ref>.
 
[[File:pendulum.png|thumb|200px|Pendulum state showing angles]]
If the previous state of the robot was free fall, then its latest gravitational velocity, the velocity downwards used in the free fall state, is converted to angular velocity. This is done by multiplying the gravitational velocity of the moving wheel by the sine of the pendulum angle divided by the length of the robot<ref>Angular velocity. (n.d.). In Wikipedia. Retrieved March 24, 2020, from [https://en.wikipedia.org/wiki/Angular_velocity "https://en.wikipedia.org/wiki/Angular_velocity"]</ref>. The pendulum angle is the angle between a imaginary line going straight down from the axis and the robot itself, the red angle in the picture. However, there was one problem with this formula. It assumed that the angle between the velocity vector and the robot, blue in the picture, was exactly 90 degrees. This would not always be the case in the simulation. To find the perpendicular velocity vector the gravitational velocity vector had to be decomposed by multiplying the gravitational velocity with the sine of the angle between the gravitational velocity vector and the robot. To simplify the movement simulation, the assumption has been made that the robot would only fall straight down. As a result, the angle between the vector and the robot always equals the pendulum angle. Hence, the angular velocity is calculated by multiplying the gravitational velocity of the falling wheel with the square of the sine of the pendulum angle divided by the length of the robot.
 
Correction when an intersection has been detected is essentially the same as in free fall. However, instead of iteratively incrementing the vertical position of the whole robot, it iteratively increments the pendulum angle of the robot by 1 degree until it does not intersect anymore. After the correction, the simulation again changes the state of the robot depending on which wheels touches the ground. It can either change back to its current state or to the moving on the ground state.
 
Lastly, the robot can be in the state where both wheels are touching the ground. This state contains some unexpected behaviour that has not been solved yet. Here a description is given of how it is intended to work. Any remaining gravitational velocity or angular velocity are set to 0 and the robot starts to move forward. This is done by incrementing the position along the x axis by the cosine of the angle between the horizontal axis and the robot and by incrementing the position along the y axis by the sine of the same angle. At the start of each iteration, before moving the robot, the simulation checks for collision. If an intersection has been detected then before actually changing the position of the robot, the simulation will iteratively increment the robots angle similarly to how it was done in the pendulum states. After updating the position of the robot, the simulation will again do a collision check. Depending on which wheels are not touching the ground, if any, the robot will go in one of the other states.
 
== Discussion ==
There is always room for improvements. The same goes for the design of the robot as well as the simulation. In this section these possible improvements and potentials for further research will be discussed.
 
=== Robot design ===
Looking back at the RPC's, the robot is very succesful in achieving the objectives. The only point it does not fully comply to is:
 
*The robot shouldn't be seen as hostile to the prairie dogs
**You can only speculate how the prairie dogs will react to the robot. Only by testing it you can find it out.
 
The rest of the RPC's are all sufficiently achieved. A minor adjustment could be making certain parts of the robot out of a polymer, so the robot could be lighter. The frame however still has to be made out of metal, with regard to the strength of the robot.
 
Some design aspects of the robot that could be improved:
* Lighter and more efficient battery
* Smaller and lighter frame design
* Better solution for the two sets of catterpillar wheels
* Better solution for the winch
 
=== Simulation ===
As mentioned earlier, the point of the simulations was to show the robots effectiveness in moving through the burrows and mapping them out. In that regard there are still a lot of things that can either be added to the simulation or improved upon. One such thing that applies to both simulations is that both simulate a two dimensional environment. Since the robot is intended to operate in a three dimensional environment, the simulation should likewise simulate a three dimensional environment to provide more valuable data.
 
In the simulation simulating the robots ability to map it surroundings, the sensors work perfectly. They always sense the burrows walls if they are within the range of the sensors and they always sense them at exactly the right spot. In practice, sensory input is not always exact, there often is noise. It is important that the robot can deal with the noise if it needs to create an accurate map of the burrow.
 
Most points of improvement are to be found in the movement simulation. As mentioned before, the robot did not behave as expected in the state where it was supposed to move forward. The wheels would spontaneous move upwards, after which it went into one of the two pendulum states and fell back to the ground. The cause of this would have to be found and fixed. The simulation also still lacks in that it does not simulate the movement of the robot described in on this page specifically. During the process of programming the simulation, the robot was simplified to two wheels connected by a rectangular body. However, the proposed design had a different shape and functionalities and thus would interact with its surroundings differently than the robot in the simulation. Probably the biggest difference is that the robot's design has a cable connected to the back with which it can more safely descent and ascend the burrows. Due to a lack of time, no start has been made to simulating this cable. Lastly, because of the lack of time, some physical laws and attributes of the robot had to be prioritized over others. In the described simulation, gravity and collision had been prioritized since these seemed mandatory to simulate the robots movement. For that same reason collision detection had only been implemented for the wheels. Despite this, there are other physical aspects of the robot and the environment that influence the robots ability to traverse the burrows. As such, it would be better if more physics were to be simulated. Obviously, with more time and resources, the robot itself could have been made and tested in real burrows instead of trying to simulate every aspect. This may also provide more valuable data then a simulation ever could.
 
== Summary ==
A lot remains unknown about the life of subterranean species in their underground burrows. To help ethologists in their research into the behaviour of black-tailed prairie dogs this project was started to design a robot that would be able to navigate the their burrows and make a map of it. In order to achieve this, research was done on pathfinding, black-tailed prairie dogs and mapping.
 
Most pathfinding research was not applicable as they focused heavily on the problem of finding the shortest path, while the problem in navigating the burrow is mostly exploration. For exploration, no complicated pathfinding algorithm is required. Research done on prairie dogs clearly showed a lack of knowledge about the lives of the animals in their subterranean burrows as well as a lack of methods to do research into their underground lives. Thanks to this research, the size of the prairie dogs tunnels are known. However, other than that, there was little to no findings of interest to the design of the robot. Most research done on Mapping focused on mapping out two dimensional environments. Though they prove valuable in understanding the problem of mapping, they are not directly applicable to the problem of mapping underground burrows. However, there was one paper which discussed a very similar problem. Namely, mapping out deserted mines.
 
Due to a lack of time, the simulation ended up unfinished. As a result, it was inconclusive in showing the effectiveness of the design of the robot. With more time it could have been more conclusive. Alternatively, with more time and research, the robot could have been created and tested on real or man made burrows.
 
The design has been mostly finished although there was no opportunity to test it. When thought logically about the design it seems that it will have solutions for all the problems that might be encountered except for one. That one being the problem that the animals might see the robot as hostile and attack it, but for this reason it has been made robust and strong to nullify this problem. The robot will have a battery life of 3.5 hours minimum and the robot will have a mass of 4kg maximum.
<ul>
<li>Initial idea</li>
<li>User and animal</li>
<li>Pathfinding</li>
<li>Prairie Dogs</li>
<li>Mapping</li>
<li>Design</li>
<li>Simulation</li>
</ul>
 
== Effort Table ==
'''Week 1'''
{| class="wikitable"
|-
! '''Name'''
! '''Total'''
! '''Break-down'''
|-
| Nick Reniers
| 7 hours
| Introduction lecture (2h), Meeting discussing subject (2h), Studying papers and editing wiki(3h)
|-
| Jankatiri Boon
| 6 hours
| Introduction lecture (2h), Meeting discussing subject (2h), Studied papers and editing wiki (2h)
|
|-
| Milan Hutten
| 7.5 hours
| Introduction lecture (2h), Meeting discussing subject (2h), Studied papers (3.5h)
|-
| Mendel van der Vleuten
| 8 hours
| introduction lecture (2h), small scale test code (2h), meeting discussed subject (1,5h), studying papers (2,5h)
|-
| Ferenc Sterkens
| 6 hours
| introduction lecture (2h), Meeting discussed subject (2h), reading some papers (1h), making planning (1h)
|-
|}
'''Week 2'''
{| class="wikitable"
|-
! '''Name'''
! '''Total'''
! '''Break-down'''
|-
| Nick Reniers
| 5 hours
| Tutor meeting (20m), Group meeting (40m), recapping graph theory (2h), searching suitable algorithms and writing them (2h)
|-
| Jankatiri Boon
| 5.5 hours
| Exploring and reading literature (3h), setup society and enterprise list (1h), write society and enterprise analysis (1.5h)
|
|-
| Milan Hutten
| 6.25 hours
| Tutor meeting (20m), Group meeting (40m), Composing biological study list (30m), Looking for Interview Candidates (4.5h), Composing list of user needs and animal needs (15m)
|-
| Mendel van der Vleuten
| 5 hours
| Tutor meeting (20m), Group meeting (40m), Exploritory literature research (2h), Studying papers of robots (2h)
|-
| Ferenc Sterkens
| 6 hours
| tutor meeting (20), Group meeting (40m), Looking for interview candidates (3h), mailing candidates (2h)
|}
'''Week 3'''
{| class="wikitable"
|-
! '''Name'''
! '''Total'''
! '''Break-down'''
|-
| Nick Reniers
| 10h
| tutor meeting (20m), group meeting (10m), reading literature on prairie dogs in general (2h), decided to focus on black-tailed prairie dogs and read more in-depth literature on them (4h), filtering relevant information and compactly summarizing it (3.5h)
|-
| Jankatiri Boon
| 6h
| Tutor meeting (20m), Group meeting (10m), Research users (3h), Page lay-out brainstorming and creating tasks for next week (2.5h).
|
|-
| Milan Hutten
| 9.5 hours
| Tutor meeting (20m), Group meeting (10m), Research into mapping out the burrows (9h)
|-
| Mendel van der Vleuten
| 9.5 hours
| Tutor meeting (20m), group meeting (10m), Research into prairy dogs (2.5h), research into mapping (4h), researching methods of tunnel traversion (2h), research relation burrowing owls prairie dogs (30m)
|-
| Ferenc Sterkens
| 6.5h
| tutor meeting (20m), group meeting (10m),  Research into mechanics of robot (4h), Thinking of ideas for design of the robot (2h).
|}
'''Week 4'''
{| class="wikitable"
|-
! '''Name'''
! '''Total'''
! '''Break-down'''
|-
| Nick Reniers
| 7 hours 20 minutes
| Tutor meeting (20m), Group meeting (2h), Meeting discussing project goal and working on simulation code (4h), Reading literature on prairie dogs and writing part on animal needs (1h)
|-
| Jankatiri Boon
| 6h5m
| Tutor meeting (20m), Group meeting (2h), Meeting discussing User Needs (45m), implementing user needs 3h
|-
| Milan Hutten
| 7 hours and 50 minutes
| Tutor meeting (20m), Group meeting (2h), Writing problem statement (1h), Meeting discussing User Needs (45m), Working on the User Needs section (45m), Meeting discussing project goal and working on simulation code (3h)
|-
| Mendel van der Vleuten
| 8 hours and 15 minutes
| Tutor meeting (20m), group meeting (2h), researching/writing how prairy dogs are currently studied (2h), setting up digital work environment (15m), Meeting discussing project goal and working on simulation code (4h)
|-
| Ferenc Sterkens
| 7h
| Meeting discussing project goal (1h), researching requirements (2h), making rpc's (2h), editing mechanics part (1.5h), discussing the design (30m)
|}
'''Week 5'''
{| class="wikitable"
|-
! '''Name'''
! '''Total'''
! '''Break-down'''
|-
| Nick Reniers
| 9 hours and 45 minutes
|  tutor meeting (30m), group meeting (1h), Discord meetings (5h), writing small part on results of simulation (15m), programming in processing and using tutorials and online forums independently (2h), meeting thursday(1h)
|-
| Jankatiri Boon
| 8h 30m
|  tutor meeting (30m), group meetings(personal or discord) (4h30m), Working on robot design (3h30m),
|
|-
| Milan Hutten
| 8 hours
| tutor meeting (30m), group meeting (1h), experimenting with processing (1h), Simulating physics of robot (3h), Meeting Thursday (1h), Discord meeting (1.5h)
|-
| Mendel van der Vleuten
| 9 hours and 30 minutes
| expanding on nicks work, generalizing measurement system for 2d mapping (6h), working on wall connection and hole detection system (3.5h)
|-
| Ferenc Sterkens
| 7.5h
| tutor meeting (30m), group meeting (1h), researching and fixing the RPC's (1h), added the wheels part to the mechanics (1.5h), working on robot design (3.5h)
|}
'''Week 6'''
{| class="wikitable"
|-
! '''Name'''
! '''Total'''
! '''Break-down'''
|-
| Nick Reniers
| 9 hours 30 minutes
| Preparation + tutor meeting (1.5h), Meetings(5h), Expanding simulation + bugfixing and cleaning up code (3h)
|-
| Jankatiri Boon
| 11h
| group meetings(personal or discord) (4h), Working on robot design (5h), Creating description of robot design on wiki(2h)
|-
| Milan Hutten
| 12 hours and 10 minutes
| Preparing for tutor meeting (1.5h), Tutor meeting (40m), Simulating collision (1.5h), figuring out rotation (1.5h), Thursday Meeting (3h), Friday Meeting (1h), Sunday Meeting (1.5h), collision rotation (1.5h)
|-
| 11 hours and 10 minutes Mendel van der Vleuten
|
| Tutor meeting (40m), meeting and working on mapping (1.5h), figuring out rotation (1.5h), Friday Meeting (1h), Saturday Meeting/working (4h), collision rotation (2.5h)
|-
| Ferenc Sterkens
| 11h
| Meetings (3h), working on robot design (2h), working on the model of the robot (5h), motivation of the robot choices (1h)
|}
'''Week 7'''
{| class="wikitable"
|-
! '''Name'''
! '''Total'''
! '''Break-down'''
|-
| Nick Reniers
| 14.5h
| Tutor meeting (0.5h), Monday-,Tuesday-,Wednesday-,Thursday-,Saturday-,Sunday meeting [Physics simulation] (~14h)
|-
| Jankatiri Boon
| 12h
| Meetings (3h), working on the model (7h), model description (2h)
|-
| Milan Hutten
| 14.25 hours
| Tutor meeting (0.5h), Monday meeting [Physics simulation] (3h), Tuesday meeting [Physics simulation] (2h), Wednesday meeting [Physics simulation] (2.5h), Cleaning code (1h), Thursday meeting [Physics simulation] (1.75h), Saturday meeting [Physics simulation] (2h), Sunday meeting [Physics simulation] (1.5h)
|-
| Mendel van der Vleuten
| 17 hours
| Tutor meeting + combining rotation and gravity phsysics (4h 20m), bugfixing physics (2h 30m), collision (2.5h), bugfixing collision collision (1h 40m), driving (2h), driving (2h), driving bugfixing (2h)
|-
| Ferenc Sterkens
| 12 hours
| meetings (3h), working on the model (7h), model description (1h), miscellaneous (1h)
|}
'''Week 8'''
{| class="wikitable"
|-
! '''Name'''
! '''Total'''
! '''Break-down'''
|-
| Nick Reniers
| 12h 20m
| Tutor meeting (30m), Monday meeting [Task division] (20m),  Friday meeting [Rewriting Simulation] (4h), Sunday meeting [Discussion section, Summary and figuring out video editing program] (2h), Final touches on report (1h), Cleaning up code and making video for demonstration (1h), Making powerpoint presentation (2h), Monday meeting [Finalizing project] (1h), Making text and voice recording for presentation (30m).
|-
| Jankatiri Boon
| 11h 30m
| Tutor meeting (30m), Meeting about NX design (4h), component research (3h),  Finalizing design of robot in wiki (4h),
|-
| Milan Hutten
| 13 hours and 45 minutes
| Tutor meeting (0.5h), Monday meeting [Task division] (20m), Setting up references (2h and 20m), Rewriting Mapping (50m), Friday meeting [Rewriting Simulation] (4h), Discussion section (1h), Sunday meeting [Discussion section, Summary and figuring out video editing program] (2h) Miscelaneous tasks (1h), Monday meeting 2 (45m)
|-
| Mendel van der Vleuten
| 14h 40m
| Tutor meeting (0.5h), final attempt at bug fixing (2h 40m), simulation description (30m), Friday meeting [Rewriting Simulation + looking for video editing software](4), studying video editing software + testing (3.5h), finalizing video and code (3h 30m).
|-
| Ferenc Sterkens
| 12h 30m
| group meetings (0.5h), Model design meeting (4h), components and calculating the workings of the robot (2.5h), finalizing the model (5.5h)
|}
 
== Initial research ==
'''A robotics-oriented taxonomy of how ethologists characterize the traversability of animal environments'''
surveys 21 studies of how ethologists characterize the environments through which animals traverse and groups the found characteristics into three broad catergories: local navigational constraints, surface properties, and global layout properties. From these the article makes four recommendations to aid roboticists in selecting a suitable robot for particular environments, building testbeds for the testing and comparing of robots and the collection of data about an environment.
 
'''Burrowing rescue robot referring to a mole's shoveling motion''' proposes an novel inspecting robot designed to inspect survivors at landslide disaster sites. Its proposed propulsion method is inspired by the shoveling motion of a mole.
 
'''Deformable Octahedron Burrowing Robot''' explores the use of a deformable octahedron robot for the autonomous exploration of complex confined spaces. Unlike most other robots, it is able to adapt its shape to better traverse intricate sections of cavities.
 
'''Soft Robotic Burrowing Device with Tip-Extension and Granular Fluidization''' proposes a soft robotic device that burrows through dry sand, leveraging the principles of both tip-extension and granular fluidization.
 
'''A Remote Operated Multi-Tracked Vehicle for Subterranean Exploration of Gopher Tortoise Burrows''' discusses a topic closely related to the one discussed on this page. This article describes a remotely operated vehicle designed to survey and investigate gopher turtoise burrows for the estimation of populations.
 
'''CRABOT: A Biomimetic Burrowing Robot Designed for Underground Chemical Source Location''' describes a prototype burrowing robot called CRABOT developed to help find leaks in undergroud piplines transporting chemicals.
 
'''Cockroaches traverse crevices, crawl rapidly in confined spaces, and inspire a soft, legged robot''' explains how cockroaches way of traversing small crevices support a model of a new unexplored mode of locomotion "body-friction legged crawling" which could be applied in robotics.
 
 
'''Towards a Mobile Mapping Robot for Underground Mines''' describes a robot platform which can help construct 3D environment underground mappings.
 
'''Development of Search-and-rescue Robots for Underground Coal Mine Applications''' describes the design and development of a coal mine rescue robot which can be used as a reference.
 
'''Autonomous Robotic Monitoring of Underground Cable Systems''' investigates the possibility of autonomous robotic mobile platforms for monitoring infrastructures
 
'''PATH FINDING - Dijkstra’s and A* Algorithm’s''' summarizes and elaborates on famous path finding algorithms
 
'''A shortest-path algorithm for solving the fleet management problem in underground mines''' uses a shortest path algorithm to manage and schedule underground infrastructure
 
'''A Robotic System for Underground Coal Mining ''' "describes a system that automates a continuous miner, enabling it to maneuver in highly constrained environments..."
 
'''An underground explorer robot based on peristaltic crawling of earthworms''' takes inspiration from the earthworm to develop a robot that uses peristaltic crawling which is useful for underground exploration
 
 
 
 
'''Evolving Sparse Direction Maps for Maze Pathfinding''' This paper focuses on evolving data that allows an entity to reach a point quickly from any other point in the maze. This kind of map is generated by a simple genetic algorithm. But this method did not necessarily give the shortest path.
 
'''View-Based Cognitive Mapping and Path Planning''' A view graph is created where views are seen as nodes and the movement between views are seen as edges. This graph retains the topological and directional structure of the maze. A neural network can learn the view graph during a random exploration which then allows it to generate expectations about which views will be encountered next.
 
'''Design and Implementation of a Path Finding Robot Using Flood Fill Algorithm''' This article tries to find out how effective the flood fill algorithm is for maze solving. This algorithm was implemented in a small robot with ultrasonic range sensor and wheel rotation decoders. The robot was able to map the maze and afterwards would do a second run where it tried to find a shortest route to the goal.
 
'''Portal-Based True-Distance Heuristics for Path Finding''' This article introduces a new true distance memory based heuristics as a way to obtain admissible heuristics for explicit stat spaces.
 
'''Micromouse : Maze solving algorithm''' This article is about the creation of a small scale robot which navigates a maze based on sensors, the algorithm used was based on the bellman flooding algorithm with a maze consisting of 16x16 cells.
 
'''Path finding simulator for mobile robot navigation''' This paper is focused on creating a path finding simulator for pioneer 3dx mobile robot. The simulator is provided with multiple algorithms, it can then use any or multiple them (with comparison) to find the shortest possible route.
 
'''Solving a Reconfigurable Maze using Hybrid Wall Follower Algorithm''' This paper expands on the wall follower method of solving a maze, the new algorithm combines left and right hand rules and tests them on several mazes. This hybrid algorithm improved the maze solving abilities significantly compared to just following the wall.
 
 
'''G. Kouros, I. Kostavelis, E. Skartados, D. Giakoumis, A. Simi, G. Manacorda, D. Tzovaras, 3D Underground Mapping with a Mobile Robot and a GPR Antenna, 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2018), Madrid, Spain, October 2018'''
This paper focuses on scanning subsurface environments using a GPR antenna. This information is then used to create a 3D model of the system.
 
'''Kevin James Worrall, David Firstbrook, Thaleia Flessa, Euan McGookin, Douglas Thomson, Patrick Harkness, “Modelling and Control of a Biologically Inspired Trenchless Drilling Device”, in The 12th International UKACC Conference on Control, Sheffield, UK, 5-7 Sept 2018'''
This work presents the methods used and initial findings of the control of the model for an autonomous trenchless drilling device, with bioinspired worm-like locomotion. The model is validated using Inverse Simulation. The initial control is detailed with data from the simulation and experimental device.
 
'''G. Kouros, C. Psarras, I. Kostavelis, D. Giakoumis, D. Tzovaras, Surface/Subsurface Mapping with an Integrated Rover-GPR System, A Simulation Approach, IEEE International Conference on Simulation, Modeling and Programming for Autonomous Robots (SIMPAR 2018), Brisbane, Australia, May 2018.'''
This paper further focuses on the GPR antenna robot, only this time it has an intregrated antenna which allows it to seamlessly integrated to build adjunct surface and subsurface maps.
 
'''A. Simi, D. Pasculli, G. Manacorda, “Badger project: GPR system design on board on a underground drilling robot”, 10th International Workshop on Advanced Ground Penetrating Radar (IWAGPR 2019), Hague, The Netherlands, Sep 2019 '''
The present paper presents some results of EU founded project called Badger, the first underground robotic system that can drill, maneuver, localize, map and navigate in the underground space, and which will be equipped with tools for constructing complex geometry networks of stable boreholes.
 
== References ==
<references/>
 
== Deliverables ==
[https://github.com/MHutten/burrowRobot.git "GitHub"]
[https://youtu.be/EsRnDQcMS-M "Video Presentation"]

Latest revision as of 12:38, 10 April 2020

Research robot for the burrows of prairie dogs


Group members

Name Study Student Number
Nick Reniers Technische Wiskunde 1258362
Jankatiri Boon Werktuigbouwkunde 1003254
Milan Hutten Software Science 0997241
Mendel van der Vleuten Technische Wiskunde 1262564
Ferenc Sterkens Werktuigbouwkunde 1022090

Introduction

A lot of research has been done into flora and fauna all over the world, but our knowledge of subterranean species remains relatively limited. This is in large part due to our inability to study these animals without destroying their burrows and scaring them away. Most current techniques require destruction of subterranean burrows or even killing the animals. This makes certain fields such as ethology, the study of animal behaviour, very difficult or impossible to practice. The field of robotics could provide a solution in the form of an autonomous robot capable of traversing subterranean burrows and recording the animals. This page describes a robotic system designed to study the behaviour of black-tailed prairie dogs within their burrows.

Problem statement

Animals have been studied for almost as long as humans exist. Whether it is to benefit from the acquired knowledge or purely out of fascination, we have continuously tried to understand the lives of different animal species and how they interact with the world we inhabit. One such species is the black-tailed prairie dogs that live in prairies of western North America. Although a lot is already known about them, there still remains a lot to discover. Mainly about their lives underground. One professor who has been studying these prairie dogs is John L. Hoogland. In his book "The Black-Tailed Prairie Dog: Social Life of a Burrowing Animal"[1] he describes the behaviour of these animals in their natural environment and the methods he used to acquire this information. He begins his book by explicitly mentioning in the preface that the information gap between what there is to know about black-tailed prairie dogs and what he was able to learn is enormous. Throughout the book he mentioned whenever he had to make assumptions about their behaviour because he was unable to prove them such as their sleeping behaviour and what happens to individuals when they perish as a result of disease, old age and poor conditions. Most of these assumptions were made because he was unable to observe their behaviour underground within their burrows. Hoogland did not have the tools to infiltrate the burrows without disturbing the prairie dogs and keeping them in laboratories is difficult as they do not breed reliably in those environments. Moreover, the prairie dogs behaviour might be different in laboratories from that in the wild, which could explain why their reduces breeding. This makes studying the behaviour of black-tailed prairie dogs, and presumably other burrowing animal species, while in their burrows very difficult if not impossible without the right tools.

Users

Users Society Enterprises
Researchers Towns closeby Robot manufacturers
Engineers Universities
Animal caretakers Zoo's

Many people and institutions have some relation with subterranean species in one way or another. Examples are given in the table above, such as zoo's exhibiting and caring for these animals and farmers whose harvests can be positively or negatively influenced by the presence of these animals. The table also shows potential stakeholders of the robot such as the manufacturers that will be building these robots. However, for the analysis of the user and their needs, the focus is on the researchers as users, more specifically researchers that specialize in ethology, the study of animal behaviour under natural conditions, and hence study the behaviour of the black-tailed prairie dogs. In the problem statement it was mentioned that the behaviour of black-tailed prairie dogs can still be researched quite a lot, therefore ethology was chosen as our main focus.

Ethology research method

As mentioned before, ethology is the study of animal behaviour under natural conditions. Hence, a large part of the study is observing the animals in the wild. This can be done by observing in person or using cameras to observe remotely. One of the problems with observing in person that arises once we are talking about subterranean species is that you cannot observe them in their natural conditions as you cannot enter their burrows without disturbing the animals. An advantage that cameras have over observing in person is that you do not have to be physically at the location to observe the behaviour. This could provide a solution to the problem described in the problem statement. However, in order to place the camera's manually, the burrows still have to be entered which will inevitably disturb the animals. In theory, the advantage of a robot could be that they can enter the animals burrow without disturbing them and recording their behaviour for the researchers to analyze.

User Needs

In order to create a well-founded conclusion, the demands and preferences of ethologists, the field of ethology itself and the animal species to be studied must be taken into account. The list beneath sums up the most important needs of the users.

  • Ability to observe the animals within their burrows
    • This is the most important step in improving the current research method since this does not happen without disturbing the animals heavily.
  • Visualisation of burrows
    • Some behaviour could be explained if a link can be created to seperate specials rooms or tunnels if they are found by mapping the burrows.
  • Keep track of population growth
    • The animals behaviour might change based on the size of their colony, therefore it is favourable to know how big the population is.
  • Minimal disturbance of the animals
    • It is important that the animals get disturbed as little as possible so that the natural conditions can be preserved as much as possible. Less disturbance means more reliable results

RPC's

To find out what we can and can't do, and make sure that the project is useful and true to what we want. We will set up a RPC list which stands for Requirements, Preferences and Constraints. These guidelines will make sure that our project and results will be done fitting the needs of the user.

Requirements:

  • Map the usefulness of the rooms with respect to each other to 100 percent accuracy.
    • The ethologist could not confirm where the prairie dogs did their eating, sleeping and defecating. but he wrote it like he was curious of it.
  • The robot needs parts to be able to climb 90 degree slopes.
    • The burrows of the prairie dog are mostly angled downwards. After the robot drove down and collected all the essential data, it needs a way to go up. Otherwise it will be stuck and that would be a waste of either the burrow or the robot.
  • It needs to be 100% electric.
    • Oxygen is essential to the prairie dogs, so if we were to use combustion engines, we would endanger these animals and force them out of their homes. That is why it is crucial that we use a fully electricity powered robot.
  • The robot needs to be able to turn more than 2 ways.
    • Otherwise it wouldn't be able to discover multiple holes and find out the entire burrow.

Preferences:

  • It needs to be able to be charged easily by for example USB.
    • As it is convenient and doubles as a way to transfer the information gathered by the robot.
  • The robot shouldn't be seen as hostile to the prairie dogs.
    • As that would ruin part of the experiment and ruin their homes which is not something we are looking for.
  • The robot can't be fragile.
    • As it might break inside the corridors because of drops from heights or possible attacks from the prairie dogs.
  • The mapping should give a good enough idea of the surroundings.
    • We would like a nice reference system that can be used for research which is why that is important.
  • The natural conditions wouldn't be disturbed by the robot.
    • This again would add changes or possibly ruin the homes of the animals which isn't desirable
  • The tires need to have high traction.
    • High traction is necessary to keep slip from happening as much as possible.
  • The robot needs to have a way to climb.
    • Going down wont be that big of a problem but it needs a way to go up again otherwise you wouldn't be able to gather the data or reuse that robot.
  • Be able to trace back and return to the user after completing its tasks.
    • This also applies to the idea that the robot needs to be regathered to convert information for research and reuse.
  • Safely and autonomously navigate the specified underground systems.
    • We want it to be able to discover the pathways by itself so that it can map the system accurately and more information comes to light about these animals.

Constraints:

  • The robot has a maximum height and width of 10 cm.
    • It needs to be able to fit inside the holes and pathways made by the prairie dogs.
  • The robot can't use combustion as propulsion.
    • This would remove all the breathable air out of the system and would make the home of the prairie dogs unlivable. Combustion engines might even kill the prairie dogs due to carbon monoxide poisoning.
  • It can not be longer than 20 cm.
    • This is also necessary because the animals might make sharp turns which the robot should be able to maneuver in.


The Requirements, are the things that the robot needs to have and are things we can measure and confirm afterwards. The Preferences, are the things that we would like our robot to have and which we will try our best to comply to. The Constraints, are the things that can not be crossed else the product would not work or fit for our purpose.

Path finding

Given that we want to map underground tunnels of a specific species of subterranean animals, we need a systematic and preferably mathematically adequate way to represent different important aspects of the tunnels. The most straightforward way to do this is by the usage of the mathematical objects that are graphs. A graph G is a tuple G=(V,E) consisting of a vertex set V and an edge set E. Here, the edge set E contains unordered pairs of vertices between which an edge is present. There is also a variant of graphs in which the vertex pairs are ordered, but for the purpose of tunnel mapping, this is inconvenient. We can also consider the concept of a multigraph, in which multiple edges are possible between the same two vertices, this may be the case for some certain species of animals, but this demands further research. For now, we will assume simple undirected graphs as representatives for the tunnels of our species of animals.

For the purpose of mapping an underground tunnel system in general, one can deploy a multitude of graph algorithms. The most obvious algorithms for this purpose are depth first search and breadth first search, which greedily traverse a graph (representing the underground system of the animal). We can also look into finding specific points of interest depending on the animals we want to investigate. For example, one may be particularly interested in finding a nest in a mole underground system. For such purposes, specialized search algorithms that take into account the known properties of such points of interest, may be optimal.

Given that we have found the graph corresponding to the subterranean structure we want to investigate, we can look at some interesting properties of the graph. Examples would be the minimum spanning tree of the graph or the (non-)existence of cycles and connectedness.

When talking about path finding in robots it is also necessary to think of ways for the robot to follow a path. Considering we will be working underground and partially above ground in places made constructed by animals, it would be a good idea to look into how these animals move or to inspire the movement of the robot on biological movement. In the paper "Biologically Inspired Locomotion Strategies: Novel Ground Mobile Robots at RoMeLa" a few designs are discussed on moving forward on land. The first robot is a concept that is closely related to tracks. This design is inspired on single celled organisms such as amoeba. An elongated torus continuously rolls such that there is a system similar to 360 degree track system. This could be very useful for our goals, but difficulties will lie in gathering and collecting data. The second design involves a robot with 3 legs, This design makes use of a swinging third legs, so it needs a lot of space. This is not something which would be useful for underground or small above ground burrows/nests. The robot MARS utilizes six axi-symmetrically arranged limbs, this robot is well adapted for crawling over uneven terrain, which is what we are interested in. But it does not perform well in tunnel systems. It also uses gecko-like dry adhesive to stick to surfaces, but as we are not dealing zero gravity this will most likely not be necessary. So depending on what our final goal is this robot may or may not be of interest. The IMPASS robot has wheels like structures to move forward, it has 6 spokes with small foot like platforms so it can roll. The thing that makes this robot stand out is that the spokes can change in length allowing for better traversing of rough terrain and more stability. Again this robot seems very adept at walking on ground, but less so underground. Finally a humanoid robot is presented but this is very impractical for our goals.

Prairie dogs

Prairie dogs are herbivorous rodents that create interesting burrows, native to the grasslands of North America. There are five species of prairie dogs: black-tailed, white-tailed, Gunnison's , Utah, and Mexican prairie dogs. [2]

Black-tailed prairie dogs

In this project, we will focus on the black-tailed prairie dogs. We chose the black-tailed prairie dogs because they are the most abundant species of prairie dogs. Furthermore, the knowledge on this specific species seems to be richest. Since we have to concretize our project, we had to make a choice and could not investigate every species of prairie dogs available.

Current researching method

The behaviour of prairie dogs is currently studied by observing them while they are above ground. When it comes to food foraging, individuals are observed also excretion and stomach contents are analysed to determine what kind of diet prairy dogs have. Similarly,general behaviour near burrows is researched by observing them from outside of the burrow. There have been a few excavations of burrows to find their general structure, but all of these were done in such a fashion that the burrow was completely destroyed, which is something that we would like to steer away from.


Description

Usually, black-tailed prairie dogs have a body that is 36 to 43 centimeters tall and weighs roughly 700 to 1500 grams, where the males tend to be heavier than the females. Their bodies are also very compact, and they have black long claws that are used for digging. The black tailed prairie dogs are usually colored a pale tone of brown, with a black spots on their tail. These points of information may be useful for letting our robot recognize the animals when exploring their burrows, alternatively we may use heat sensors to detect them.

Social life and habits

Black tail vibe zone.png

Black-tailed prairie dogs live in prairies of western North America. An image of their geographical distribution is shown on the right. The species is very colonial, colonies of the black-tailed prairie dogs may contain thousands of members, their territory stretching out kilometers in all directions. Colonies are further subdivided in a couple of wards that are based around topographic features such as hills. These ward themselves can then be subdivided into coteries. These coteries consist of groups of one or two men with a number of women and their offspring. [3]

Black-tailed prairie dogs are also diurnal, meaning that they are typically active during daytime. As such, their foraging tends to happen from dawn to dusk. During winter, they do not hibernate and continue to forage. At night however, they go in a state of torpor which is similar to hibernation but shorter and involuntary.

Burrows

Burrows are underground tunnels that have at least one opening at the surface. Prairie dog burrows are essential to defend the species against predators and weather circumstances. The diameter of such a burrow is usually around 10-30cm at the surface and a little bit more narrow underground. The depth of these burrows is generally around 2-3 meters with a length of 5 to 10 meters, but they can range to 33 meters long and 10 meters deep. Burrows can have one of multiple functions, spending the night, bringing up offspring or refuge from weather circumstances and predators. This may then explain the variety of width and length of different burrows. Burrows for raising the young, nursery burrows and burrows for submergence at sunset, contain one or two nest chambers that are filled with dry grass. These chambers tend to be around 30 centimeters high and 50 centimeters high, these chambers are shown to be used for raising the juvenile and are hypothesized to be used as sleeping chambers for the adults. There also exist smaller chambers that are not used for these purposes, they can usually be found around 1 meter below the surface and are thought to function as turnaround points or temporary hideout that allows for listening to threats from above the surface. The sharing of burrows is very common, not only from generation to generation but members of a coterie also have access to a multitude of burrows. [4]

There are a couple of predators that hunt prairie dogs, these predators can either hunt on them from above the surface or below the surface. Examples of above the surface predators are coyotes, bobcats and aerial predators. Snakes, American badges and black-footed ferrets hunt on prairie dogs from below the ground. Little is known about prairie dogs that die from natural conditions, but evidence suggests that this mostly happens below the ground and that dead bodies may be pushed out of the burrows by the other prairie dogs. There are also cases where bones where found in burrow mounds, they may have been carried above the ground when excavating or renovating burrows.

Burrow mounds have some interesting functionalities. First off, burrows help the prairie dogs protect against flooding rainstorms, which can occur in the areas they tend to live in. Prairie dogs have furthermore been seen to frequently run to the mounds in times of suspected danger, this is thought to be because the mounds allow for efficient scanning for predators. Most fascinatingly, burrow mounds stimulate Bernouilli's principle, thus creating better ventilation. This may especially be important in longer burrows.

Animal needs

In this chapter, we have seen that a lot of information about the life of the black-tailed prairie dog is still unknown. Interesting examples are the lack of knowledge about the way deceased prairie dogs are handled by other prairie dogs, the areas in which prairie dogs defecate and the possible use of nest chambers as sleeping places for prairie dogs. These might seem like relatively simple issues, but the lack of ability to investigate the burrows of prairie dogs makes it so that we have to rely on intuition and suspicions rather than hard evidence. We opt to design a robot that traverses the burrows to search for evidence of certain suspicions that we have about subterranean behavior of the black-tailed prairie dogs.

Given our task of designing such a robot, there are a few things that we have to keep in mind. First off, we have to create our robot such that it does not significantly disturb the prairie dogs. We try to avoid this because it might lead to unusual behavior of the prairie dogs, while we are interested in the usual behavior. We must thus assure that the prairie dogs can keep living their everyday live without taking notice of our investigations. If we are able to construct a robot that satisfies this criterion, we must also assure that we do not damage the burrows or hurt the chances of survival of the prairie dogs in any other way. At last, our robot must of course be able to investigate the behavior in which we are interested. A way of investigating the sleeping and defecating behavior of the prairie dogs may just be to traverse the burrows while recording. The problem is that we then only find information about a slice of the everyday life of the prairie dog. For the aforementioned issues, it may be more interesting to research the life of the prairie dogs in continuity. We can achieve this by setting up cameras in certain points of interest inside the prairie dog burrows. This way, our robot has to traverse the burrows only once to set up cameras, while still allowing us to look into long-term behavior of the prairie dogs. Setting up cameras would be ideal, but very complicated. We would have to build a robot that can set up cameras and deal with the potential wiring of cameras. A good alternative would be to let the robot itself film the prairie dog chambers with for example a thermographic camera. Another idea we had was to attach some sort of camera to the prairie dog as to gain information about its daily life. We chose to not go down this path, because the cameras may hinder the prairie dogs too much.

Mapping

This section discusses several methods of mapping described in found articles as well as the slides form the course "Interaction with social robots" (0LSUD0)[5] and how these are applicable to the problem discussed on this page.

Basics

The slides from the course "Interaction with social robots", more specifically, slide set 3 from week 2 about robot navigation provides a strong basis for mapping of environments. The slides discusses three ways to represent an environment. These are using a continuous metric, a discrete metric and discrete topological. In a continuous metric, the world is described using coordinates (x and y) and angles (θ). In a discrete metric, the world is described along a grid. Exact angles are mostly lost, but relative positioning between locations and distances are mostly retained. In discrete topological only relative positioning between locations are retained. From the perspective of the robot, which has to navigate through the burrows and could use a map to help him with that, the continuous metric seems to be the best choice. The more accurate the map is, the more useful it is for navigation. However, the accuracy is of less importance to the ethologist. The ethologist is interested more in the functionality of rooms and corridors in the burrows. As such, they are more interested in the relative positioning and distances of rooms and corridors than exact coordinates. Thus a discrete metric or even discrete topological representation would suffice for the ethologist.

The slides discuss two problems with map building, these are keeping track of changes in the environment and the representation and reduction of uncertainty of the robot. The latter is a general problem with robot navigation, though a bit more complicated to deal with due to the extra dimension of the problem, but the first is of greater interest to us. Prairie dogs change their burrows over time, for example to accommodate more of them. This is a problem the robot is more likely to run into if it repeatedly has to explore the same burrow. On top of that, if the robot cannot tell the difference between the walls of the tunnels and the prairie dogs, then they will perceive them to be part of the burrow. Then when the prairie dogs move, which they will inevitably do, the burrow will seem to have changed from the robots perspective.

3 Dimensional Mapping

Most of the articles found that discussed mapping were only interested in 2-D maps. However, "A System for Volumetric Robotic Mapping of Abandoned Mines"[6] explores the possibility of using robots to create 3-D maps of abandoned mines, a very similar problem, though at a different scale.

The paper describes two robotic systems designed for accurate volumetric maps of underground mines. The way these two designed move around is not of much interest as they are manually operated by humans. One of them even needs to be pushed forward by people, making the design useless for mapping out Prairie dog burrows. However, the technology used for the mapping itself is applicable. Both designs use laser range finders to sense the environment and create a 3-D map by firstly creating a 2-D map with a scan matching algorithm and secondly applying the same algorithm on 3-D measurements after the 2-D map has been completed.

Although the mapping algorihm is made to visualize a 3-D environment, these robotic systems are mainly designed to map out planar environments, but can still perform decently in non-planar environments by estimating the tilt of the sensors to reduce error in mapping. However, the authors do not discuss how much tilt the robotic systems can deal with. This is important to know for the mapping of prairie dog burrows as the tunnels dug by the prairie dogs that our robot has to map out can be very steep. If there is a limit to how much the sensors can tilt before the error becomes to severe, then a better solution might be to modify, if possible, the algorithm such that it can deal with the extra dimension and angle. Depending on how exactly the robot will move through the burrows, modifying might be the preferred option as the robot could also have to deal with the possibility that it is slightly tilted along the other axis or even fully upside down.

Robot design

Mecanum wheel
Spiked wheel
Catterpillar wheels

To have a working robot, the mechanical parts are the most important and essential part of the robot. Without these the robot is rendered useless. The different parts also have to be chosen wisely as they need to be just right for the robot. For example the sensors need to be not only precise but also resistant to dirt and other small obstacles and the wheels need to be big enough for the terrain but small enough to maneuver. Eventually this all comes down to the RPC's.

To start off we will make a general overview of all the parts such a robot should have, and after deciding on a design, another list with the specific parts will be made. The robot should have wheels and a way to accelerate the wheels, which is possible with either multiple motors or with a central motor and a drive shaft. The robot should also have tires or spikes so that it has enough grip to move forward. The steering of the front shaft should also be possible in the robot, else we would have a problem at corners.

The different parts we will need are:

  • Wheels and tires
  • Suspension (This depends on the design we decide to chose)
  • Steering mechanism
  • The body of the car
  • The engine(s)
  • The battery

The Wheels

After some research on wheels there were 3 types of wheels in my mind, either very high traction wheels with small spikes or chains around it, to minimize slippage, caterpillars, or mecanum wheels. The latter are omnidirectional which means that the car would be able to move in all directions independent of the direction in which the wheels are facing. Thus using these wheels would remove the need of a steering system. This feature would be really useful in tight spaces.


Unfortunately there is one very big drawback here, the wheels aren't very resistant to dirt and little rocks, this would jam the wheels and make them nothing more than glorified normal wheels with low traction. Hence these wheels wont do well in practice, which is very unfortunate. So there are only 2 options left, either caterpillars or high traction wheels with some sort of steering system. The high traction wheels, will be more responsive and able to steer a lot faster. Here you can see the wheels that would be acceptable.


Finally the caterpillars, these are easy to program and very robust, the steering works easily by slowing one side down and speeding one up. You can maneuver these kind of wheels very well, as you are able to turn around in tight spaces. The traction is also really good so it seems that these will be ideal for turning in the prairie dog burrows. You can see a picture that would best fit our case below.

Suspension

Angled suspension

Suspension is a vital part of designing the model. It makes sure that the organs; the motors, sensors, battery and other electric components do not get damaged. As the robot drops down or drives over bumps there will be vibrations that can disturb the components. To prevent this from happening a suspension will convert the impact vibration in to smaller but longer lasting vibrations which will not be powerful enough to affect the parts in the robot.

Suspension for caterpillar wheels is a lot different from suspension of normal wheels. Normal wheels are all suspended to the body even the ones that are driven, caterpillar wheels are different because of the reason that the driven wheels are stationary and there are separate wheels for the suspension. This makes the design a lot easier as suspension is usually a very complicated part in normal wheels. There are 2 different ways to apply suspension to the wheels of the robot, namely angular suspension and direct suspension.

Angular suspension is usually very good for robust and heavy vehicles, as you can increase or decrease suspension by altering the distance of the springs. This is because you can create a lever by placing the spring closer or further away from the rotation point. The angular suspension can be seen in the picture.

Now because the robot will not be very heavy, it seems that making an angular suspension would be redundant and unnecessarily over-complicating the model. Thus the decision was taken to go for a direct suspension over the wheels of the robot. The robot will have a certain mass divided over the different wheels, and the springs will therefore be chosen by dividing the spring force necessary over the different wheels. The suspension chosen can be seen in the pictures of the model.

Steering mechanism

The robot will need a way to steer as the tunnels made by prairie dogs will not be 2D. But because the robot will have caterpillar wheels, The steering will be done by accelerating one wheel more than the other, which is the way in which steering is usually done.

The body

Ideally the robot should not weigh much, since having more weight increases the strain on the engines. However that is not the only propertie that needs to be taken into consideration. Most robots are either made of steel or aluminum. Here are some pros and cons for both material, based on some relevant properties[7] of the materials:

Strength

  • Steel is a very strong and durable material, stronger than aluminum. The moduli of iron are significantly higher than that of aluminum. For example the Young's modulus of iron equals to 211 GPa and the Young's modulus of aluminum equals to 70 GPa. However, the robot is going to be really small so it will not weigh much with either material. So the strength of aluminum is already high enough for this case. In this case aluminum is the winner here.

Density

  • Steel is very dense, due to the high density of iron itself and the high concentration of carbon atoms that place themself in the crystalstructures of iron. The average density of steel equals to 7900 kg/m^3 and aluminum's density equals to 2700 kg/m^3. Aluminum is the clear winner here since a heavy robot is far from desirable.

Cost

  • Aluminum costs around $1.50 per kg and the steel price ranges from $0.70 to $1.60 per kg. However, steel is almost three times denser than aluminum. Taking into account that the same volume is needed in either case for the robot, aluminum will weigh three times less. Therefore aluminum will be the better choice between the two options.

Corrosion resistance

  • Aluminum has a much higher corrosion resistance than steel. This is because the oxidation of aluminum creates a protective layer around the metal, whereas with steel this is not the case. It is not known if the burrows of the prairy dogs are moist, if so then aluminum will not deteriorate which makes it the better choice.

Concluding, the body of the robot will be made of aluminum because of its lower density, better price, high enough strength and superior corrosion resistance.

Engine

To start off, a combustion engine was not even considered since this would impact the the prairie dogs too much. This is because of the exhaust gasses and the noise produced.

  • For the winch engine, a simple electrical engine[8] was chosen with a voltage range of 3-6 volts. The engine delivers 2A on full load
  • For the drive engines a smaller engine was choses, that delivers 1A on full load. Since the robot needs 8 engines in total, 4 on each set of caterpillar, which leads to a total current of 8A. However, only half of the engines will be used, since not both sets of wheels will run at the same time. This will lead to a maximum current of 4A of drive at full speed.
  • Adding these numbers up leads to maximum current needed of 6A, but usually it will only peak at 4A. For the sake of calculating around the worst case scenario 6A will be used.

Batteries

The robot has 423945.6240 mm^3 available in the space inside of it left for batteries. Assuming we can find a company that can deliver customised batteries on request, we take this volume to calculate the energy that can be delivered by the battery. Our calculations will be based on a Lithium polymer battery, which has a energy density of 0.102 mAh/mm^3. This energy density was calculated by dividing the mAh by the volume listed by tinytronics on their website.[9] If we multiply this value by the battery reserved volume, it leads to a total of 43.16 Ah. For the sake of the argument we will only take 80% of this energy to give a more realistic view. The energy storage will then contain 34.5 Ah. With all the added equipment on top of the 6A needed for the engines, we will add 4A on top of that. Dividing 34.5 Ah by a total of 10A will lead to almost 3.5 hours of runtime for the robot. This duration is more then sufficient for our purposes. Recharging the battery would take the same time. This battery would weigh around 1.5 kg.

3D model

Back perspective of the skeletal robot
Back perspective of the complete robot

To give an impression of what the robot would look like, a 3D render has been created using Siemens NX12. The dimensions of the robot are h = 172 mm, l = 185 mm and w = 150 mm. A full version and a skeletal version have been created. The robot needs to be sealed to prevent dirt or other rubble getting in the robot, to prevent prairie dogs getting hurt by the robot if they get stuck and to protect the inner parts of the robot. Let me show you it's features.

  • Two sided catterpillar wheels
    • The burrows of prairie dogs are not even and level. It will be really likely for the robot to tip over and end up on its back. Having two sets of catterpillar wheels you reduce the chance to get stuck significantly. Each set of wheels has it own electric engine and can be activated seperately from one and other.
  • Wheelguard
    • The catterpillar wheels have some added guards which is to prevent dirt and rubble to enter the robot, as well as prevent prairie dogs from getting hurt by the robot if they try to inspect it.
  • Gyroscope
    • In order to know which side the robot is driving on, a gyroscope is added. With it being connected to the circuitry the robot will always know how it is oriented and which set of wheels to activate.
  • Winch
    • Since the burrows also differ in vertical height, a way had to be found for the robot to safely ascend and descend the burrows. Using a winch, the robot can safely descend downwards if the burrows proceeds downward. If the robot reaches a dead end at the bottom, the robot can back up and pull itself back up in order to continue exploring different burrows.
    • The mechaniscm is hooked up to its own electric engine.
    • The mechanism operatos autonomally in accordance with the lasers. If a dead end is detected, the robot will back up and simultaneously the rope will get rolled back on the cylinder.
    • A very thin and strong rope would be used, like a fishing line. The prairie dogs won't be able to destroy the line and it will not be big enough to damage the prairie dogs. Furthermore, the robot will be able to take enough rope length with it since it does not weigh much and take up barely any space. Fishing line with a 0.3mm thickness can hold up to 4.2 kg. For the winch a diameter of 0.5 mm at least will be used, which is more than strong enough for the robot.
  • Observational lasers
    • Lasers have been put on the sides and front of the robot. The function of the lasers is to scan its surroundings and map it accordingly. The robot has a slight angle of 15 degrees. You can see this with the sets of caterpillar wheels. They are not level. This angle has been created so the laser can view the ground and not get lost in the depth of the burrow if it would be straight ahead. This angle works with both orientations of the robot. A back laser is not necessary since that part of the burrow would already be explored.
  • IR camera
    • In order to also observe the behaviour of the prairie dogs, the front laser also has an Infra-Red camera built in the module. A storage module will be stored in the robot where the data of the lasers and the camera will be stored, since submitting it via signal will not work in underground tunnels.
  • Total weight
    • As mentioned the battery weights 1.5 kg. Calculated by NX 12, the robot weighs around 2.5 kg, as most parts are aluminium and the parts that are not are not that significant in weight. This will lead tot a total weight of 4 kg.

Simulation

In order to show the effectiveness of the design of the robot, it should be tested. However, unfortunately there is a lack of time and resources to build the robot and find or create a burrow. An alternative way to show the robots effectiveness is via a simulation. This section describes the simulations made with "Processing" to simulate specific elements of the robot. These are mapping and movement. Mapping as the name suggests simulates the robots ability to sense its surroundings and make a map visualizing it. Movements is about the robots ability to physically move through the burrows. Both simulations are still showing a simplified version of the system. Firstly, both simulations are 2-D. Secondly, the actual robot is simplified in both simulations. In the movement simulation the robot is simply represented by two wheels connected by a rectangle, and in the mapping simulation the robot is represented by a dot. The mapping simulation also has some functionality to simulate the prairie dogs. Both simulations can be found in the appendix.

Mapping

Lasers simulated in mapping
Real burrow vs mapping of automatic run

As mentioned earlier, in this simulation the robot is simply represented by a dot. This is done because this simulation primarily focuses on the robots ability to sense its environment, thus making its physical properties of less importance. The robots sensors for detecting its surroundings are represented by eight lines equally distributed over the robot facing outwards. Their length is the visual representation of their reach. The principle behind the simulation is rather simple, each iteration of the program the simulation checks for each line whether it reaches into the walls of the burrow, represented by dark brown pixels, and then saves at which point it does. Now if the robot moves around the burrow and makes a lot of measurements, it will make an accurate map of its surroundings consisting of a separate points visualizing the walls of the burrow. In the picture on the right, we have given a depiction of the lasers that are simulated by the model, note that the lasers do not extend in the third dimension, since the simulation only considers 2 dimensions.


The simulation has two modes for the movement of the robot. The robot can either move on its own in a rather simplistic manner, or it can manually be controlled. You can switch between the modes by changing the value of the boolean automatic. If this boolean is true then the robot will move on its own, if it is false it can be manually controlled using the W, A, S and D keys. On its own, the robot moves by following the border of the burrow. If there is no border below the robot it will start to fall down while also still moving forward, making it fall down diagonally. When both in the direction that the robot is moving and above the robot there is a dark brown pixel, indicating the wall of the burrow, the robot will change direction.

Furthermore, the mapping program has a feature that spawns prairie dogs in the hole that move around. The prairie dogs are modeled as somewhat bigger and green circles, the robot must detect the prairie dogs as to avoid them and not hinder them. We have not had enough time to write an AI that avoids and tracks the prairie dogs in a sensible way. For now, the robot is towed back to its starting position when it sees a prairie dog. 'Seeing' the prairie dogs means that at least one of the laser that is used to detect walls, meets a prairie dog first. This is not a completely realistic way of detecting prairie dogs, but sufficient for this model. In reality, we can detect movement or use heat sensors to detect the prairie dogs. We assume the towing to work correctly and simply teleport the robot back at its initial position. In the picture on the right, a mapping is shown for the robot in automatic mode, you see that the mapping is not very complete, as the robot spotted a prairie dog in the lower left of the burrow and then stopped.

Movement

Unrealistic situation

In order to properly simulate the movement of the robot, some physical properties of the robot and its environment had to be implemented. In the simulation described in this section, the robot is represented by two wheels and a rectangular body connecting the two wheels. Whenever the simulation checks for collision, it only checks whether the wheels collide with the burrow, the body is ignored. Although this may result in unrealistic scenarios, the assumption is made that these cases are relatively rare.

The simulation checks for collision as follows, for n points on the border of the wheel, n being initialized as 100, the color of the background at that location are checked. If at any of these points a dark brown color is detected it indicates that the wheel intersects the ground and must be corrected such that it does not move into the ground. How this is corrected depends on the state of the robot, which will be discussed later in this section. The simulation must also be able to detect that a wheel touches but does not intersect the ground. To distinguish between the two cases the simulation employs essentially the same procedure as before, but then on a slightly bigger invisible wheel. For convenience sake we call this invisible wheel the outer wheel and the actual wheel the inner wheel. If no dark brown pixel is detected in the outer wheel, then the wheel is somewhere in the air. If a dark brown pixel is detected in the outer wheel but not in the inner wheel, then the wheel touches the ground but does not intersect. If a dark brown pixel is detected in the inner wheel, then an intersection has been detected and needs to be corrected. This collision check is always done before drawing the new state of the simulation. As such, it will appear as if the robot never intersects with the ground.

Within the simulation the robot can at any given moment be in one of four possible states. These are free fall, pendulum with wheel 0 as axis, pendulum with wheel 1 as axis and moving on the ground. In the free fall state, the robot, as the name suggests, is only affected by gravity and falls straight down. It keeps falling until the collision procedure described above detects that at least one wheel intersects with the ground. Once this has been detected it needs to be corrected. Since the robot will always fall straight down in the free fall state, this intersection is easily corrected by moving the whole robot up a pixel at a time until no wheel intersects with the ground anymore and at least one touches it. Depending on which wheels touches the ground after the correction, the robots state changes to pendulum with wheel 0 as axis, pendulum with wheel 1 as axis or moving on the ground.

The states pendulum with wheel 0 as axis and pendulum with wheel 1 as axis are essentially the same, only differing in the roles of the wheels. In these states one of the wheels is stationary on the ground while the other moves through the air like a pendulum. The code to simulate the pendulum effect has been based on the code and video from a youtuber called The Coding Train[10].

Pendulum state showing angles

If the previous state of the robot was free fall, then its latest gravitational velocity, the velocity downwards used in the free fall state, is converted to angular velocity. This is done by multiplying the gravitational velocity of the moving wheel by the sine of the pendulum angle divided by the length of the robot[11]. The pendulum angle is the angle between a imaginary line going straight down from the axis and the robot itself, the red angle in the picture. However, there was one problem with this formula. It assumed that the angle between the velocity vector and the robot, blue in the picture, was exactly 90 degrees. This would not always be the case in the simulation. To find the perpendicular velocity vector the gravitational velocity vector had to be decomposed by multiplying the gravitational velocity with the sine of the angle between the gravitational velocity vector and the robot. To simplify the movement simulation, the assumption has been made that the robot would only fall straight down. As a result, the angle between the vector and the robot always equals the pendulum angle. Hence, the angular velocity is calculated by multiplying the gravitational velocity of the falling wheel with the square of the sine of the pendulum angle divided by the length of the robot.

Correction when an intersection has been detected is essentially the same as in free fall. However, instead of iteratively incrementing the vertical position of the whole robot, it iteratively increments the pendulum angle of the robot by 1 degree until it does not intersect anymore. After the correction, the simulation again changes the state of the robot depending on which wheels touches the ground. It can either change back to its current state or to the moving on the ground state.

Lastly, the robot can be in the state where both wheels are touching the ground. This state contains some unexpected behaviour that has not been solved yet. Here a description is given of how it is intended to work. Any remaining gravitational velocity or angular velocity are set to 0 and the robot starts to move forward. This is done by incrementing the position along the x axis by the cosine of the angle between the horizontal axis and the robot and by incrementing the position along the y axis by the sine of the same angle. At the start of each iteration, before moving the robot, the simulation checks for collision. If an intersection has been detected then before actually changing the position of the robot, the simulation will iteratively increment the robots angle similarly to how it was done in the pendulum states. After updating the position of the robot, the simulation will again do a collision check. Depending on which wheels are not touching the ground, if any, the robot will go in one of the other states.

Discussion

There is always room for improvements. The same goes for the design of the robot as well as the simulation. In this section these possible improvements and potentials for further research will be discussed.

Robot design

Looking back at the RPC's, the robot is very succesful in achieving the objectives. The only point it does not fully comply to is:

  • The robot shouldn't be seen as hostile to the prairie dogs
    • You can only speculate how the prairie dogs will react to the robot. Only by testing it you can find it out.

The rest of the RPC's are all sufficiently achieved. A minor adjustment could be making certain parts of the robot out of a polymer, so the robot could be lighter. The frame however still has to be made out of metal, with regard to the strength of the robot.

Some design aspects of the robot that could be improved:

  • Lighter and more efficient battery
  • Smaller and lighter frame design
  • Better solution for the two sets of catterpillar wheels
  • Better solution for the winch

Simulation

As mentioned earlier, the point of the simulations was to show the robots effectiveness in moving through the burrows and mapping them out. In that regard there are still a lot of things that can either be added to the simulation or improved upon. One such thing that applies to both simulations is that both simulate a two dimensional environment. Since the robot is intended to operate in a three dimensional environment, the simulation should likewise simulate a three dimensional environment to provide more valuable data.

In the simulation simulating the robots ability to map it surroundings, the sensors work perfectly. They always sense the burrows walls if they are within the range of the sensors and they always sense them at exactly the right spot. In practice, sensory input is not always exact, there often is noise. It is important that the robot can deal with the noise if it needs to create an accurate map of the burrow.

Most points of improvement are to be found in the movement simulation. As mentioned before, the robot did not behave as expected in the state where it was supposed to move forward. The wheels would spontaneous move upwards, after which it went into one of the two pendulum states and fell back to the ground. The cause of this would have to be found and fixed. The simulation also still lacks in that it does not simulate the movement of the robot described in on this page specifically. During the process of programming the simulation, the robot was simplified to two wheels connected by a rectangular body. However, the proposed design had a different shape and functionalities and thus would interact with its surroundings differently than the robot in the simulation. Probably the biggest difference is that the robot's design has a cable connected to the back with which it can more safely descent and ascend the burrows. Due to a lack of time, no start has been made to simulating this cable. Lastly, because of the lack of time, some physical laws and attributes of the robot had to be prioritized over others. In the described simulation, gravity and collision had been prioritized since these seemed mandatory to simulate the robots movement. For that same reason collision detection had only been implemented for the wheels. Despite this, there are other physical aspects of the robot and the environment that influence the robots ability to traverse the burrows. As such, it would be better if more physics were to be simulated. Obviously, with more time and resources, the robot itself could have been made and tested in real burrows instead of trying to simulate every aspect. This may also provide more valuable data then a simulation ever could.

Summary

A lot remains unknown about the life of subterranean species in their underground burrows. To help ethologists in their research into the behaviour of black-tailed prairie dogs this project was started to design a robot that would be able to navigate the their burrows and make a map of it. In order to achieve this, research was done on pathfinding, black-tailed prairie dogs and mapping.

Most pathfinding research was not applicable as they focused heavily on the problem of finding the shortest path, while the problem in navigating the burrow is mostly exploration. For exploration, no complicated pathfinding algorithm is required. Research done on prairie dogs clearly showed a lack of knowledge about the lives of the animals in their subterranean burrows as well as a lack of methods to do research into their underground lives. Thanks to this research, the size of the prairie dogs tunnels are known. However, other than that, there was little to no findings of interest to the design of the robot. Most research done on Mapping focused on mapping out two dimensional environments. Though they prove valuable in understanding the problem of mapping, they are not directly applicable to the problem of mapping underground burrows. However, there was one paper which discussed a very similar problem. Namely, mapping out deserted mines.

Due to a lack of time, the simulation ended up unfinished. As a result, it was inconclusive in showing the effectiveness of the design of the robot. With more time it could have been more conclusive. Alternatively, with more time and research, the robot could have been created and tested on real or man made burrows.

The design has been mostly finished although there was no opportunity to test it. When thought logically about the design it seems that it will have solutions for all the problems that might be encountered except for one. That one being the problem that the animals might see the robot as hostile and attack it, but for this reason it has been made robust and strong to nullify this problem. The robot will have a battery life of 3.5 hours minimum and the robot will have a mass of 4kg maximum.

  • Initial idea
  • User and animal
  • Pathfinding
  • Prairie Dogs
  • Mapping
  • Design
  • Simulation

Effort Table

Week 1

Name Total Break-down
Nick Reniers 7 hours Introduction lecture (2h), Meeting discussing subject (2h), Studying papers and editing wiki(3h)
Jankatiri Boon 6 hours Introduction lecture (2h), Meeting discussing subject (2h), Studied papers and editing wiki (2h)
Milan Hutten 7.5 hours Introduction lecture (2h), Meeting discussing subject (2h), Studied papers (3.5h)
Mendel van der Vleuten 8 hours introduction lecture (2h), small scale test code (2h), meeting discussed subject (1,5h), studying papers (2,5h)
Ferenc Sterkens 6 hours introduction lecture (2h), Meeting discussed subject (2h), reading some papers (1h), making planning (1h)

Week 2

Name Total Break-down
Nick Reniers 5 hours Tutor meeting (20m), Group meeting (40m), recapping graph theory (2h), searching suitable algorithms and writing them (2h)
Jankatiri Boon 5.5 hours Exploring and reading literature (3h), setup society and enterprise list (1h), write society and enterprise analysis (1.5h)
Milan Hutten 6.25 hours Tutor meeting (20m), Group meeting (40m), Composing biological study list (30m), Looking for Interview Candidates (4.5h), Composing list of user needs and animal needs (15m)
Mendel van der Vleuten 5 hours Tutor meeting (20m), Group meeting (40m), Exploritory literature research (2h), Studying papers of robots (2h)
Ferenc Sterkens 6 hours tutor meeting (20), Group meeting (40m), Looking for interview candidates (3h), mailing candidates (2h)

Week 3

Name Total Break-down
Nick Reniers 10h tutor meeting (20m), group meeting (10m), reading literature on prairie dogs in general (2h), decided to focus on black-tailed prairie dogs and read more in-depth literature on them (4h), filtering relevant information and compactly summarizing it (3.5h)
Jankatiri Boon 6h Tutor meeting (20m), Group meeting (10m), Research users (3h), Page lay-out brainstorming and creating tasks for next week (2.5h).
Milan Hutten 9.5 hours Tutor meeting (20m), Group meeting (10m), Research into mapping out the burrows (9h)
Mendel van der Vleuten 9.5 hours Tutor meeting (20m), group meeting (10m), Research into prairy dogs (2.5h), research into mapping (4h), researching methods of tunnel traversion (2h), research relation burrowing owls prairie dogs (30m)
Ferenc Sterkens 6.5h tutor meeting (20m), group meeting (10m), Research into mechanics of robot (4h), Thinking of ideas for design of the robot (2h).

Week 4

Name Total Break-down
Nick Reniers 7 hours 20 minutes Tutor meeting (20m), Group meeting (2h), Meeting discussing project goal and working on simulation code (4h), Reading literature on prairie dogs and writing part on animal needs (1h)
Jankatiri Boon 6h5m Tutor meeting (20m), Group meeting (2h), Meeting discussing User Needs (45m), implementing user needs 3h
Milan Hutten 7 hours and 50 minutes Tutor meeting (20m), Group meeting (2h), Writing problem statement (1h), Meeting discussing User Needs (45m), Working on the User Needs section (45m), Meeting discussing project goal and working on simulation code (3h)
Mendel van der Vleuten 8 hours and 15 minutes Tutor meeting (20m), group meeting (2h), researching/writing how prairy dogs are currently studied (2h), setting up digital work environment (15m), Meeting discussing project goal and working on simulation code (4h)
Ferenc Sterkens 7h Meeting discussing project goal (1h), researching requirements (2h), making rpc's (2h), editing mechanics part (1.5h), discussing the design (30m)

Week 5

Name Total Break-down
Nick Reniers 9 hours and 45 minutes tutor meeting (30m), group meeting (1h), Discord meetings (5h), writing small part on results of simulation (15m), programming in processing and using tutorials and online forums independently (2h), meeting thursday(1h)
Jankatiri Boon 8h 30m tutor meeting (30m), group meetings(personal or discord) (4h30m), Working on robot design (3h30m),
Milan Hutten 8 hours tutor meeting (30m), group meeting (1h), experimenting with processing (1h), Simulating physics of robot (3h), Meeting Thursday (1h), Discord meeting (1.5h)
Mendel van der Vleuten 9 hours and 30 minutes expanding on nicks work, generalizing measurement system for 2d mapping (6h), working on wall connection and hole detection system (3.5h)
Ferenc Sterkens 7.5h tutor meeting (30m), group meeting (1h), researching and fixing the RPC's (1h), added the wheels part to the mechanics (1.5h), working on robot design (3.5h)

Week 6

Name Total Break-down
Nick Reniers 9 hours 30 minutes Preparation + tutor meeting (1.5h), Meetings(5h), Expanding simulation + bugfixing and cleaning up code (3h)
Jankatiri Boon 11h group meetings(personal or discord) (4h), Working on robot design (5h), Creating description of robot design on wiki(2h)
Milan Hutten 12 hours and 10 minutes Preparing for tutor meeting (1.5h), Tutor meeting (40m), Simulating collision (1.5h), figuring out rotation (1.5h), Thursday Meeting (3h), Friday Meeting (1h), Sunday Meeting (1.5h), collision rotation (1.5h)
11 hours and 10 minutes Mendel van der Vleuten Tutor meeting (40m), meeting and working on mapping (1.5h), figuring out rotation (1.5h), Friday Meeting (1h), Saturday Meeting/working (4h), collision rotation (2.5h)
Ferenc Sterkens 11h Meetings (3h), working on robot design (2h), working on the model of the robot (5h), motivation of the robot choices (1h)

Week 7

Name Total Break-down
Nick Reniers 14.5h Tutor meeting (0.5h), Monday-,Tuesday-,Wednesday-,Thursday-,Saturday-,Sunday meeting [Physics simulation] (~14h)
Jankatiri Boon 12h Meetings (3h), working on the model (7h), model description (2h)
Milan Hutten 14.25 hours Tutor meeting (0.5h), Monday meeting [Physics simulation] (3h), Tuesday meeting [Physics simulation] (2h), Wednesday meeting [Physics simulation] (2.5h), Cleaning code (1h), Thursday meeting [Physics simulation] (1.75h), Saturday meeting [Physics simulation] (2h), Sunday meeting [Physics simulation] (1.5h)
Mendel van der Vleuten 17 hours Tutor meeting + combining rotation and gravity phsysics (4h 20m), bugfixing physics (2h 30m), collision (2.5h), bugfixing collision collision (1h 40m), driving (2h), driving (2h), driving bugfixing (2h)
Ferenc Sterkens 12 hours meetings (3h), working on the model (7h), model description (1h), miscellaneous (1h)

Week 8

Name Total Break-down
Nick Reniers 12h 20m Tutor meeting (30m), Monday meeting [Task division] (20m), Friday meeting [Rewriting Simulation] (4h), Sunday meeting [Discussion section, Summary and figuring out video editing program] (2h), Final touches on report (1h), Cleaning up code and making video for demonstration (1h), Making powerpoint presentation (2h), Monday meeting [Finalizing project] (1h), Making text and voice recording for presentation (30m).
Jankatiri Boon 11h 30m Tutor meeting (30m), Meeting about NX design (4h), component research (3h), Finalizing design of robot in wiki (4h),
Milan Hutten 13 hours and 45 minutes Tutor meeting (0.5h), Monday meeting [Task division] (20m), Setting up references (2h and 20m), Rewriting Mapping (50m), Friday meeting [Rewriting Simulation] (4h), Discussion section (1h), Sunday meeting [Discussion section, Summary and figuring out video editing program] (2h) Miscelaneous tasks (1h), Monday meeting 2 (45m)
Mendel van der Vleuten 14h 40m Tutor meeting (0.5h), final attempt at bug fixing (2h 40m), simulation description (30m), Friday meeting [Rewriting Simulation + looking for video editing software](4), studying video editing software + testing (3.5h), finalizing video and code (3h 30m).
Ferenc Sterkens 12h 30m group meetings (0.5h), Model design meeting (4h), components and calculating the workings of the robot (2.5h), finalizing the model (5.5h)

Initial research

A robotics-oriented taxonomy of how ethologists characterize the traversability of animal environments surveys 21 studies of how ethologists characterize the environments through which animals traverse and groups the found characteristics into three broad catergories: local navigational constraints, surface properties, and global layout properties. From these the article makes four recommendations to aid roboticists in selecting a suitable robot for particular environments, building testbeds for the testing and comparing of robots and the collection of data about an environment.

Burrowing rescue robot referring to a mole's shoveling motion proposes an novel inspecting robot designed to inspect survivors at landslide disaster sites. Its proposed propulsion method is inspired by the shoveling motion of a mole.

Deformable Octahedron Burrowing Robot explores the use of a deformable octahedron robot for the autonomous exploration of complex confined spaces. Unlike most other robots, it is able to adapt its shape to better traverse intricate sections of cavities.

Soft Robotic Burrowing Device with Tip-Extension and Granular Fluidization proposes a soft robotic device that burrows through dry sand, leveraging the principles of both tip-extension and granular fluidization.

A Remote Operated Multi-Tracked Vehicle for Subterranean Exploration of Gopher Tortoise Burrows discusses a topic closely related to the one discussed on this page. This article describes a remotely operated vehicle designed to survey and investigate gopher turtoise burrows for the estimation of populations.

CRABOT: A Biomimetic Burrowing Robot Designed for Underground Chemical Source Location describes a prototype burrowing robot called CRABOT developed to help find leaks in undergroud piplines transporting chemicals.

Cockroaches traverse crevices, crawl rapidly in confined spaces, and inspire a soft, legged robot explains how cockroaches way of traversing small crevices support a model of a new unexplored mode of locomotion "body-friction legged crawling" which could be applied in robotics.


Towards a Mobile Mapping Robot for Underground Mines describes a robot platform which can help construct 3D environment underground mappings.

Development of Search-and-rescue Robots for Underground Coal Mine Applications describes the design and development of a coal mine rescue robot which can be used as a reference.

Autonomous Robotic Monitoring of Underground Cable Systems investigates the possibility of autonomous robotic mobile platforms for monitoring infrastructures

PATH FINDING - Dijkstra’s and A* Algorithm’s summarizes and elaborates on famous path finding algorithms

A shortest-path algorithm for solving the fleet management problem in underground mines uses a shortest path algorithm to manage and schedule underground infrastructure

A Robotic System for Underground Coal Mining "describes a system that automates a continuous miner, enabling it to maneuver in highly constrained environments..."

An underground explorer robot based on peristaltic crawling of earthworms takes inspiration from the earthworm to develop a robot that uses peristaltic crawling which is useful for underground exploration



Evolving Sparse Direction Maps for Maze Pathfinding This paper focuses on evolving data that allows an entity to reach a point quickly from any other point in the maze. This kind of map is generated by a simple genetic algorithm. But this method did not necessarily give the shortest path.

View-Based Cognitive Mapping and Path Planning A view graph is created where views are seen as nodes and the movement between views are seen as edges. This graph retains the topological and directional structure of the maze. A neural network can learn the view graph during a random exploration which then allows it to generate expectations about which views will be encountered next.

Design and Implementation of a Path Finding Robot Using Flood Fill Algorithm This article tries to find out how effective the flood fill algorithm is for maze solving. This algorithm was implemented in a small robot with ultrasonic range sensor and wheel rotation decoders. The robot was able to map the maze and afterwards would do a second run where it tried to find a shortest route to the goal.

Portal-Based True-Distance Heuristics for Path Finding This article introduces a new true distance memory based heuristics as a way to obtain admissible heuristics for explicit stat spaces.

Micromouse : Maze solving algorithm This article is about the creation of a small scale robot which navigates a maze based on sensors, the algorithm used was based on the bellman flooding algorithm with a maze consisting of 16x16 cells.

Path finding simulator for mobile robot navigation This paper is focused on creating a path finding simulator for pioneer 3dx mobile robot. The simulator is provided with multiple algorithms, it can then use any or multiple them (with comparison) to find the shortest possible route.

Solving a Reconfigurable Maze using Hybrid Wall Follower Algorithm This paper expands on the wall follower method of solving a maze, the new algorithm combines left and right hand rules and tests them on several mazes. This hybrid algorithm improved the maze solving abilities significantly compared to just following the wall.


G. Kouros, I. Kostavelis, E. Skartados, D. Giakoumis, A. Simi, G. Manacorda, D. Tzovaras, 3D Underground Mapping with a Mobile Robot and a GPR Antenna, 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2018), Madrid, Spain, October 2018 This paper focuses on scanning subsurface environments using a GPR antenna. This information is then used to create a 3D model of the system.

Kevin James Worrall, David Firstbrook, Thaleia Flessa, Euan McGookin, Douglas Thomson, Patrick Harkness, “Modelling and Control of a Biologically Inspired Trenchless Drilling Device”, in The 12th International UKACC Conference on Control, Sheffield, UK, 5-7 Sept 2018 This work presents the methods used and initial findings of the control of the model for an autonomous trenchless drilling device, with bioinspired worm-like locomotion. The model is validated using Inverse Simulation. The initial control is detailed with data from the simulation and experimental device.

G. Kouros, C. Psarras, I. Kostavelis, D. Giakoumis, D. Tzovaras, Surface/Subsurface Mapping with an Integrated Rover-GPR System, A Simulation Approach, IEEE International Conference on Simulation, Modeling and Programming for Autonomous Robots (SIMPAR 2018), Brisbane, Australia, May 2018. This paper further focuses on the GPR antenna robot, only this time it has an intregrated antenna which allows it to seamlessly integrated to build adjunct surface and subsurface maps.

A. Simi, D. Pasculli, G. Manacorda, “Badger project: GPR system design on board on a underground drilling robot”, 10th International Workshop on Advanced Ground Penetrating Radar (IWAGPR 2019), Hague, The Netherlands, Sep 2019 The present paper presents some results of EU founded project called Badger, the first underground robotic system that can drill, maneuver, localize, map and navigate in the underground space, and which will be equipped with tools for constructing complex geometry networks of stable boreholes.

References

  1. Hoogland, J. L. (1995). "The black-tailed prairie dog: social life of a burrowing mammal". University of Chicago Press.
  2. (n.d.). In Wikipedia. Retrieved February 17, 2020, from "https://en.wikipedia.org/wiki/Prairie_dog"
  3. Black-tailed prairie dog. (n.d.). In Wikipedia. Retrieved February 20, 2020, from "https://en.wikipedia.org/wiki/Black-tailed_prairie_dog"
  4. Hoogland, J. L. (1995). "The black-tailed prairie dog: social life of a burrowing mammal". University of Chicago Press.
  5. Cuijpers, R. H. "Navigation for socially assistive robots"
  6. Thrun, S., Hahnel, D., Ferguson, D., Montemerlo, M., Triebel, R., Burgard, W., ... & Whittaker, W. (2003, September). "A system for volumetric robotic mapping of abandoned mines". In 2003 IEEE International Conference on Robotics and Automation (Cat. No. 03CH37422) (Vol. 3, pp. 4270-4275). IEEE.
  7. Callister, W. D. Rethwisch, D. G. (2014) Materials science and engineering.
  8. Kleine DC Motor 3-6V - Type 140. (n.d.). In Tinytronics. Retrieved March 5, 2020, from "https://www.tinytronics.nl/shop/nl/robotica/motoren/motor/kleine-dc-motor-3-6v-type-140"
  9. Li-Po Accu 3.7V 2000mAh. (n.d.). In Tinytronics. Retrieved March 5, 2020, from "https://www.tinytronics.nl/shop/nl/batterij-en-accu/li-po/li-po-accu-3.7v-2000mah"
  10. 3.4: Pendulum Simulation - The Nature of Code. August 1, 2015. In Youtube. Retrieved February 22, 2020, from "https://youtu.be/9iaEqGOh5WM"
  11. Angular velocity. (n.d.). In Wikipedia. Retrieved March 24, 2020, from "https://en.wikipedia.org/wiki/Angular_velocity"

Deliverables

"GitHub" "Video Presentation"