Menu

Single events via UDP port using DVS128 Camera

Help
HGM
2015-02-27
2015-04-02
  • HGM

    HGM - 2015-02-27

    Hi,
    Is it possible to send single events via the UDP port using a DVS128 camera via USB? I was just wondering if it would be sufficient to reduce the buffer size to 12 byte (resembling the size of a single event, if I remember correctly).

    Best,
    Hanno

     
  • Tobi Delbruck

    Tobi Delbruck - 2015-02-28

    I guess you mean in jAER, run the DVS128, and do File/Remote/Enable AEUnicastOutput. Then set bufferSize to 12. That would run but the overhead of sending a UDP packet for each event would be so huge I bet 99.9% of packets would be lost even sending to localhost.
    Why do you want to do this?

     
  • HGM

    HGM - 2015-03-11

    Hi Tobi,
    what we are basically trying to accomplish is to interface the DVS camera via jAER to ROS. Hence, we would like to synchronize the timestamps generated by the camera with ROS's representation of time. The idea was that by letting jAER output only single events, we could easily achieve that. However, as you mentioned, the overhead seems to be much too large, which is the reason why we are losing most of our events. Is it possible to reset the generation of timestamps on the camera via the UDP port? If so, how to accomplish that?

    All the best,
    Hanno

     
  • Tobi Delbruck

    Tobi Delbruck - 2015-03-11

    At the moment, AEViewer on UDP port 9997 only has these commands:

                   remoteControl = new RemoteControl(REMOTE_CONTROL_PORT);
                    remoteControl.addCommandListener(this, REMOTE_START_LOGGING + " <filename>", "starts logging ae data to a file");
                    remoteControl.addCommandListener(this, REMOTE_STOP_LOGGING, "stops logging ae data to a file");
                    remoteControl.addCommandListener(this, REMOTE_TOGGLE_SYNCHRONIZED_LOGGING, "starts synchronized logging ae data to a set of files with aeidx filename automatically timstamped"); // TODO allow sync logging to a chosen file - change startLogging to do sync logging if viewers are synchronized
    

    I can add a REMOTE_RESET_TIMESTAMPS quite easily; just let me know.
    I would guess this would result in ~10ms jitter however; would this be OK?

    Tobi

    PS remember to login to SF BEFORE you enter a response; otherwise your response here is lost!!!!

     
  • Tobi Delbruck

    Tobi Delbruck - 2015-03-11

    BTW, see the scripts in https://svn.code.sf.net/p/jaer/code/scripts/matlab for examples of how to use UDP port to control the AEViewer.

    I just added the script jaer_ZeroTimestamps and just committed an updated AEViewer that supports this.

    Here is the matlab script so you can see how it works:

    function jaer_ZeroTimestamps
    % sends remote control command to running AEViewer to zero the timestamps
    % on all viewers

    port=8997; % printed on jaer startup for AEViewer remote control
    u=udp('localhost',port,'inputbuffersize',8000);
    fopen(u);
    cmd=sprintf('zerotimestamps');
    fwrite(u,cmd);
    fprintf('%s',fscanf(u));
    fclose(u);
    delete(u);
    clear u

    Let us know how it works out.
    Tobi

     
  • HGM

    HGM - 2015-03-11

    Thanks, Tobi!! I'll try to estimate if the latency between sending the command and receiving a 'zeroed' timestamp is suffcient for our purposes next week. I will let you know how it worked out...

    Best,
    Hanno

     
  • Marek Otahal, CTU Prague

    @HGM : I would be very interested in ROS-jAER interface, may I ask how is it going?
    Thanks for the work! Mark