Utilising remote control and motion
1 / 33


  • Uploaded on

UTILISING REMOTE CONTROL AND MOTION. Colin Ford March 2012. SimGEN - standalone. Terrain obscuration. GLONASS. Bulk logging. GPS. NMEA output. Error modelling. Galileo. Antenna modelling. SBAS. Signal manipulation. QZ. Vehicle modelling. Multipath. SimGEN – remote control.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'UTILISING REMOTE CONTROL AND MOTION' - dalila

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Simgen standalone
SimGEN - standalone

Terrain obscuration


Bulk logging


NMEA output

Error modelling


Antenna modelling


Signal manipulation


Vehicle modelling


Simgen remote control
SimGEN – remote control

  • Remote desktop…





SimGEN IP Address

Remote computer

(VPN or on LAN)

Other test equipment


  • Much of what SimGEN is capable of can be accessed / controlled “remotely” – from another program on the same PC or from another system entirely.

  • Known as “SimREMOTE”

  • Depending upon the scale of your testing, these facilities can meet every need from simple remote control to automated testing through to full HWIL integration.

  • SimREMOTE allows a user to control SimGEN and input trajectories over several physical mediums using a defined syntax.

Remote commands category summary
Remote Commands – Category Summary

  • See SimREMOTE manual for full list of available commands

  • Command Categories

    • Scenario Configuration : initial set-up commands

    • Antenna Pattern : select antenna pattern or set offsets

    • Signal Power : adjust simulated power, turn power on/off

    • Signal Control : add multipaths, apply code/carrier offsets

    • Data-streaming : enable/disable, output settings

    • Motion : vehicle motion control

    • Data Requests : scenario info such as time, vehicle position, etc.

    • Nav Data : insert nav data errors or modifications

    • Interference : control interference signals

  • ‘Typical’ syntax format

    • <timestamp>,<command_id>,<vehicle/antenna_id>,<parameter1>,<parameter2>,<parameter3>,…..etc….

Remote commands read write interaction



Remote Commands – Read/Write Interaction

  • Remote control commands

    • ASCII based – for example:

      • SC,<scenario dir>  “Select scenario”

      • AR  “ARM”

      • RU  “RUN”

    • With each “write” of a command a “read” should be issued. This sequence should always be maintained (except UDP motion).

Remote system example auto test
Remote System Example – auto test

  • Automating testing…

Other equipment?


External System

Control & Monitor CommandsSimREMOTE

RF Generator

Position Solution Data


GNSS Receiver

Auto-test controller system

Remote system example hwil
Remote System Example - HWIL

  • A realistic simulation system

    • Open loop or closed loop

Other equipment?


Trajectory / Control


External System

RF Generator

Position Solution Data


GNSS Receiver

Available sources
Available Sources

  • Remote commands can be supplied ‘external’ to the scenario

    • Standard

      • TCP/IP : standard ethernet protocol

      • UDP/IP : only supports MOD, MOT, MOTB commands (use another interface for initial scenario set-up)

      • RS-232 : only recommended for simple scenario start-up and data requests.

      • Remote Command File : stored local to the SimGEN PC but independent of scenario selection  ‘emulate’ the above interfaces

    • Optional (requires extra PCI cards)

      • IEEE

      • ScramNET

  • Equally, pre-configured commands can be specified directly in the scenario from file

    • User Motion File (.umt) : used for vehicle motion commands

    • User Command File (.ucd) : used for most other commands

Available sources user motion file
Available Sources - User Motion File

  • Motion needs exceed capability of built-in SimGEN models

  • Avoids extra considerations for synchronisation with external system  open loop

  • Associate motion directly with scenario

  • Enable a user motion file (.umt file) from within the vehicle controls

  • .umt file syntax can be

    • MOT or MOTB format (see later slide)

    • Recorded NMEA data from actual route (GGA / GNS / GLL / RMC)

Available sources user commands file
Available Sources - User Commands File

  • Previously, certain commands were only possible via “remote command file” or over a remote connection

    • Neither sources held any scenario association

  • Remote commands associated directly with scenario

  • The file should NOT contain commands such as

    • SC, RU, AR, TR, TIME, UTC_OFFSET, etc (that make reference to the scenario)

    • VEH_ , ANT_ , SIG_ (that make data requests)

    • Motion commands should be referenced in the .umt file

Available sources external interface selection
Available Sources - External Interface Selection

  • Access [Options->Remote Command Settings]

  • Can enable multiple interfaces

    • Currently use of command file is recommended as stand-alone

  • Settings saved in user settings file

Remote commands remote trajectories
Remote Commands – Remote Trajectories

  • The motion is a timed command that can be supplied in one of two formats:

    • MOT (ECEF frame with respect to WGS84)

      • <time>,MOT,v1_m1,X,Y,Z,Vx,Vy,Vz,Ax,Ay,Az,Jx,Jy,Jz….

    • MOTB (Lat, long, height and linear motion is with respect to local geographic frame (north, east, down))

      • <time>,MOTB,v1_m1,lat,lon,hgt,Vn,Ve,Vd,An,Ae,Ad,Jn,Je,Jd….

  • Both take a large number of parameters but the minimum requirement is for position and velocity on all three axes

    • Better fidelity when acceleration and jerk supplied

    • Can be supplied in ASCII (TCP/IP) or binary UDP

Tcp ip trajectory ascii
TCP/IP Trajectory (ASCII)

  • <time>,MOT,v1_m1,….

  • <msg><status>5</status></msg>

Udp ip trajectory binary
UDP/IP Trajectory (Binary)

  • 01110011001001001…

Remote commands remote trajectories1
Remote Commands – Remote Trajectories

  • Ideally provide motion in-step with the scenario iteration rate

    • Dis-continuous motion data may lead to motion errors

  • SimGEN processes commands from a buffer 300-400ms before their time of applicability

    • Commands from file read-in to buffer so are always available when required

    • Commands from remote source, where possible, should be sent in sufficient time, ideally 1 epoch early

    • Closed-loop systems  data never available ‘early’. Best result is data arriving ‘on-time’ and thus applied on the following epoch (more detail in “Timing Considerations” session)

  • SimGEN uses cubic spline to

    • determine acceleration / jerk terms if not supplied

    • extrapolate motion if any iteration epoch is ‘missing’ supplied data (data not sent or arrives late or is lost ‘en-route’)

  • User must ensure motion is smooth / valid

    • Any motion error causing excessive acc / jerk is reported by SimGEN

    • Motion may deviate from required trajectory and/or cause ‘noisy’ RF

Time synchronisation
Time Synchronisation

  • Remote commands contain a timestamp

  • Need to be sent at the ‘right time’; corresponding to the scenario ‘time into run’

    • No ‘master clock’; assume independent PC clocks are ‘close enough’

    • Spirent ‘master clock’; supply 1PPS signal to remote system

    • External ‘master clock’; supply 1PPS to simulator SYNC IN

  • Spirent ‘master clock’

    • [Hardware] Input simulator 1PPS Timer output to timer card installed in remote PC

    • [Software] Input SimGEN UDP datastream ‘time sync’ message via ethernet connection to remote PC

  • External ‘master clock’

    • Simulator 1PPS aligned to signal at SYNC IN port

    • Source could be the remote system itself or other external equipment

Trigger modes
Trigger Modes

  • Three modes

  • Disabled

    • Scenario runs as soon as SimGEN is armed and ready, on next 1PPS

  • Immediate

    • Scenario runs ‘immediately’, within 400-600ns of receipt of a trigger pulse

    • Simulator 1PPS is halted until trigger sent – pulse can be sent indiscriminately

    • Simulator 1PPS signal restart marks the t=0 of simulation

  • Delayed

    • Scenario runs ‘after’ receipt of trigger pulse, on next 1PPS

    • Simulator 1PPS still free running and should be monitored by remote system

    • Send trigger pulse at least 100ms BEFORE the 1PPS which will mark t=0 of simulation

Example sequence of events
Example Sequence of Events

  • Consider 100ms iteration rate


User sync with 1PPS

include t0 and t1 motion

Send initialisation data


Send t2 motion by t1

Send t3 motion by t2

Read SC status

Send SC


Send RU

Send AR

Configure hardware





Scenario t0

