Re: Vicon Configuration

71 views
Skip to first unread message

Danilo Souza

unread,
Apr 19, 2013, 9:54:15 AM4/19/13
to vrjuggler...@googlegroups.com
I don't have experience with Vicon, but can you get the tracker definition within the built-in VRPN Server? 
Maybe the name you are using to connect isn't the correct one, or the server is somehow inaccessible.
I would advise you to give a try with a simple VRPN client application to see if the communication with the server is ok.

Em sexta-feira, 19 de abril de 2013 00h11min09s UTC+1, jim smith escreveu:
Hi everyone,

Sorry if this is a dumb question but could some one explain what I'm doing wrong here?

Setup:
  1) A system on the network running Vicon Tracker 1.2 (which I have confirmed is reachable, and from what I understand has a VRPN server built in).
  2) I have replaced our tracking configuration file (see changes below) to track the user's head and wand using our Vicon system rather than DTrack.

ORIGINAL works:
     <?xml version="1.0" encoding="UTF-8"?>
<?org-vrjuggler-jccl-settings configuration.version="3.0"?>
<configuration xmlns="http://www.vrjuggler.org/jccl/xsd/3.0/configuration" name="Configuration" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.vrjuggler.org/jccl/xsd/3.0/configuration http://www.vrjuggler.org/jccl/xsd/3.0/configuration.xsd">
   <elements>
      <input_manager name="Input Manager" version="2">
         <driver_path>/usr/lib64/gadgeteer/drivers/</driver_path>
         <driver>DTrack_drv</driver>
      </input_manager>
      <alias name="VJWand" version="1">
         <proxy>Wand Proxy</proxy>
      </alias>
      <position_proxy name="Wand Proxy" version="1">
         <device>DTrackDevice0</device>
         <unit>0</unit>
         <position_filters>
            <position_transform_filter name="Position Filters" version="1">
               <pre_translate>0.0</pre_translate>
               <pre_translate>0.0</pre_translate>
               <pre_translate>0.0</pre_translate>
               <pre_rotation>0.0</pre_rotation>
               <pre_rotation>0.0</pre_rotation>
               <pre_rotation>0.0</pre_rotation>
               <custom_scale>1.0</custom_scale>
               <device_units>1.0</device_units>
               <post_translate>0.0</post_translate>
               <post_translate>0.0</post_translate>
               <post_translate>0.0</post_translate>
<!---
               <post_rotation>-90.0</post_rotation>
               <post_rotation>-90.0</post_rotation>
               <post_rotation>90.0</post_rotation>
               <post_rotation>-45.0</post_rotation>
-->
               <post_rotation>0.0</post_rotation>
               <post_rotation>0.0</post_rotation>
               <post_rotation>0.0</post_rotation>
            </position_transform_filter>
         </position_filters>
      </position_proxy>
      <position_proxy name="Head Proxy" version="1">
         <device>DTrackDevice0</device>
         <unit>1</unit>
         <position_filters>
            <position_transform_filter name="Position Filters" version="1">
               <pre_translate>0.0</pre_translate>
               <pre_translate>0.0</pre_translate>
               <pre_translate>0.0</pre_translate>
               <pre_rotation>0.0</pre_rotation>
               <pre_rotation>0.0</pre_rotation>
               <pre_rotation>0.0</pre_rotation>
               <custom_scale>1.0</custom_scale>
               <device_units>1.0</device_units>
               <post_translate>0.0</post_translate>
               <post_translate>0.0</post_translate>
               <post_translate>0.0</post_translate>
<!--
               <post_rotation>-90.0</post_rotation>
               <post_rotation>-90.0</post_rotation>
-->
               <post_rotation>0.0</post_rotation>
               <post_rotation>0.0</post_rotation>
               <post_rotation>0.0</post_rotation>
            </position_transform_filter>
         </position_filters>
      </position_proxy>
      <digital_proxy name="Button 0 Proxy" version="1">
         <device>DTrackDevice0</device>
         <unit>0</unit>
      </digital_proxy>
      <digital_proxy name="Button 1 Proxy" version="1">
         <device>DTrackDevice0</device>
         <unit>1</unit>
      </digital_proxy>
      <digital_proxy name="Button 2 Proxy" version="1">
         <device>DTrackDevice0</device>
         <unit>2</unit>
      </digital_proxy>
      <digital_proxy name="Button 3 Proxy" version="1">
         <device>DTrackDevice0</device>
         <unit>3</unit>
      </digital_proxy>
      <digital_proxy name="Button 4 Proxy" version="1">
         <device>DTrackDevice0</device>
         <unit>4</unit>
      </digital_proxy>
      <digital_proxy name="Button 5 Proxy" version="1">
         <device>DTrackDevice0</device>
         <unit>5</unit>
      </digital_proxy>
      <analog_proxy name="Analog 0 Proxy" version="1">
         <device>DTrackDevice0</device>
         <unit>0</unit>
      </analog_proxy>
      <analog_proxy name="Analog 1 Proxy" version="1">
         <device>DTrackDevice0</device>
         <unit>1</unit>
      </analog_proxy>
     <alias name="VJHead" version="1">
         <proxy>Head Proxy</proxy>
      </alias>
      <alias name="VJButton5" version="1">
         <proxy>Button 0 Proxy</proxy>
      </alias>
      <alias name="VJButton4" version="1">
         <proxy>Button 1 Proxy</proxy>
      </alias>
      <alias name="VJButton0" version="1">
         <proxy>Button 2 Proxy</proxy>
      </alias>
      <alias name="VJButton1" version="1">
         <proxy>Button 3 Proxy</proxy>
      </alias>
      <alias name="VJButton2" version="1">
         <proxy>Button 4 Proxy</proxy>
      </alias>
      <alias name="VJButton3" version="1">
         <proxy>Button 5 Proxy</proxy>
      </alias>
      <alias name="VJAnalog0" version="1">
         <proxy>Analog 0 Proxy</proxy>
      </alias>
      <alias name="VJAnalog1" version="1">
         <proxy>Analog 1 Proxy</proxy>
      </alias>
      <dtrack name="DTrackDevice0" version="1">
         <receive_port>5000</receive_port>
         <server_name>DTRACK SERVER'S IP</server_name>
         <command_port>PORT NUMBER</command_port>
         <min>-1.0</min>
         <max>1.0</max>
