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

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

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


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

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

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

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

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

This is a complete re-working of the answer I had originally provided. If you're curious, you can check the edit history and see what was posted earlier. In comments to this question, OP stated that they might be able to get throttle and steering angles for the robot, but they probably wouldn't be accurate. That's okay; it's better than nothing. OP also ...


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

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


4

Particle filter According to the OP a robot with at least a distance sensor is available and a map too. That's a nice starting point for developing a hypothesis tracker aka particle filter. At first a game engine is needed which simulate the map and the position of particles. The game-engine calculates the expected sensor-information from the distance-...


4

Grid based FastSlam relies on the same principle that Landmakr based FastSlam. The difference is that we are not working with each grid cell as a landmark, but the whole gridmap itself. For Grid based FastSlam, each particle updates its own grid-map using the data from the range sensor (Lidar, UltraSound, etc.) and its odometry. This is called "Mapping with ...


4

You can use a very low information matrix value at the orientation elements of your state, given that the information matrix is the inverse of the covariance matrix. The covariance matrix represents the uncertainty about the measurement, and the information matrix the certainty about it. So, the GPS constraints would have a small value at the elements ...


4

The kalman filter that you've already been using on single robots can be broadened to apply to the swarm of robots. If you previously represented the state of a single robot with 5 variables, and you have 3 robots, then combine all 3 robot states into one state with 15 variables. That larger state representing the entire group could reasonably be called the "...


3

Using an IMU you can only measure: acceleration, rate of rotation, and direction of magnetic field. You cannot measure velocity, you can only integrate the acceleration to infer velocity. As you can imagine, this leads to velocity drift, which in turn leads to a lot of unbounded position drift. There are three parts to your problem: Infer the robot's ...


3

I agree that the motion models in Probabilistic Robotics are badly suited for omnidirectional robots. I always interpreted the models presented there as examples only that should enable you to devise a custom model for your own robot. First of all you need to model and solve the forward kinematics for this kind of omnidirectional drive. I guess you already ...


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