II INTERNATIONAL SCIENTIFIC CONFERENCE OF YOUNG RESEARCHERS
586
Qafqaz University
18-19 April 2014, Baku, Azerbaijan
USING PARTIALLY OBSERVABLE MARKOV DECISION PROCESS FOR
INDOOR PLANNING AND NAVIGATION IN ROBOTICS
Nadir HAJIYEV, Umit ILHAN
Qafqaz University
n.hajiyev@ictsrcqu.org, umit.ilhan@ictsrcqu.org
AZƏRBAYCAN
It is already part of our life to work with automated systems that enables a set of useful applications for us. A field that
got our attention for development of such applications is robotics. It has a lot of applications for different environments, but
in this thesis we will take only indoor applications into consideration. Reason of writing the thesis is to show results of our
research on using POMDP for indoor navigation and planning problem in robotics. As a result of this research we are going
to develop an application for indoor navigation problem of AzerRobot project.
Planning and navigation is the basic problem in robotics and there are already a lot of proposed solutions for solving the
problem. The Dervish[1], Xavier[2] and other projects have shown good results and had very large impact in finding
optimal solutions for this. But using the robot in indoor environment has some additional problems like similar environment
parameters e.g. - offices, corridors. Also, because of noisy sensor data, changing environment and not being able to fully
observe environment makes it is hard to estimate future steps efficiently. Recent research in several labs shows that using
POMDP for such problem gives very hopeful results.
Before describing proposed solution let's first define POMDP for our environment. POMDP states Partially Observable
Markov Decision Process and formally defined by four parameters S, A, T and R and for each new iteration I
i+1
for S
i+1,
A
i+1,
T
i+1,
R
i+1
is used only S
i,
A
i,
T
i,
R
i
where
S – state space; current state of the robot, perceived sensor data (also known as belief state)
T – transition matrix; set of possible state space transition probabilities pbts(s'|s,a)
A – action; an executed process according to state space and transition matrix
R – reward; a gain from last action (can be positive or negative)
In each iteration or time step robot initially has state space S and it is able to observe possible transitions T, then taking
action A using transition T robot updates it's belief and gains reward R.
As stated in [3] the action in a partially observable environment can be decomposed into a state estimator and policy
where state estimator takes the last belief state S
i
, the most recent action A
i
and the most recent observation as input, and
returns an updated belief state S
i+1
.
Like it is said above there are some problems. Besides the POMDP algorithm most of the problems can be solved by
using appropriate sensors. Generally for distance detection is used sonar sensors. They have some noise, but it is not actual
problem. The actual problem with sonars or other kind of distance sensors is they are not able to perceive the environment
visually, so we got lots of negative reward in our application. Sonars used to measure distance, so robots can't differ a
corridor or open door. To solve this problem needed visual data of the environment, and simple object recognition
algorithm. It is possible to use 2D or 3D cameras for recognition but it is only required to recognize the doors and it can be
done by using any 2D camera an PCA to reduce image dimensionality [4].
Our solution combines the proposed two applications. First is to use camera or other sensor for getting visual data of
environment and second is to process given data with POMDP algorithm. POMDP algorithm already implemented in
simulation and we are going to implement it in AzerRobot project. But as a first stage of the project we use NAO robot
from Aldebaran Robotics and are going to test our algotihm on it.
Reference
[1] Illah N., Rob P., and Stan B. “DERVISHAn Office-Navigating Robot” AI Magazine, Volume 16 Number 2 , 1995
[2] Simmons R., Fernandez J., Goodwin R., Koegin S. and O'Sullivan J. Xavier “An Autonomous Mobile Robot on the
Web”, IEEE Robotics and Automation Magazine, 1999
[3] Lopez E., R. Barea, L. Bergasa and M. Escudero, “Visually augumented POMDP for indoor robot navigation”, 21th
IASTRD International Multi-Conference on Applied Informatics, 2003
[4] N. Vlassis, B. Terwijn, and B. Kr se, “Auxiliary particle filter robot localization from high-dimensional sensor
observations,” in Proc. IEEE Int. Conf. on Robotics and Automation, Washington D.C., May 2002, pp. 7–12.
II INTERNATIONAL SCIENTIFIC CONFERENCE OF YOUNG RESEARCHERS
587
Qafqaz University
18-19 April 2014, Baku, Azerbaijan
QRAF VERİLƏNLƏR MODELİ VƏ RDBMS MODELİ İLƏ MÜQAİSƏLİ TƏHLİLİ
Həsənağa MƏMMƏDOV
Qafqaz Universiteti
info@hasanaga.info
AZƏRBAYCAN
Bu məqalədə qraf verilənlər baza modelindən bəhs edilib, Qraf verilənlər bazası idarəetmə sistemlərindən ən məşhuru
Neo4j və Cypher sorğu dili ilə tətbiqi məsələ həll edilmişdir. Qraf modeli müxtəlif elmi, biznes sahələrində tətbiq edilir.
Qarışıq verilənləri təsvir etmək üçün çox əhəmiyyətlidir. Hansı tip məsələlərin həllində daha yaxşı nəticə göstərməsi
məqalədə təsvir edilmişdir.
20-ci əsrin sonunda İnternetin, elektron hesablama maşınlarının kəşfi informasiya inqilabına səbəb oldu və
informasiyanın saxlanması, yenidən email edilməsi kimi problem meydana gəlməyə başladı. İnformasiyanı komputerdə
təhlükəsiz saxlamaq üçün verilənlər bazası idarəetmə sistemlərində istifadə olunur. Verilənlər Bazası tarixi inkişaf yolunu
keçərək günümüzdə demək olar ki, istənilən sahədə uğurla tətbiq olunmaqdadır.
Verilənlər bazasının aşağıdakı modelləri vardır.
İerarxik model - verilənlər bazası ağacşəkilli (ierarxik) təşkil olunur
Qraf modeli – verilənlər bazası qraf şəklində təşkil olunur
Relasiya modeli – verilənlər cədvəllərdə yerləşdirilir və bu cədvəllər arasında əlaqə yaradılır.
Obyektyönümlü model – bazanın ayrı-ayrı yazıları obyekt şəklində təşkil olunur.
Relyasiya modeli hal-hazırda daha çox istifadə olunan baza modelidir. Oracle, MySql, Sql server və s. kimi VBİS-lər
(verilənlər bazası idarəetmə sistemləri) bu modeldən istifadə edir.
Əgər verilənlərdə çox sayda və çox növdə əlaqələr varsa- xaotik modelə sahibdirsə və obyektlər arasında əlaqələri
sorğu vermək üstünlük təşkil edirsə verilənləri Qraf modelində təsvir etmək daha əlverişlidir. Bu cür əlaqəli verilənləri
relyasiya ilə təsvir etdikdə sorğu verilən zaman çoxlu sayda “Join” əməliyyatından istifadə edilir və nəticədə performans
aşağı düşür. Relyasiya modeli belə hallar üçün əlverişli deyil. Əgər qoyulan məsələdə obyektlər arasında çoxun-çoxa əlaqə
növü üstünlük təşkil edirsə Qraf verilənlər bazası modelindən istifadə etmək məqsədəuyğundur. Qraf verilənlər bazası bu
günün biznes, elm sahələrinə nüfuz edən sahədir. İnsanlar arasında qohumluq əlaqələri, sosial şəbəkələrdən tutmuş
mürəkkəb gen, protein hüceyrələrinin təsviri və analizində, çoğrafi informasiya sistemlərində uğurla tətbiq edilir.
Naviqasiya sistemlərində ən qısa marşrutu tapmaqda, şəbəkə tapologiyasında – informasiyanı şəbəkədə ötürmək üçün ən
qısa yolu tapmaq üçün, istifadə edilir. Graf verilənlərin bazasının tətbiq sahələrini aşağıdakı kimi qruplaşdırılır.
Sosial şəbəkələr
Sənaye
Xəritədə yolun tapılması
Çoğrafi alqoritmlərdə
Fırıldaqçılığın qeydə alınmasında
Multi-tenancy – mutli-icarə
Dependency mapping - Asıllığın xəritəsi
Bioinformatika
natural language processing – təbi dil emalı
Qraf verilənlər bazasının xarakteristikaları aşağdakılardır:
Düyünlər (node) və əlaqələrdən (relationships) ibarət olur.
Düyünlərin və əlaqələrin xassaləri (properties) olur.
Əlaqələrin adları, istiqamətləri, başlanğıc və sonu olur.
Qraf modelinin sadə struktura malik olmasına baxmayaraq mürəkkəb məsələlərin həllində tətbiq edilir. Sosial
şəbəkələrdə tətbiqinə Twitter sosial şəbəkəsinin nümunəsində aşağıdakı kimi olur.
B
C
A
D
Qafqaz Uni
A, B və
Verilən
bazası idarəe
proqramıdır.
sorğu dili ola
Qraf ver
sadə konseps
olunur. Rely
verilənlər baz
“Delete”, qra
Relyasiy
oynaya bilər
Bu mode
1) Yaş
RETURN nR
2) Film
Q: STAR
R: SELE
on Movi
2-si sorğ
3) Həm
Q: START p
RETURN pe
R: SELECT
person_id FR
II INTER
versity
C-ni izləyir. B
bazasında ye
etmə sistemlər
Neo4j Javada
araq Cypher d
rilənlər bazası
siyadan - düy
yasiya verilən
zasında isə ik
af vb-də isə “E
ya və Qraf mo
və filmin reji
elin relyasiya
şı 30-dan böyü
R (Relyasiya):
mlərdə rol alan
RT actor=nod
ECT Person.na
ie.movie_id =
ğunu təhlil edə
START
MATC
MATC
>(movie)
RETUR
m aktyor həm
person=node:P
erson.name
name FROM
ROM Director
RNATIONA
B yalnız C-ni
eni veriləni da
rindən istifadə
a yazılmış açı
dilindən istifad
ının relyasiya
yün və tillərdə
lər bazasına y
ki operatordan
Erase” (düyün
odellərini müq
ssoru ola bilər
və qraf verilə
ük olan insanl
: SELECT * F
n insanların si
de:Person("nam
ame, Movie.ti
= Actor.movie_
ək.
T actor=node:
CH (actor)-[:A
CH (actor
RN actor.nam
rejissor olan i
Person("name:
Person WHE
r)
L SCIENTIF
izləyir. C də B
axil etmək, re
ə olunur. Qra
ıqməmbə kod
də edilir. Cyph
tipli verilənlə
ən istifadə olun
yeni informas
n – “Store” və
n) və “Disconn
qayisəli təhlil
r.
ənlər bazasınd
arın siyahısı Q
FROM Person
iyahısı
me:*") MATC
itle FROM Pe
_id
:Person
ACTS_IN]
r)-[:ACTS_IN
me, movie.title
insanların siya
:*") WHERE
RE person_id
FIC CONFER
588
B-ni izləyir və
edaktə etmək
f verilənlər ba
dlu proqramdır
her sorğu dili b
ər bazasından
nduğu halda r
siya əlavə etm
ə “Connect” is
nect” (til) oper
etmək üçün
da müqayisəli b
Q (CYPHER)
n WHERE age
CH (actor)-[:A
erson JOIN Ac
FRO
JOIN
Actor.per
N]-
JOIN
Actor.mo
SEL
ahısı
(person)-[:AC
d IN ( SELECT
D
Tweet
Tweet
Cari tw
Növb
RENCE OF Y
ə həmçini D-n
k, sorğu etmək
azası idarə etm
r və müxtəlif
bəsit olmasına
əsas nəzəri de
relyasiya veril
mək üçün 1 o
stifadə olunur
ratorlarından
“Aktyor – film
bəzi sorğuları
: START n=n
e > 30
ACTS_IN]->(m
ctor on Person
OM Person
N Actor
rson_id
N Movie
ovie_id
LECT Person.n
CTS_IN]->() A
T person_id F
weet
bətitweet
YOUNG RES
18-19 A
ni izləyir. D isə
k, təhlükəsliy
mə sistemlərin
platformalard
a baxmaraq gü
ezavantajları i
lənlər bazasın
operatordan –
r. İnformasiya
istifadə olunu
m” modelinə
ı:
node:Person("
movie) RETU
n.person_id =
on Person
on Movi
name, Movie.t
AND (person)
FROM Actor)
SEARCHER
April 2014, B
ə yalnız A-nı
yini təmin etm
ndən ən məşh
da dəstəklənir.
üclü dildir.
informasiyanı
nda isə 1 konse
– “İnsert” isti
anı silmək üçü
ur.
baxaq. Hər b
"name:*") WH
URN actor.nam
Actor.person_
n.person_id
ie.movie_id
title
)-[:DIRECTE
AND person_
RS
aku, Azerbai
izləyir.
mək üçün Ver
huru Neo4j tət
Neo4j VBİS
ı saxlamaq üçü
epsiyadan isti
ifadə olunur,
ün relyasiya vb
bir şəxs filmdə
HERE n.age>3
me, movie.title
_id JOIN Mov
=
=
ED]->()
_id IN ( SELE
ijan
rilən
tbiqi
S-də
ün 2
ifadə
qraf
b-də
ə rol
30
e
vie
ECT
II INTERNATIONAL SCIENTIFIC CONFERENCE OF YOUNG RESEARCHERS
589
Qafqaz University
18-19 April 2014, Baku, Azerbaijan
4) Lucy ilə filmdə çəkilən aktyorların siyahısı
Q: START lucy=node:Person(name="Lucy Liu") MATCH lucy-[:ACTS_IN]->movie, co_actor-[:ACTS_IN]->movie
RETURN DISTINCT co_actor.name
R: SELECT DISTINCT co_actor.name FROM Person lucy JOIN Actor a1 ON lucy.person_id = a1.person_id JOIN Actor
a2 ON a1.movie_id = a2.movie_id JOIN Person co_actor ON co_actor.person.id = a2.person_id WHERE lucy.name =
"Lucy Liu”
Lucy-nin çəkildiyi filmlərin rejissorlarının siyahısı Q: START lucy=node:Person(name="Lucy Liu") MATCH lucy-
[:ACTS_IN]->movie, director-[:DIRECTED]->movie RETURN director.name, count(*) ORDER BY count(*) desc
R: SELECT dir.name, count(*) FROM Person lucy JOIN Actor on Person.person_id = Actor.person_id JOIN Director
on Actor.movie_id = Director.movie_id JOIN Person dir on Director.person.id = dir.person_id WHERE lucy.name = "Lucy
Liu" GROUP BY dir.name ORDER BY count(*) DESC
ENABLE MOBILE ROBOT TO RECOGNIZE AND CLASSIFY OBJECTS
Huseyn PASHAYEV, Asad MAMMADOV
Qafqaz University
h.pashayev@ictsrcqu.org , a.mammadov@ictsrcqu.org
AZƏRBAYCAN
The thesis is a survey about works of enabling mobile robot to recognize and classify objects. For recognition robot can
use haptic, statistical or visual information like camera, which returns a cloud of points, according to which these points
segmented into clusters, where each cluster is primitive geometric structure and the geometric relationship between these
clusters defines the object.
If we are talking about recognition and classification of objects the term affordance have to be initially proposed. This
term was initially proposed by J. Gibson [1] and now widely used in robotics. So what is the affordance and how it’s used in
robotics? For each object there are a number of actions which is possible to perform with it depending on object which is
interacting with it. Now let suppose the chair, human can push the chair can sit on it, so there chair affords pushing and
sitting on it for human, however mobile robot (like Parallax Eddie – Reference Platform) can only push the chair but not sit,
so there the affordance of chair for mobile robot is only pushing. So the robot can recognize such objects then, classify the
object in classes and according to affordance of class behave with this object. Why affordance is so important? Suppose a
robot which helps us at home. The robot need to be able to recognize object then classify whether this is a chair class, or
table class or even door class, then robot have to know how to behave with object, whether to pull it( with chairs class), go
across(with tables class) or just pass through it(door class). In such problems main aim is not to detect object preciously, the
aim here is to detect the correct class to which this object belong to, such that general properties of affordance for objects in
same class are the same. Nowadays the field object recognition and classification is widely investigating and there a lot of
works done in this field. General object recognition rely on visual appearance of object, where invariant descriptors used to
recognize and classify object. In other words the snapshots of object are taken from different positions, then local and global
descriptors are used to summarize data and finally distance between vectors of these descriptors is calculated to model the
object. In article [2] the robot has 2D camera and uses local descriptors and SIFT (Scale-invariant feature transform)
features. In SIFT the algorithm is to identify local features of training object and then detect this object on image containing
this and many other objects. Another main property in SIFT is the solid proportion of selected points as feature. Suppose we
take 4 corners of door as one feature of this object, so in case if the proportion between these points will change then this
will cause failure. Like if door is opened or closed for each position of the door proportion between these points will
change, what will cause failure, that means on flexible and articulated objects this won’t work because geometry changes
what causes the proportion change on points which are selected as feature. However on practice SIFT method uses large
numbers of features which reduce the error caused by such local variations. In article [3] the robot controlled via internet
where user give voice commands to robot like “Grasp the ball” and etc. In this work neural network proposed which help to
classify object in low resolution and noise images using invariant descriptors. Another article is [4]. In this article proposed
to use multiple perception of object and motor modality. The robot using statistical technique, and using motor function
grasps the object then rotating it take snapshots from different points and also while observation listen sounds from object,
based on audio-video and haptic information robot recognize and classify object. Another work about classification of
objects is “Grounding semantic categories in behavioral interactions: experiments with 100 objects” [5] In this article 100
object taken and divided in 20 categories in order to test the humanoid robot, where for each category different behavior
assigned. Robot uses supervised recognition method where he process not only visual information but also taking in account
II INTERNATIONAL SCIENTIFIC CONFERENCE OF YOUNG RESEARCHERS
590
Qafqaz University
18-19 April 2014, Baku, Azerbaijan
information with object interaction like grasping, shaking, pushing , pressing and etc. by means of that feature vector
formalized and object with similar feature vector combined under same class. The same approach also can be observed in
“Learning affordances for categorizing objects and their properties” [6] article that interaction of robot and object can lead
to manifestation of object perceptual properties, after that robot will be able to predict effects of actions on object from
which perceptual features extracted. The authors of “Using object affordances to improve object recognition” [7] article
additionally propose to use motor information of object rather that only using visual information. In this experiment for each
training object its associated grasp created (it’s the visual mapping of object according to its affordance) in other words
visuomotor map formed. The article show that, the presence of motor information increased effect of recognition, even if
this information in test data do not include actual motor information, it latter can be inferred from visuomotor map.
In my opinion the best approach is “Multimodal object categorization by a robot” [4] because for beginning our aim is
predict the class of object rather than object itself, so if the class of object is recognized then robot will be able to behave
with objects taking in account the affordance of class, which in my opinion will give correct output.
Refferences
1) (The Ecological Approach to Visual Perception, Houghton Mifflin, Boston, 1979.)
2) “Distinctive image features from scale-invariant key points” (D.G. Lowe International Journal of Computer Vision
60 (2) (2004) 91–110.)
3) “Efficient object recognition capabilities in online robots: from a statistical to a neural-network classifier” by P.
Sanz, R. Marin, J. Sanchez, (IEEE Transactions on Systems, Man, and Cybernetics, Part C: Applications and Reviews 35
(1) (2005) 87–96.)
4) “Multimodal object categorization by a robot” (T. Nakamura, T. Nagai, N. Iwahashi in: IEEE/RSJ International
Conference on Intelligent Robots and Systems, IROS 2007, 2007, pp. 2415–2420.)
5) “Grounding semantic categories in behavioral interactions: experiments with 100 objects” (J. Sinapov, C. Schenck,
K. Staley, V. Sukhoy, A. Stoytchev,Robotics and Autonomous Systems (0) (2012).)
6) “Learning affordances for categorizing objects and their properties” (N. Dag, I. Atil, S. Kalkan, E. Sahin in: 20th
International Conference on Pattern Recognition, ICPR 2010, 2010, pp. 3089–3092.)
7) “Using object affordances to improve object recognition” (C. Castellini, T. Tommasi, N. Noceti, F. Odone, B.
Caputo, IEEE Transactions on Autonomous Mental Development 3 (3) (2011) 207–215.)
Dostları ilə paylaş: |