Hot answers tagged

15

Features like the sun and clouds and other things that are very far off would have a distance estimate of inf. This can cause a lot of problems. To get around it, the inverse of the distance is estimated. All of the infs become zeros which tend to cause fewer problems.


14

The Rao-Blackwellized Particle Filter (RBPF) as you say in your question performs a marginalization of the probability distribution of your state space. The particle filter uses sampling to represent the multivariate probability distribution of your state space. Using samples to represent a distribution is firstly only an approximation, and secondly not ...


11

You are reading it too narrowly. You don't "need" odometery. SLAM is simply a way to fuse any sensor estimates into a consistent estimate of the robot's state. "Feature-based" doesn't necessarily mean you need to have identifiable features everywhere in the environment. First principal of sensor fusion: Two estimates are better than one! Example I ...


11

Localization is the process of estimating the pose of the robot the environment. Number 5 in your list. Mapping is estimating the position of features in the environment. Number 1. 2, 3, and 4 are not related to SLAM. They are all part of a complete robot system for which SLAM makes up yet another part. The software for a professional or research drone ...


10

The inverse depth parameterisation represents a landmark's distance, d, from the camera exactly as it says, as proportional to 1/d within the estimation algorithm. The rational behind the approach is that, filtering approaches such as the extended Kalman filter (EKF) make an assumption that the error associated with features is Gaussian. In a visual ...


8

SLAM is the process of locating oneself in a totally unknown environment where you are simultaneously mapping your environment and plotting your position in that environment. SAM is a technique used in SLAM to help keep the map constant by correlating current data with past data to normalize sensor error, It is simply one of many techniques for this purpose.


7

I think you misunderstand what a landmark is. It is a generic, catch-all term for anything that a robot can recognize and use as part of a map. In particular, "landmarks" are important for feature-based SLAM algorithms, such as EKF-based slam. What you use for "landmarks" depends on what sensors are available to the robot. In your case, since you haven't ...


7

