When starting up the Vizard software the user is presented with a resolution and graphics setting option panel as shown above. There is an option on the lower portion of this panel to turn off this plane on start-up and only show it if the program is started while pressing the option key. Note that the Vizard screen size can be dynamically changed after startup as well.
Note the 3 quality settings that you can choose. Fast mode does not render shadows but does basic shading. It is convenient on older computers or when render speed is essential. Good mode casts good quality shadows, but does not do any full-screen anti-aliasing. Beautiful mode casts the best shadows and includes 2x anti-aliasing.
Next Vizard presents a panel where the user can select which simulation to visualize. To play back a previously recorded BSK simulation press the Select button and navigate to the binary BSK recording file. After a file has been selected press the Start Visualization button.
To live stream data from a running Basilisk simulation to Vizard make sure that the connection type is DirectComm and the mode is Live Streaming. When starting a Basilisk script that uses live streaming (see scenarioBasicOrbitStream with
liveStream set to true) the socket address, which is
tcp://localhost:5556 by default, is shown in the terminal window. Copy this and paste it into the Vizard socket address text field. Finally press the Start Visualization button to begin the visualization.
The default Vizard communication can be overwritten using the following variables:
viz = vizInterface.VizInterface() viz.comProtocol = "tcp" viz.comAddress = "127.0.0.1" viz.comPortNumber = "1234"
This example would cause Basilisk to use the socket address
tcp://127.0.0.1:1234 to connect to Vizard.
Transport protocol to use for the connection. See all protocol options here.
Network address to use for the connection. This can be either a host name or an IP address.
Port number to use for the connection.
To engage with the visualization, the view point can be rotated and the user can zoom in and out. There are three view modes available:
Spacecraft-Centric View Mode (default): Here the spacecraft is drawn 1:1 while showing other celestial objects about it. When rotating the center of the spacecraft is the center of rotation. The spacecraft trajectory is not shown in this view. You can zoom in and out locally, but if you zoom out too far then the view mode switched to a planet-centric view mode.
Planet-Centric View Mode: Here a planet-wide view is presented. When rotating the view point this is about with the center of the planet as the center of rotation. The spacecraft trajectory is shown. The spacecraft is drawn at an exaggerated size so it is visible as a 3D object in this view. To return to a spacecraft-centric view mode double click on the spacecraft. If you zoom out far enough then the mode switches to a heliocentric view.
Heliocentric View Mode: Here a solar system wide view is shown. The planets are drawn enlarged to make them visible, and the planet trajectories are shown as well. If the spacecraft is orbiting a planet it is not visible in this view. If the spacecraft is on a heliocentric trajectory it is shown, also enlarged, in this view. Double clicking on a planet returns the user to a planet-centric view.
Space Vehicle States¶
The following sections describe the basic user interface elements of Vizard. Some settings can be set via a Basilisk script as described in the BSK Scripting Settings.
Basic Position and Orientation¶
Vizard is able to show the position and orientation of the spacecraft being simulated. If one or more planets are being modeled, then the spacecraft is show relative to the nearest planet.
Reaction Wheel States¶
If Reaction Wheels or RWs are modeled, then a RW panel can be opened
from within the
Actuator menu bar item. Here the RW wheel speeds and
motor torques are shown.
If thrusters are being simulated then a range of visualizations can be
enables within the
Actuator menu item. The options include to open
a Thruster Panel which shows the thruster firings as bar charts. The
thruster HUD uses a particle engine to illustrate if a thruster is
firing. Here the length and density of the particles is related to the
strength and duty cycle of the thruster. The thruster geometry option
draws small cones where the thrusters are modeled to be. This is
useful when debugging that a thruster configuration is being properly
modeled. Finally, the thruster normals option illustrates the thrust
axes being modeled.
Import a Custom Shape Model¶
When Vizard starts up it represents the spacecraft using a default CAD model called
bsk-Sat. The following section illustrates how this default spacecraft model can be replaced with with a custom CAD model in an
.obj file format, or by using a built-in shape primitive.
Vizard starts up showing a default spacecraft shape. To select a different shape, a custom CAD model can be imported using the OBJ file format. Go to the
File menu and select
Import OBJ Model:
Next, select the OBJ file that is to be imported into Vizard.
The next panel allows the CAD model import to be customized. The user can modify the origin offset,
the CAD orientation and the CAD scaling. The latter is useful to convert the CAD model into meters
used by Vizard. The model center and model extrema information is provided as a convenient. A
bounding box can also be draw as a convenient to make sure this is correctly configured. Note that
if a model is to be applied for each simulation instance, then see how
createCustomModel() can be
configured to script this OBJ import process as illustrated in BSK Scripting Settings.
At this point a panel appears that allows you select the object for which you want to apply a new shape, and what shape you want to apply. When ready, press Apply Models to Selected Objects to apply the custom space object shape. Note that instead of an OBJ file a custom shape can also be selected such as a sphere, cylinder or cube.
File/Compress Messages Option¶
This option will compress the number of stored vizMessages from the current run. This feature is especially useful during multi-day live streaming simulation runs when the number of saved Module: vizInterface can grow too large for the app to continue running.
Selecting this option brings up a settings panel that allows the user to specify how many messages should be retained. For example, if the user opts to retain 1/2 stored messages, Vizard will delete every other message in the Module: vizInterface dictionary, reducing the Vizard memory footprint.
Compression can be applied when running the Vizard from a Module: vizInterface archive file or when live streaming. Please note that the compression cannot be reversed, but that the archive file, if in use, will not be changed.
Sprite Representation of Space Objects¶
Vizard is setup to show an attitude dependent 3D rendering of a spacecraft model by default. In a planet centric or helio-centric view the spacecraft is enlarged such that the orientation can still be determined. This is the default behavior if a single satellite is shown. However, if multiple satellites are shown then seeing enlarged 3D renderings can both be a large computation hit and confusing to the viewer. Thus, if 2 or more spacecraft are shown, and the view point is planet- or sun-centric, then Vizard defaults to showing the spacecraft locations as 2D sprites.
The default shape is a white circle. Using
View/Sprite Settings opens a control panel to custumize the use
of sprites. Different shape primitives and colors can be selected for some or all the spacecraft and planets. Further,
toggles are provided to over-ride the default behavior and switch between a 3D rendering or 2D sprite representation.