Git Product home page Git Product logo

yokobo-rl's Introduction

BeWoDa

Behaviours from World Data

Input data

  • Temperature (inside/outside) : {-20 ; 50} $\pm$ 5 °C ==> 14 classes
  • Humidity (inside/outside) : {0 ; 100} $\pm$ 5 % ==> 20 classes
  • Atmospheric pressure : {850 ; 1050} $\pm$ 50 hPa ==> 4 classes
  • CO$_2$ concentration : {200 ; 1200} $\pm$ 200 ppm ==> 5 classes
  • Emotions : {'neutral', 'happy', 'sad', 'surprise', 'anger'} ==> 5 classes
  • Body position : 18*2 values

Total state (without Body Positions) : $14\times 20 \times 4 \times 5 \times 5 = 28000$.

Output commands

  • Motor 1 (base) : {-10 ; 0 ; +10} ==> 3 classes
  • Motor 2 (head bow) position : {-10 ; 0 ; +10} ==> 3 classes
  • Motor 3 (head yaw) position : {-10 ; 0 ; +10} ==> 3 classes
  • LED Red : {-10 ; 0 ; +10} ==> 3 classes
  • LED Green : {-10 ; 0 ; +10} ==> 3 classes
  • LED Blue : {-10 ; 0 ; +10} ==> 3 classes
  • LED Luminosity : {-10 ; 0 ; +10} ==> 3 classes

Total actions: $3^7 = 2187$. There are boundaries for each command, the LED values are in the interval [0;255].

States

$$s = s_r + s_w + s_h$$

With $s_r$ the state of Yokobo (position of motors and light colour), $s_w$ the state of the world (temperature, humidity, AP and CO$_2$ level) and $s_h$ the state of the person (body positions and emotions).

Let's see the relationship of the parameters of each state, independently of the other states.

State of the world : $s_w$

We can draw the Directed Acyclic Graph (DAG) as follow:

State of the world diagram

We can assume that all world data, i.e. meteorological data, are a function of the current time. Since Yokobo is working with a quite short time approach, we disregarded the current date, which has also an influence. Then, the atmospheric pressure influences the temperatures, humidity data and CO2 level. The latter is also related to inside humidity and temperature.

Since the data of the weather station are updates every 10 min on the server: $s_w(t+\Delta t) = s_w$ for $\Delta t < 10 \text{ min}$.

State of the robot (Yokobo) : $s_r$

We can draw the DAG as follow:

State of the robot diagram

The position of the motors and the LED colour are independent, besides the link that exists between M2 and M3.

State of the human : $s_h$

We can draw the DAG as follow:

State of the human diagram

With the mean position between the two hips; the mean position between the two shoulders; El and Er the left/right elbow position; Wl and Wr the left/right wrist position; SlSr the horizontal distance between the two shoulders.

With this graph, we define the hip as the origin of the body, the point that defines the positions of the others. Because for the interaction we have with Yokobo the position of the hips and extremities is not important, we can use the mean position. However, for the shoulders, the positions of the left and right are important. Because we are using DAG, we cannot use the position of each shoulder, since we would have a cycle. Then, to overcome this problem, we can add the length between the two shoulders (SlSr), and we can assume it does not influence . We also hypothesise that the emotion of the person mostly influences the position of their hands and head and the rest of the body through the hips.

Bayesian Network

The goal of the Bayesian Network is to remember and predict the future state of the robot ($s_{r,t+1}$) according to the current state ($s_w$, $s_h$ and $s_r$), we can draw the general diagram as follow:

General diagram of the Bayesian Network

Since we want to see the possible state of the robot, according to the current observation of the world, the current state of Yokobo ($s_r$) affects the user state ($s_h$) and the user will affect the future state of Yokobo ($s_{r,t+1}$). If we expand the general DAG by connecting the previous graphs, we can obtain the detailed bayesian network DAG:

Detailed diagram of the Bayesian Network

To simplify the connections, some hypotheses are made. First, since the user is interacting with Yookobo inside the home, the temperature and humidity outside are not affecting the user. Then, the connection to the user (to $s_h$) is only done to the emotion (Emo), the head (Head), the hip center (), the left and right wrist (Wl and Wr), as a simplification. Similarly, the connection from the user is also done from those nodes.

Reinforcement Learning Network

yokobo-rl's People

Contributors

simeoncapy avatar hisham246 avatar pablofel9408 avatar shomanakatani 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.