locked
Simulated Robot to Robot communications ?? RRS feed

  • Question

  • Hi All,

    I am attempting to get two or more robot entities in a simulated swarm to communicate with each other using basic Infra Red Data signals IRDA.

    I have found a number of examples through books and online on using infra red sensors to detect distances to objects within the simulation environment however I am at a loss when looking for simulated IRDA robot communications. Could someone let me know if this is even possible and if so provide me with some pointers or a basic code example.

    The basic messages I would need to send would be something like (Name:Robot_1) (Position:X,Y,Z) (Recieve_Sensor:123).

    I am not restricted to using IRDA for the robot entities so if anyone knows of another way that multiple robots can use simple communications to send basic messages between each other within the MRDS simulation this would be a great help.

    Thanks in advance

    Graham Cannell

    Wednesday, November 25, 2009 1:17 PM

Answers

  • Hi,

    I think you have to write two service and a custom entity to simulate IRDA communications. One "main" service, that centralize and simulated the communication link and one service per robot that simulated the IRDA device. You could use Raycast to simulate the communication, but a raycast impact point only contains information about the impact material. So, your IRDA receptor must be create with a unique named material.

    To summarize :

    Entity :
    - Unique material name
    - Does raycast
    - Sends raycast result to robot service

    Robot service :
    - Registers to simulated entity
    - Gets the raycast results
    - Partner with main service to send and receive messages (subscribe to notification with their material name as filter)

    Main service :
    - Handler message routing with subcription/notification system


    For example, RobotA entity does a raycast and find an impact point on RobotB entity. Robot service knows that RobotB is in range and post a send operation on main service port "Send ("RobotB Material Name", "RobotA, Position 1,1,1, ...")". The main service raises a notfication on operation handler that simulated robot service B received

    Regards,
    Vincent
    http://www.simplysim.net/
    Monday, November 30, 2009 8:18 AM