I just started with mobile robotics. I'm trying to do a collaborative system between a mobile robot and a ceiling camera (Raspberry). They should do all tasks as a "team". Means Calibration, Pathcreation/planning (just based on camera created map), Localization, Map Updating.
Now I want to implement a localization with a given map based on the camera image and a robot with odometry and sonar sensing.
So far I implemented a Odometry Model and I have the projection matrix of my camera based on Calibration I did. It is from Vision Data (Template Matching) und Pose Data (Odometry). Algorithm was based on DLT.
And I created a binary map from the camera image which is a first Map for the Robot but the robot will Update it later based on sonar sensing (lines/marks on the ground are objects for the camera but no threat for the robot) This binary map should be like a grid map.
I am stumbling on 2 questions:
What is the best way to implement localization here? Do I need to do it with a particle filter? What It be good to have camera data (Reconstruct Imagedata to world coordinates) and sonar data as measurement model? Another roboter will later be in the same playfield, which leads to bad vision data bc my template Matching will not guess the right robot I guess? (Robot + Camera should work together in localization)
How can I scale my so far created map after calibration? The binary image is 76x120 pixels and I have the camera projection matrix. Do I just reconstruct the world points based on the image size?