Code Monkey home page Code Monkey logo

nao-humanoid's Introduction

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.

nao-humanoid's People

Contributors

jagtapsagar avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.