Showing posts with label ai. Show all posts
Showing posts with label ai. Show all posts

2014-05-06

Victim Detection for Rescue Robots

My Master's thesis is about victim detection for rescue robots. It uses the sensors (Kinect, thermal, camera, ...) of the robot to detect features. Those features are tracked over time and fused into objects. Finally on object classifier determines the type (victim, heat source, ...) of each object.

Features detected with the Kinect 

Features detected with the thermal camera
Tracked Features visualized in RViz


2009-03-28

Formations

One of my current projects is a prototype about steering, formations and pathfinding. Well, at the moment it is a prototype about steering and formations.

The goal is to have realtime battles like Total War, but thats the far future.

The current features are:
  • change type of formation
  • move formation
  • rotate formation
  • dynamically add and remove characters
How does it work:

The formation calculates the target position and orientation for each character and the characters try to reach it with their steering behaviors.

Patterns:

They define the shape of the formation. I currently have:


Steering behaviors:

If you want to know more about them, look here.

At the moment I only use Arrival, but I will soon implement Obstacle Avoidance and others.

Results:

In the first image I changed the pattern from a box to a circle and in the second I rotated a box.


The white dots are the target positions.


2009-03-21

Pyro(Python Roguelike)

This time I will talk about one of my old projects. It was a roguelike written in Python.


Here are some of the features:

2D pixelart

I always wanted to make a roguelike with images instead of characters, but where to take the art from? Buy? A friend?

In the end I decided to make it myself. I really liked the art style of Three Hundred Mechanics and started copying it. It was great fun and soon I started drawing completely new creatures.

Here are some examples:


single tile, multiple tiles and snake bodies

It was possible to have huge creatures(giants, dragons, ...) with a body of 2*2, 3*3 or even bigger bodies.
  • They couldn't use smaller corridors.
  • They had more adjacent cells.

Snakes had one head tile and many body tiles. Think of the old snake games.

behavior trees

Behavior trees are a great way of building your ai out of reusable building blocks.

I had behaviors for attack, flee, patrol, wander and investigate.

Villager: wander or flee
Skeleton: attack
Guard: patrol, investigate or attack

They always pick the behavior with the highest priority: Villagers normally wander around, but if skeletons are near they flee.

If you want to know more about behavior trees, go to http://aigamedev.com.

sensory system

Different creatures had different ways of sensing the world.

Seeing: distance, occlusion
Hearing: distance
Sense Life: distance

Villager and guard: Seeing and Hearing
Skeleton: Sense Life

I even had a wall type, where you could see through, but nor move through(the yellow wall):




I am really sorry that, I can't give more or newer screenshoots or even a playable game, but I don't have a functioning version anymore. I lost the newest version and now even my backups don't work. I don't know why, but hopefully it will run someday again!


Lesson Learned:
I now use git, a version control system.