Replies: 12 comments
-
How would you model patches in Webots? |
Beta Was this translation helpful? Give feedback.
-
That's a good question. One could simply overlay some kind of 'floor' patch in the world file? A simple (2d?) object that's flat on the floor and detectable by the sensor. |
Beta Was this translation helpful? Give feedback.
-
That seems to be tricky... I would rather implement this kind of sensor using a supervisor process:
|
Beta Was this translation helpful? Give feedback.
-
The downside of the above is that it is a lot of configuration per-robot right? |
Beta Was this translation helpful? Give feedback.
-
I wouldn't say a lot. Each robot has to be equipped with one Receiver sensor from which it will read its location. That seems reasonable, isn't it? The complexity will be in the supervisor only where a map of the patches has to be stored and the supervisor should send a specific message to each robot indicating its location. So the supervisor has to parse the world to list all the robots equipped with a Receiver which are supposed to receive a location message. |
Beta Was this translation helpful? Give feedback.
-
If I understand your issue correctly, could the following be a solution ? : |
Beta Was this translation helpful? Give feedback.
-
I'm affraid the GPS doesn't have orientation data right? |
Beta Was this translation helpful? Give feedback.
-
No, it hasn't. This information is provided by the InertialUnit sensor. So, either you add a InertialUnit sensor in addition to the GPS or you go for the supervisor option to provide orientation data as well. |
Beta Was this translation helpful? Give feedback.
-
Regardless of the path we take. Would it make sense to have an absolute position sensor? So much like the GPS sensor but with orientation information? |
Beta Was this translation helpful? Give feedback.
-
Does such a sensor exist in the real world? I believe what you are looking for is a combination of GPS and InertialUnit... Not sure if a real counterpart of this is available. We would like to avoid introducing sensors in Webots that do not exist in the real world. If you want to simulate these, a supervisor approach is probably better. |
Beta Was this translation helpful? Give feedback.
-
Considering that GPS and INS work well together to give the 6D information for location and rotation, I don't think that adding a new object will be very useful. Additionally, Webots sensors tends to match behaviour of real world sensors, and I don't know one which give this 6D info, without being an GPS coupled to an INS. However, I not aware of everything done in the sensor world :) Edit: you just got ahead of me @omichel ! |
Beta Was this translation helpful? Give feedback.
-
This can be done. We need a very high resolution image, pixel size maybe 0.0001m? Still the image must be large enough for big rooms, say 100m. Image size would be too large: 100m / 0.0001m = 1000000 pixels in both x ANY y direction => 1 billion pixels. to solve this, you can
One image would repeat itself, different places would have same image. But the overlay of images of different scale repeat much less often. Try random floating point numbers for both x and y size of the images. ImageTexture { repeatS and repeatT are both default set to true, so you don't have to change them yourself. filtering 4 is good too, it makes the pixels blurry and not rectangular. TextureTransform { scale must be changed to some useful values. note that images must not be at exactly same height level, or "z-buffer fighting" would appear. so place the half-transparent images at different height levels, e.g. at +0.001m height. e.g. floor at height 0.000 if you don't want to let your blurry image be visible to users, you could place the half-transparent images 1m below the floor, and move the coordinate of the camera device of the robot 1m below too (the physical part of the camera can still be on the right position). Maybe you need to add some source of light, i don't know. If this solution is too complicated, you can cheat by using a supervisor like suggested before.
|
Beta Was this translation helpful? Give feedback.
-
Is your feature request related to a problem? Please describe.
We currently use a Triton sensor in real-life: https://accerion.tech/solutions/triton/
This sensor recognizes learned floor-patches and gives an absolute pose upon recognition.
Describe the solution you'd like
Triton plugin for webots
Describe alternatives you've considered
Maybe implemented as a generic absolute position sensor. But it should only update on certain patches.
Beta Was this translation helpful? Give feedback.
All reactions