Skip to content

Trained Probabilistic Models for the NAO Robot in a Labyrinth

Notifications You must be signed in to change notification settings

JagtapSagar/NAO-humanoid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Scripts	(# REQUIRES PYTHON 2.7 TO EXECUTE)
=======
Following scripts can be found in the "Code" folder
cpt.py			- Used to load CPTs in to memory
belief_api.py		- Returns belief of NAOs position
likelihoodWeighting.py	- Returns weighted distribution for location given evidence
mod_tornado.py		- Fixes the first two issues (See last section) with sensor data generated by the tornado team
sensor_fusion.py	- Generates CPTs from sensor data, while accounting for 0 to 360 deg correction for 0 to 320 in the original data
motion.py		- generates transition probabilities
transition_step.py	- Single step transition

Conditional Probability Tables (CPTs)
==============================
Following csv files can be found in the "Data" folder
landmark.csv		- CPT for Landmark Node
sensorLeft.csv		- CPT for Left Sonar Node
sensorRight.csv		- CPT for Right Sonar Node
probabilities.txt	- CPT for transition probabilities

Other CPTs created but not used:
position_transition_probabilities.csv		- Transition probability of change of state only
						  Rows: User action input state 0 to 8 (top to bottom order)
						  Columns: Recorded resulting state 0 to 8 (left to right order)
orientation_transition_probabilities.csv	- Transition probability of change in orientation only
						  Rows: User action input Orientation L(-90deg), R(90), S(0) (top to bottom order)
						  Columns: Recorded resulting Orientation L, R, S (left to right order)

How to interpret CPTs?
landmark.csv		- The last column in this csv file is the probability of landmark detection
sonarLeft.csv		- All columns (excluding first three) index probability for detection of respective sonar values
sonarRight.csv		- All columns (excluding first three) index probability for detection of respective sonar values
probabilities.txt	- All rows indicate different actions given by the user (order top to bottom: 0L, 0R, 0S, 1L, 1R, ..., 8S)
			  All columns indicate various recorded resulting positions and orientations (order left to right: 0L, 0R, 0S, 1L, 1R, ..., 8S)

How to load the CPTs in scripts?
import cpt.py and call ReadInCPTs function from it. This returns SonarLeft, SonarRight,Landmark and Transition CPTs and also Location, Angle data for indexing. 

Other files:
============
location.csv, angle.csv		- Used only for indexing purposes
readings_tornadoes_001.csv	- Tornado team data used for training

Issues fixed with tornado team's data:
=====================================
Following issue were noticed by observing the tornado team's code and were accounted for in mod_tornado.py and sensor_fusion.py.
1) Each time the robot moved to an adjacent row the column number would reset too. According to the sequence executed by the tornado team, this was not supposed to happen.
2) After moving to the adjacent column the robot would be facing 108deg from its heading in the previous column. This was not accounted for.
3) The tornado team recorded 0 t0 360 deg data as 0 to 320. This was done because the NAO robot seems to rotate a complete 360 deg when a command for 320 was given.

About

Trained Probabilistic Models for the NAO Robot in a Labyrinth

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages