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


8

It is both acceptable and standard to use camera observations with a Kalman filter if you are talking about landmark positions in pixel or real-world space. Pixel space observations are usually randomly Caushy distributed but it turns out the Gaussian Kalman filter works pretty well in this case. The method you're describing using the Mahalonobis distance ...


6

I would model this as a one-state system (x), with the gyro as the control input. The gyro noise becomes state input noise, the compass noise becomes measurement noise. So your system model becomes $$\hat{\dot \theta} = \omega_{gyro} + w$$ $$\hat y = \hat x$$ where $\hat y$ is the filter's estimate of direction, which you compare to the compass direction ...


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

Here are a few possible points of consideration. Certainly the UKF has many counterpoints where it has an advantage too. The most obvious advantage is computation power. Don't forget that traditionally, these filters are implemented on embedded systems with very limited computational resources. Also, while I don't have much experience with UKFs myself, one ...


6

Your question addresses three very different problems, all of which are hard with complicated research-type algorithms. Localization: When you have a known map of the environment and an unknown robot position. The most common algorithm for this is Monte Carlo Localizataion. This is a particle filter exactly like what you're describing. Mapping: When the ...


6

Hi and welcome to the wide, ambiguous, sometimes confusing world of research. But seriously, looking at 20 years of papers will sometimes produce these confusions. Let's look at what's going on. In the first reference, what they are saying is: An INS/Gyro is nice, but has an error in it. That error changes (drifts) over time. Therefore, the error in the ...


6

Localization under water was always a problem in ocean robotics as electromagnetic signals do not propagate very well in water. I think your best localization sensor in that case would be the good old sonar, which works much faster in water. You could have four of them and detect how far are the pool walls on each side then with a triangulation algorithm ...


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

Monte Carlo localization is just another name for a particle filter. Monte Carlo methods are a broader name for computational algorithms that rely on random sampling. A particle filter is a specific application of the general Monte Carlo method for localization, and so it is simply referred to sometimes as Monte Carlo localization. If you ask Lord Google, ...


5

The gyrometer gives you angular velocity about each axis. You simply integrate these values to get the roll, pitch and yaw of the robot. Since this is 2D, all you care about is yaw, and you'll integrate one value. Of course, there are many different ways of integrating the value you read from the gyrometer. The easiest way is to sample the gyro, timestamp ...


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

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

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


5

Determining your location when you have a map but not your starting location is a job for a particle filter. (Wikipedia's entry on particle filters is not very helpful to beginners.) See also, this question. Here's an animation of a particle filter in use. The black boxes are walls, the green turtle is the robot, the red marks are possible locations, ...


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

The low distance between the top of the robot and the ceiling really restricts your options. It seems pretty much impossible to get a centralised overview of the whole room and work from there. I'm not sure what kind of 'room' you are talking about and how much you can instrument it, but it might be an option to place markers on the ceiling rather than the ...


4

Some ideas off the top of my head... Generally you can either have each robot sense it's own position or have some sort of system find the robots and send them information about their position (or a combination). Possibly using other robot positions to locate yourself is another option if they can communicate. You could also combine sensor information ...


4

If the ceiling is a flat surface that is visible from the tops of the robots, you could place marker stripes (or some other known fiducial pattern) on the ceiling at regular intervals. The stripes might be white or black lines or narrow reflective tape, detected using photosensors on top of robots. If wheel position sensors and accurate wheel control are ...


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

What you are describing is essentially a textbook case for using a Kalman filter. First you need a prediction step. Let's assume you are predicting the pose of the robot $(x,y,\theta)$, given the previous pose estimate and your high-frequency velocity measurements $(v,\omega)$, where $v$ is the linear velocity and $\omega$ is the angular velocity. $P$ is ...


4

A model of the environment in this context is an abstraction of the real world, which should be adequate for the task of the robot. For example, if you have a robot that needs to navigate an office building, you can make the abstraction that your model only needs to be in two dimensions. Further, for the task of navigation you could discretize your space in ...


4

One camera gives you no depth information, so you have to have some information about the scene before you start (a priori). The most common way to handle this is with structured light, where you project a known pattern and evaluate deviations from the pattern.


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

If it's actually underwater, how about a webcam looking at the tile pattern on the floor? (Could be considered "cheating" as it will obviously fail in a natural lake, for example.) You can find a paper using and demonstrating this method is this paper: Carreras, Marc, et al. "Vision-based localization of an underwater robot in a structured environment." ...


4

One of the prime sensors for global localisation on land is GPS. This is not an option underwater because electromagnetic waves get absorbed quickly. There are however alternatives, which provide navigation information which is not so easily available on land. Large Baseline (LBL) - is a method based on sonar, which works very similar to GPS, just using ...


4

I would go with one of two-ish methods to do this, but both methods require the craft to know its own position. You could do this with GPS, or an IMU, or any other means or combination of position tracking. Method 1 - Only track where you are and where "home" is. Use sensors to detect obstacles along your path and navigate around them as applicable. ...


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