Data streaming
Data Streaming

  • Obtain simulation data in real-time

    • Remote system could simply send data request remote commands

    • Datastreaming feature offers scenario data ‘for free’

  • Streamed over Ethernet using UDP/IP protocol

  • Client program provided to retrieve data

  • Configure manually within scenario tree or via remote

Data streaming1
Data Streaming

Equal to or less than SimGEN iteration rate

Every second rather than at update rate

Only when SimGEN state changes

Where you want the data to go

Log selected messages to a file

Ensure client built with same version for data format compliance

One datagram per selection output at selected update rate

Data streaming client
Data Streaming Client

  • Spirent provide example client and source code

  • Customer required to create their own data streaming client

  • See user manual

Data streaming message logger
Data Streaming Message Logger

Choose which datagrams to log

Choose file format

Important to use with compatible version of SimGEN

Replay binary file created by SimGEN (or this utility)

Posapp v4 xx
PosApp V4.XX

Remote control


PosApp GUI



Shared drive



PosApp Engine


Remote commands

/ trajectory





Signal Generator


Posapp engine v4 xx
PosApp Engine V4.XX

  • Is run by the PosApp GUI at start-up if no Engine is detected or connected to if there is a Engine running already

    • GUI runs at normal priority

    • Engine runs at Windows Real Time priority

    • GUI does take a little longer to shutdown as it waits for the Engine to shutdown

  • Engine can be used without the GUI

    • Engine does all the logging, data production, signal generator control, command processing

    • Without the GUI bound in to the Engine code the Engine is less time sensitive and more stable

    • No longer uses the registry instead a User settings file is created

    • Ideal for remote control when a GUI is not required

User settings v4 xx
User settings V4.XX

  • Human readable JSON formatted file that contains the data previously contained within the Windows registry

User settings v4 xx1
User settings V4.XX

  • File is loaded in to memory by the PosApp Engine at start-up

  • File stores settings by logged in user name

  • Settings can now be changed using the new remote commands




  • You can even use it to store your own settings!

User settings v4 xx2
User settings V4.XX

  • USER_SETTINGS_LOAD[,<user_id>][,<reload>]

    • user_id ::= ASCII string

    • reload ::= “reload_from_file” (rather than memory)

    • This command will cause the engine to examine the user settings for the user name given. If this user name is not found then a new user will be created with default settings applied. If no user name is given then the last user name to issue this command will be used.

    • Returns a JSON string in <data>



<status> 2 </status>





"aiding logging on": "false",

"motion logging on": "true",

"sat data logging on": "false",

"logging rate ms": "10",

"output format": "1",

"use scenario dir": "true",

"scenario dir": "",

"dump nav data": "true",

"Novatel msg delay": "100“


User settings v4 xx3
User settings V4.XX


    • JSON_string ::= JSON formatted string of settings

    • This command will update the currently loaded user settings within the Engine. The <JSON_string> can represent the full range of settings or can be a partial range.

USER_SETTINGS_UPDATE,{"remote from scramnet": "false",

"multiple remote enabled": "false",

"remote from file": "false",

"msg disable popups": "true",

"aiding logging on": "false",

"motion logging on": "false",

"sat data logging on": "false",

"logging rate ms": "10",

"auto repeat run": "false",

"dummy run": "false",

"dump sig gen msgs": "false",

"dump nav data": "false",

"dummy run warning": "false",

"high rate period": "10",

"number of boards" : "1",

"usage board 0": "2"}

User settings v4 xx4
User settings V4.XX

  • USER_SETTINGS_SAVE[,<user_id>]

    • user_id ::= ASCII string

    • This command will cause the engine to save the currently loaded user settings. If the <user_id> is supplied then the currently loaded settings will be saved under that user. If the <user_id> is not supplied then the settings will be saved under the last loaded user.


User settings v4 xx5
User settings V4.XX

  • Storing your own settings is easy:

    • USER_SETTINGS_UPDATE,{“Hello”,”World”}


      • Returns all our settings as well as the new “Hello”:”World”

  • With this feature your remote control system can store its own settings within the file for retrieval later

    • For instance the last scenario it ran

    • Receive set-up data etc…

Thank you

Thank You

Colin Ford