I have 2 roaming robots, each in different rooms of a house, and both robots are connected to the house wifi. Each robot only has access to the equipment on itself.


How can the robots be aware of each other's exact position using only their own equipment and the house wifi?

EDIT: Additional Info

Right now the robots only have:

  • RGBDSLAM via Kinect
  • No initial knowledge of the house or their location (no docks, no mappings/markings, nada)
  • Can communicate via wifi and that part is open ended

I'm hoping to be able to stitch the scanned rooms together before the robots even meet. Compass + altimeter + gps will get me close but the goal is to be within an inch of accuracy which makes this tough. There IS freedom to add whatever parts to the robots themselves / laptop but the home needs to stay dynamic (robots will be in a different home every time).

  • $\begingroup$ What does access mean here? Does it only mean that one robot can't access the eqipment on the other robot? However, if each robot has the ability to measure its own pose, can't it transfer this data through wifi to the other robot? $\endgroup$
    – bluebird
    Feb 2 '16 at 13:18
  • 1
    $\begingroup$ What sensors / equipment are on your robots? (Lidar, IMU, odometry, stereo/mono camera, etc.) Are they running SLAM? Do the robots know their own position? Do they each have a map of the entire house? Are there docks or other known landmarks or locations? Can the robots talk to each other? Do the robots know what code or behavior logic is running on the other robot? More detail in your question will improve the answers you get. $\endgroup$
    – Ben
    Feb 2 '16 at 14:42
  • $\begingroup$ @Ben I added more detail to help give a better picture of the situation. $\endgroup$
    – Jacksonkr
    Feb 2 '16 at 15:03
  • $\begingroup$ @bluebird Yes, all of a robots data is transferable via wifi. Camera footage, mappings, localization, etc. $\endgroup$
    – Jacksonkr
    Feb 2 '16 at 15:04
  • 1
    $\begingroup$ @Jackson since both robots have their own SLAMs, you may consider utilizing one global frame for both SLAMs. $\endgroup$
    – CroCo
    Feb 2 '16 at 15:51

Basically you can utitilize one global frame for both robots since each robot has its own SLAM. SLAM provides an estimate for a robot's pose (i.e. location and direction). If you unify the global frame for both SLAMs, then you can determine the poses of the two robots. I've drawn a picture to illustrate my approach.

enter image description here

As you can see from the above picture, two robots are placed in one global frame. Once they start running, there is one landmark in this picture. Each SLAM will utilize this landmark to estimate the robot's pose, therefore, since the robots can communicate with each other, each robot can have an estimate for the other robot's pose.

  • $\begingroup$ This technically solves my question but in situations where time is of the essence do you have any tips for solving this problem as fast as technologically possible? $\endgroup$
    – Jacksonkr
    Feb 2 '16 at 16:35
  • 1
    $\begingroup$ SLAM is capable of running in online process. Think about Driverless cars where SLAM is utilized to provide the robot's pose instantly. This depends on the way SLAM is implemented which irrelevant to your question however, it is really interesting question. Feel free to ask it in an independent post. $\endgroup$
    – CroCo
    Feb 2 '16 at 16:41

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.