0
$\begingroup$

Just started with the topic of mobile robotics.. so I'm still into concept making and little programming, but have not setup everything or tested at all. I got a (differential) mobile robot (lego mindstorm) and a external camera mounted on the ceiling of my testarea, looking top down. Robot is equipped with a bumper for collision detection and ultrasonic sensor. Area has some static obstacles (3-4) in it and there should be another lego robot moving around as dynamic obstacle. No markers or colors on the ground.

I plan to do a camera self-calibration taking odometry data and tracking the position of the robot by template matching. Creating the map get's done by image processing, with edge filtering and later converting to a gridmap. So next for localization: While I get more and more into all the subjects I ask myself how to do the localization in the best manner and still as collaboraive system. Is it possible or even clever to use a particle filter out of robot sensor data? Or is my localization given, just by my template matching and image position extracting? The problem I see comes with the second robot, which will get the localization very complex.

Another Question is, how can I achieve an iterative map update? - The map should react on happenings, like the moving robot (dynamic).

I was reading about layering the occupancy/grid maps and update the master map. So combining it with A* Path Planning should make it dynamic I guess?

Thanks and best regards

$\endgroup$
  • $\begingroup$ What do you mean by camera self-calibration? I don't understand in this context. Are you just saying you will calibrate the camera? $\endgroup$ – Ralff Jan 16 at 17:26
  • $\begingroup$ Yes, I will calibrate the camera without a pattern or toolbox. $\endgroup$ – mrsing Jan 16 at 17:50
0
$\begingroup$

You ask several questions, but I will focus mostly on the localization part.

Is it possible or even clever to use a particle filter out of robot sensor data?

Yes. You can use a particle filter, but I don't understand what part of your system is collaborative. Instead, you have a robot operating in dynamic environment (with a remote sensor). See next comment.

Or is my localization given, just by my template matching and image position extracting?

You can get position (and maybe) orientation measurements from the camera, but the measurements are corrupted with error, so I suggest fusing the measurements from encoders and the camera in a filter. You mentioned a particle filter, but I would use a Kalman filter (however particle will work).

Another Question is, how can I achieve an iterative map update?

I don't know what you mean. I suggest looking up some literature on Simultaneous Localization and Mapping (SLAM). I think you are wanting to do something along these lines, but doing this is not easy.

I was reading about layering the occupancy/grid maps and update the master map. So combining it with A* Path Planning should make it dynamic I guess?

I am not sure what you are asking here. Dynamic usually refers environments that are not static, so in dynamic, obstacles or landmarks can change position while in static they do not.

I hope this is helpful. The questions are very general, so hard to answer specifically.

| improve this answer | |
$\endgroup$
  • $\begingroup$ Do you suggest Kalman Filter for the Localization by means of fusing vision data & odometry (from encoders) because this is somehow a position tracking or local localization as called in literature compared to a global one, where one better implements a particle filter? By iterative map update I mean that the map reacts to changes, like a second placed/driving robot. At first the robot get's a map from the camera with image processing. Objects are static and not moved. In the next step the second robot gets added or an object is moved. Therefore the map should be updated somehow. $\endgroup$ – mrsing Jan 16 at 22:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.