<!--         <device_host>vismini</device_host> -->
      </dtrack>
   </elements>
</configuration>

with a NEW VRPN config:
<?xml version="1.0" encoding="UTF-8"?>
<?org-vrjuggler-jccl-settings configuration.version="3.0"?>
<configuration xmlns="http://www.vrjuggler.org/jccl/xsd/3.0/configuration" name="Configuration" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.vrjuggler.org/jccl/xsd/3.0/configuration http://www.vrjuggler.org/jccl/xsd/3.0/configuration.xsd">
   <elements>
      <input_manager name="Input Manager" version="2">
         <driver_path>/usr/lib64/gadgeteer/drivers/</driver_path>
         <driver>VRPN_drv</driver>
      </input_manager>
      <alias name="VJHead" version="1">
        <proxy>Head Proxy</proxy>
      </alias>
      <alias name="VJWand" version="1">
         <proxy>Wand Proxy</proxy>
      </alias>
      <position_proxy name="Head Proxy" version="1">
         <device>Vrpn</device>
         <unit>1</unit>
         <position_filters>
            <position_transform_filter name="Position Filters" version="1">
               <pre_translate>0.0</pre_translate>
               <pre_translate>0.0</pre_translate>
               <pre_translate>0.0</pre_translate>
               <pre_rotation>0.0</pre_rotation>
               <pre_rotation>0.0</pre_rotation>
               <pre_rotation>0.0</pre_rotation>
               <custom_scale>1.0</custom_scale>
               <device_units>1.0</device_units>
               <post_translate>0.0</post_translate>
               <post_translate>0.0</post_translate>
               <post_translate>0.0</post_translate>
<!--
               <post_rotation>-90.0</post_rotation>
               <post_rotation>-90.0</post_rotation>
-->
               <post_rotation>0.0</post_rotation>
               <post_rotation>0.0</post_rotation>
               <post_rotation>0.0</post_rotation>
            </position_transform_filter>
         </position_filters>
      </position_proxy>
      <position_proxy name="Wand Proxy" version="1">
         <device>Vrpn</device>
         <unit>0</unit>
         <position_filters>
            <position_transform_filter name="Position Filters" version="1">
               <pre_translate>0.0</pre_translate>
               <pre_translate>0.0</pre_translate>
               <pre_translate>0.0</pre_translate>
               <pre_rotation>0.0</pre_rotation>
               <pre_rotation>0.0</pre_rotation>
               <pre_rotation>0.0</pre_rotation>
               <custom_scale>1.0</custom_scale>
               <device_units>1.0</device_units>
               <post_translate>0.0</post_translate>
               <post_translate>0.0</post_translate>
               <post_translate>0.0</post_translate>
<!---
               <post_rotation>-90.0</post_rotation>
               <post_rotation>-90.0</post_rotation>
               <post_rotation>90.0</post_rotation>
               <post_rotation>-45.0</post_rotation>
-->
               <post_rotation>0.0</post_rotation>
               <post_rotation>0.0</post_rotation>
               <post_rotation>0.0</post_rotation>
            </position_transform_filter>
         </position_filters>
      </position_proxy>
      <vrpn name="Vrpn" version="2">
        <tracker_server>Tracker0@IP ADDRESS</tracker_server>
        <button_server>Button0@IP ADDRESS</button_server>
        <analog_server>Analog0@IP ADDRESS</analog_server>
        <tracker_count>2</tracker_count>
        <button_count>0</button_count>
        <analog_count>0</analog_count>
        <min>-1.0</min>
        <max>1.0</max>
        <position_filters>
            <position_transform_filter name="Position Filters" version="1">
                <pre_translate>0.0</pre_translate>
                <pre_translate>0.42672</pre_translate>
                <pre_translate>0.0</pre_translate>
                <pre_rotation>90.0</pre_rotation>
                <pre_rotation>0.0</pre_rotation>
                <pre_rotation>0.0</pre_rotation>
                <custom_scale>1.0</custom_scale>
                <device_units>1.0</device_units>
                <post_translate>0.0</post_translate>
                <post_translate>0.0</post_translate>
                <post_translate>0.0</post_translate>
                <post_rotation>0.0</post_rotation>
                <post_rotation>0.0</post_rotation>
                <post_rotation>0.0</post_rotation>
                </position_transform_filter>
            </position_filters>
        </vrpn>
   </elements>
</configuration>

This just produces "VRPN Warning(n) Tracker0: No response from server for >= t seconds" over and over.

So, does anyone have experience configuring vicon with vrjuggler?  If so could you provide a copy of your configuration file?  I know with the ViconDataStreamSDK you can just supply the object and address to get an object's position/orientation
ie: object_name@ip_address, but I'm not sure how that works with vrpn.

Thank you for any help you can provide!


Reply all
Reply to author
Forward
0 new messages