People who code: we want your input. Take the Survey

Tag Info

10

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 ...

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 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/ ... 5 I just see your post now and it is maybe too late to really help you... but in case you are still interested in this: I think that I identified your problem. You write the innovation covariance matrix in the following way E = jacobian measure * P * jacobian measure It might be alright in theory but what happens is that if your algorithm is effective and ... 5 The value of$\alphais 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 If you know the wheel radius and the speed of the robot, you will be able to calculate its location at any time relatively to its initial position. travelled_distance = Speed * time; current_position = initial_position + travelled_distance; This is a simplified 1-dimensional equation than can help you. But keep in mind that without sensors and odometry the ... 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 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 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 ... 4 Lidar, sonar, and radar all work generally the same: Emit a pulse. For radar, this means briefly energizing an antenna. For sonar, it means briefly energizing a sound transducer/speaker. For lider, this is means briefly flashing a light (typically a laser). As you emit the pulse, start a timer. Wait for a reflection to return. For radar, this means an ... 3 I wasn't totally sure what you meant by "draw and arc and check where the arc is on valid map position. Then move the robot there and calculate the angle to rotate the robot". Perhaps you mean something like this: You draw an arc starting at the face, coming straight out of the all (tangent to the face's normal vector), and ending at the robot. That's ... 3 Just to add up on this, using odometry to estimate the robot position is much faster than using data from a laser scanner. In most situations, data from a range scanner is handled as a 2D PointCloud. This means that in order to estimate the relative pose between positions A, B you need to align their corresponding PointClouds and find the most probable pose ... 3 What you are referring to is plotting the estimate with the uncertainty bounds - in particular the3\sigma$($\pm3$standard deviations) bounds which corresponds to 99.7% probability that the true state is within this region. The uncertainty bounds can be extracted from the state covariance matrix. I think what you are plotting is the residuals of some ... 3 I assume that your target environment is indoors as you use RGB-D camera. When you want to use it with quadrotor, you need high update rate for accurate pose estimation. Some packages that you can look at are http://vision.in.tum.de/data/software/dvo http://wiki.ros.org/demo_rgbd https://github.com/ccny-ros-pkg/ccny_rgbd_tools Next, if you want to use ... 3 There are many ways to measure the statistical difference between two distributions. For your case, you might consider the Bhattacharyya distance. From that page, the Bhattacharyya distance$D_B$is$$D_B={1\over 8}(\boldsymbol\mu_1-\boldsymbol\mu_2)^T \boldsymbol\Sigma^{-1}(\boldsymbol\mu_1-\boldsymbol\mu_2)+{1\over 2}\ln \,\left({\det \boldsymbol\Sigma \... 3 Frontier based exploration is concerned primarily with exploring the physical space in order to produce an occupancy grid (or cost map) of the terrain traversibility. The control actions follow a set of rules which work empirically well (but not theoretically optimally) to achieve for the frontier-exploration goal. Information-gain methods can be used to ... 3 I'm pretty sure that a very basic IR proximity sensor would do the trick. Glass is opaque to all but visible light. IR (as well as UV) will not penetrate the glass and you ought to be getting reliable distance measurements to the glass's surface. 3 I don't think what you're asking is possible with the state of the art sadly. You cannot, AFAIK, generate a 3D map from a hand held 2D LIDAR without any other sensors. It's a very interesting question you're raising but I think it's a research question :) A LIDAR is going to give you a 2D laserscan/Pointcloud. That 2D data will not possible to extrapolate ... 3 That is an already solved problem. As Squelsh mentioned CSIRO released its initial version in 2009 and their work is commercialized by GEOSLAM already. One of a CMU student released a open source version of CSIRO's work, called LOAM. Unfortunately, he also commercialized his work and closed the original git. Good news is that many people have a copy of ... 3 As the wikipedia page of Occupancy grid mapping explains, the result of the mapping process is a binary 1 or 0, occupied or not, the decision itself may be based on noisy data, which involves the probabilistic assessment of prior information to infer the posterior probability of the occupancy. 2 The world is always bigger than the robot's memory can hold (it's bigger than your memory can hold, too). There are 2 ways to reduce the space that you need. The first is to consider whether you need to pre-allocate the storage space, and the second is to consider what kind of compression you can use. Pre-allocating space makes sense if you already have ... 2 Unless I misunderstood what you're trying to show on this plot, you want to essentially plot your estimate (or, in this case, the estimation error) with its 3 standard deviation bounds. What you have shown appears to be the bounds computed simply as 0 +/- 3sigma, but what you really want to plot is error +/- 3*sigma. That is to say, the uncertainty of the ... 2 Suppose you have three measurements (1, 2, and 3) and four landmarks (a, b, c, d). The joint compatibility is a measure of how well a subset of the measurements associates with a subset of the landmarks. For example, what is the joint compatibility of (1b, 2d, 3c)? First we construct the implicit measurement functions$f_{ij_i}$for each correspondence ($...

2

SLAM is so huge topic with a lot of challenging problems. For beginners, I don't really recommend you to read papers. The authors of academic papers assume you know not only the basics in the field but they assume you know the problem that they handle. What you really need is a book that covers the problem in a complete manner, therefore this book is the ...

2

It really really depends on the kind of map. If you want a map that is a 2-D grid of boolean values, then it depends on how sparse the map is expected to be. If you want to keep all boolean values, you would need at least N * M * S bits (assuming the map is N by M and each location has S sensor readings), which for your numbers translate to ~2MB of data. If ...

2

I really don't think the format matters, so I'd suggest you go for what's most convenient to you. You might want something that can be displayed easily on screen, any bit map format will do. You could even use a simple text file with occupied grid squares marked, a really simple example below: 1111111 1000001 1110001 1000001 1111111

2

I did casually search for something like this a year or two ago. "Sparse sensing" or "sensing limited" were the sort of phrases that cropped up. Kris Beevers has some interesting publications in this sort of area, such as SLAM With Sparse Sensing. His general approach was to maintain previous sensor readings while changing the direction of the robot, to ...

2

The camera should work fine as long as you can easily find the rover in the environment. An easy way to accomplish this is to place two different colored markers on the rover. By finding the markers in the image you can get position and orientation. You'll need to calibrate the camera to get focal lengths and the optical center. This is easily done with ...

2

You'll find that Gmapping works a lot better. I have used core slam quite a bit with the 04lx, tweaked the code, and tuned the algorithm. It works in a lot of cases, but... If you really want to keep using it, adjust your parameters so that it searches more (more particles) and really make sure that the robot motion is inside the search domain. While ...

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