You can use the Jacobians of the inverse observation model to initialize the new row/column of the covariance matrix. Suppose your observation model is $g(\mathbf{x})$, which maps your state $\mathbf{x}$ to a predicted observation $\hat{\mathbf{z}}$. The inverse observation model $g^{-1}(\mathbf{x}, \tilde{\mathbf{z}})$ maps an observation $\tilde{\mathbf{...


6

If you read about the principles of sensor fusion, you will always get a better estimate when you combine data in the right way. For example, if you are measuring temperature in a room with 3 different temperature sensors, it is not ideal to only use the best sensor. The ideal case would be to create a weighted combination of each sensor, where the sensor's ...


6

Stereo vision and SLAM are pretty heavy algorithms, both in terms of the processing power and RAM required. You can forget about running this on a little microcontroller like an Arduino. These run at tens of MHz, and have only a few KB RAM. At the very least you'll need something running at hundreds of MHz with hundreds of MBs of RAM. You didn't say exactly ...


6

There are now some sub and around ~1000USD 3D Lidars available. I wanted to provide an answer for future reference if anyone else comes looking for "cheap" Lidars. LeddarTech M16 ~500 USD on Ebay Range: 110 m FOV: 19x3.0 degrees (up to 8.0 degrees depending on model, with 30 m range at that FoV) Refresh rate: 6.25 Hz https://store.leddartech.com/ ...


6

what you are looking for is written in the paper. Position refers only to x,y,z translational measurements while pose means position and orientation.


5

The value of $\alpha$ is just some threshold Mahalanobis distance. Let's say you have four entries in your map. You take a measurement, then you calculate four predicted measurements (one for each map entry). You can calculate the Mahalanobis distance between your measurement and each of your predictions. You now have four Mahalanobis distances. The ...


5

That very much depends. Since SLAM is a problem (or at least a technique), not a solution, there is no definitive SLAM algorithm. Semantically, you have to decide what goes on a "map" of the environment, and that determines how your algorithm should handle transient (aka moving) signals. But that's a digression. Permanent maps: Permanent maps should ...


5

A kinect mounted on your robot is enough for mapping and localization. There are a few different packages that will work: rgbdslam can create a 3d map using a kinect You can use depthimage_to_laserscan to take in a depth image from the kinect and output a laser scan message which you can then use with gmapping for mapping, and the nav stack to navigate your ...


5

Specifically, the Chi-Square Distribution(or Chi2, $\chi^2$, or equivalently $\chi^2_1$) is used to model the probability of the absolute value of the deviation of the measurement from it's expected value. This calculation is vital to tackle the measurement origin uncertainty problem. It can also be used to determine the "correctness" of a multi-hypothesis ...


5

In my opinion, the main difference is : Positioning : gives information about the robot coordinates. It gives raw data that you can use. Localization : it is the process of the robot (or other actor) locating itself (or the robot) on the map. Here a "method is applied" to locate the robot. Positioning gives you the coordinates. Localization is determining ...


5

From the paper: $\begin{bmatrix} range\\bearing \end{bmatrix} = \begin{bmatrix} \sqrt{(\lambda_x-x)^2 + (\lambda_y - y)^2 } + v_r \\ tan^{-1}(\frac{\lambda_y-y}{\lambda_x-x}) - \theta + v_{\theta} \end{bmatrix}$ The Jacobian is: $H = \begin{bmatrix}\frac{\partial range}{\partial x} & \frac{\partial range}{\partial y} & \frac{\partial range}{\...


5

My question: are there cases where you'd still need a LIDAR or can this expensive sensor be replaced with a standard camera? ... A each one of them has its advantages/disadvantages. Thus in some cases it would be more suitable to choose a lidar instead of a camera and vice-versa. A LIDAR doesn't require light to perceive the environment whereas a camera ...


5

The most important point is the scale. If you do monocular SLAM, your map will only be accurate up to scale so that you e.g. cannot compute the length of the travelled path in meters. The scale between your map and the world is not even constant over time so that if you come back to your starting point, it's going to be difficult to match the beginning and ...


5

Localization is always done with respect to a map. SLAM(Simultaneous Localization and Mapping). As it is in the name, also does localization with respect to a map. The only difference is that the map is unavailable so it has to create it. It is simultaneously creating a map, and then localization itself against it. How does the position probability ...


4

I know this is an old question but I will just add a bit to the currently existing answers. First, this is a very complex problem that everyone is trying to tackle, including google with their Tango project. In general, to localise indoor you either need to rely on your internal sensors, or get assistances from a indoor infrastructure deployed to assist you ...


4

Yes, as defined in literature, all localization requires a prior map. This is because the goal of localization is to localize a robot with respect to some feature. If you don't know where the feature is, you can't know where the robot is. If you are uncertain about the features, then you are doing Simultaneous Localization and Mapping (SLAM).


4

I can't think of a reason why a velocity model (based on control commands) would be superior to an odometry model (which uses the actual wheel speeds). The lecture notes from Freiburg on motion models imply the same: Odometry-based models are used when systems are equipped with wheel encoders. Velocity-based models have to be applied when no ...


4

Imagine someone put you in a wheelchair and blindfolded you, then let you reach your arm out and touch a wall. You could tell how far away the wall was, but as long as you were pushed parallel to the wall, how would you know how far you had gone? You can't count steps or see the end of the hall, so you do not have a way to index your samples of where the ...


4

The actual implementation of SLAM won't care about whether you are using high fidelity laser range finders or cheaper ultrasonic sensors. Both are providing range measurements with the biggest difference being the uncertainty. Of course ultrasonic sensors work on different principles so there is more to it than that, but both are providing range measurements ...


4

I suggest you to give a look to Sebastian Thrun's work here. In fastSLAM (both 1.0 and 2.0) each particle maintains an array which contains the states of the landmarks as well as the robot's states. The main novelty of fastSLAM 2.0 consists in the update of the robot's pose which does not only keep into account of the odometry but also of the most recent ...


4

See the walk-through The Schur complement helps with the closed form derivation but isn't necessary. It's just a nice convenient property of Gaussians and the covariance matrices. In these papers, a single bundle adjustment (BA) iteration is performed in a manner similar to what I initially described in the question. The reason the marginal / schur ...


4

The following are mostly based on "Factor Graphs for Robot Perception" by Frank Dellaert and Michael Kaess, with additional notes: As a reminder, marginalization is about having a joint density $p(x, y)$ over two variables $x$ and $y$, and we would like to marginalize out or "eliminate a variable", lets say $y$ in this case: \begin{...


4

Your intuition is mostly correct. Returning to where you started and re-observing landmarks you mapped earlier is called closing the loop in the SLAM literature. As you mentioned, your uncertainty will grow as the errors accumulate before you return to the start, if you don't have an absolute sensor. An absolute sensor is one that directly measures your ...


Only top voted, non community-wiki answers of a minimum length are eligible