文件名称:
SLAM for Dummies.pdf
开发工具:
文件大小: 390kb
下载次数: 0
上传时间: 2019-07-14
详细说明:SLAM for Dummies, SLAM入门级教程,全英文可复制,共127页13
REFERENCES:
,垂看。。。。。●4。4。。看e。。看·看·
看s。。。。垂。l。垂。业。·。。。。●垂
42
APPENDIX A: COORDINATE CONVERSION……43
15. APPendIX B: SICK LMS 200 INTERFACE CODE
16
APPENDIX C: ER1 INTERFACE CODE
2
17. APPENDIX D: LANDMARK EXTRACTION CODE
82
2 Introduction
The goal of this document is to give a tutorial introduction to the field of SLAM
(Simultaneous Localization And Mapping) for mobile robots. There are numerous
papers on the subject but for someone new in the field it will require many hours of
rescarch to understand many of the intricacies involved in implementing SLAM. The
hope is thus to present the subject in a clear and concise manner while keeping the
prerequisites required to understand the document to a minimum. It should actually
be possible to sit down and implement basic SLam after having read this paper
SLAM can be implemented in many ways. First of all there is a huge amount of
different hardware that can be used. Secondly slam is more like a concept than a
single algorithm. There are many steps involved in SLaM and these different steps
can be implemented using a number of different algorithms. In most cases we explain
a single approach to these different steps but hint at other possible ways to do them
for the purpose of further reading
The motivation behind writing this paper is primarily to help ourselves understand
SLAM better. One will always get a better knowledge of a subject by teaching it
Second of all most of the existing SLAM papers are very theoretic and primarily
focus on innovations in small areas ofslaM, which of course is their purpose. The
purpose of this paper is to be very practical and focus on a simple, basic SLaM
algorithm that can be used as a starting point to get to know Slam better. For people
with some background knowledge in Slam we here present a complete solution for
SLAM using EKF(Extended Kalman Filter). By complete we do not mcan perfcct
What we mean is that we cover all the basic steps required to get an implementation
up and running. It must also be noted that Slam as such has not been completely
solved and there is still considerable research going on in the field
To make it easy to get started all code is provided, so it is basically just a matter of
downloading it, compiling it, plugging in the hardware(SICK laser scanner, eRI
robot) and executing the application; Plug-and-Play. We have used Microsoft visual
C# and the code will compile in the. Net Framework v 1. 1. Most of the code is very
straightforward and can be read almost as pseudo-code, so porting to other languages
or platforms should be easy
3. About sLAM
The term SLAM is as stated an acronym for Simultaneous Localization And
Mapping. It was originally developed by hugh durrant-Whyte and John J. Leonard
[7]based on earlier work by Smith, Self and Cheeseman [6]. Durrant-Whyte and
Leonard originally termed it smal but it was later changed to give a better impact
SLAM is concerned with the problem of building a map of an unknown environment
by a mobile robot while at the same time navigating the environment using the map
SLAM consists of multiple parts; Landmark extraction, data association, state
estimation, state update and landmark update. There are many ways to solve each of
the smaller parts. We will be showing examples for each part. This also means that
some of the parts can be replaced by a new way of doing this. As an example we will
solve the landmark extraction problem in two different ways and comment on the
methods. The idea is that you can use our implementation and extend it by using your
own novel approach to these algorithms. We have decided to focus on a mobile robot
in an indoor environment. You may choose to change some of these algorithms so
that it can be for example used in a different environment
SLAM is applicable for both 2D and 3D moLion. We will only be considering 2D
motion
It is helpful if the reader is already familiar with the general concepts of SlaM on an
introductory level, e.g. through a university level course on the subject. There are lots
of great introductions to this field of research including [6 [4]. Also it is helpful to
know a little about the extended Kalman Filter(EK F); sources of introduction are
33]5]. Background information is always helpful as it will allow you to more easily
understand this tutorial but it is not strictly required to comprehend all of it
4. The hardware
The hardware of the robot is quite important to do slam there is the need for a
mobile robot and a range measurement device. The mobile robots we consider are
wheeled indoor robots. This documents focus is mainly on so flare implementation
of sLaM and docs not explore robots with complicated motion models(models of
how the robot moves) such as humanoid robots, autonomous underwater vehicles
autonomous planes, robots with weird wheel configurations etc
We here present some basic measurement devices commonly used for SLaM on
mobile robots
The robot
Important parameters to consider are ease of use, odometry performance and price
The odometry performance mcasures how well the robot can estimate its own
position, just from the rotation of the wheels. The robot should not have an error of
more than 2 cm per meter moved and 2 per 45 degrees turned. Typical robot drivers
allow the robot to report its(x, y) position in some Cartesian coordinate system and
also to report the robots current bearing/heading
There is the choice to build the robot from scratch. This can be very time consuming
but also a learning experience. It is also possible to buy robots ready to use, like real
World Interface or the Evolution Robotics ERl robot [10]. The rwI is not sold
anymore, though, but it is usually available in many computer science labs around the
world. The RWI robot has notoriously bad odometry, though. This adds to the
problem of estimating the current position and makes SLaM considerably harder
ERI is the one we are using. It is small and very cheap It can be bought for onl
200USD for academic use and 300USd for private use. It comes with a camera and a
robot control system. We have provided very basic drivers in the appendix and on the
website
The range measurement device
The range measurement device used is usually a laser scanner nowadays they are
very precise, efficient and th
he output does not require much computation to process
On the downside they are also very expensive. A SICK scanner costs about
5000USD. Problems with laser scanners are looking at certain surfaces including
glass, where they can give very bad readings(data output). Also lascr scanners cannot
be used underwater since the water disrupts the light and the range is drastically
reduced
Second there is the option of sonar. Sonar was used intensively some years ago. The
are very cheap compared to laser scanners. Their measurements are not very good
compared to laser scanners and they often give bad readings. Where laser scanners
have a single straight line of measurement emitted from the scanner with a width of as
little as 0.25 degrees a sonar can easily have beams up to 30 degrees in width
Underwater, though, they are the best choice and resemble the way dolphins navigate
The type used is often a Polaroid sonar. It was originally developed to measure the
distance when taking pictures in Polaroid cameras. Sonar has been successfully used
in[7]
The third option is to use vision. Traditionally it has been very computationally
intensive to use vision and also error prone due to changes in light. Given a room
without light a vision system will most certainly not work. In the recent years, though,
there have been some interesting advances within this field Often the systems use a
stereo or triclops system to measure the distance Using vision resembles the way
humans look at the world and thus may be more intuitively appealing than laser or
sonar. Also there is a lot more information in a picture compared to laser and sonar
scans. This used to be the bottleneck, since all this data needed to be processed, but
with advances in algorithms and computation power this is becoming less of a
problem. Vision based range measurement has been successfully used in [8]
We have chosen to use a laser range finder from SICK [9]. It is very widely used, it is
not dangerous to the eye and has nice properties for use in SLaM. The measurement
error is +-50mm, which seems like very much, but in practice the error was much
smaller the newest laser scanners from sick have measurement errors down to t-5
II
5. The slaM Process
The SLaM process consists of a number of steps. The goal of the process is to use the
environment to update the position of the robot. Since the odometry of the robot
(which gives the robots position) is often erroneous we cannot rely directly on the
odometry. We can use laser scans of the environment to correct the position of the
robot. This is accomplished by extracting features from the environment and re
observing when the robot moves around. An eKF(Extended Kalman Filter) is the
heart of the SLAM process. It is responsible for updating where the robot thinks it is
based on these features. These features are commonly called landmarks and will be
explained along with the eKF in the next couple of chapters. The EKF keeps track of
an estimate of the uncertainty in the robots position and also the uncertainty in these
landmarks it has seen in the environment
An outline of the SLAM process is given below
Laser scan
Landmark
Odometry change
Extraction
EKF
Dala
Odometry update
association
EKF
Re-observation
EKF
New observations
Figure 1 Overview of the SLAM process
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.