KY-RTI分布仿真技术:第二章 系统安装

第二章 系统安装

本章介绍KY-RTI在Linux和Windows操作系统下的安装方法。

2.1 Linux安装

安装程序:RTI-1.3NGv6.tar.gz。假设当前的Linux用户名为lbq,HOME目录为/home/lbq。KY-RTI的安装目录为HOME目录,则操作步骤如下。

第1步:解压文件。

         cd  /home/lbq

         tar  xvfz  RTI-1.3NGv6.tar.gz

图2.1 Linux系统中KY-RTI的目录结构

KY-RTI的整个目录结构如图2.1所示。KY-RTI采用了与DMSO RTI-1.3NGV6一致的目录结构。KY-RTI的根目录为RTI-1.3NGV6,子目录为Linux-os-opt-mt。该子目录名称其实并不重要,可以任意命名,譬如在x86_64上命名为Linux-x86_64-opt-mt,在飞腾上命名为Linux-ft-opt-mt等。在Linux-os-opt-mt目录下的apps、bin、config、doc、etc、include、lib是DMSO RTI-1.3NGV6原有的目录结构,KY-RTI保留了这些目录。对一般用户而言,可以忽略config、doc、etc这3个目录,它们只在移植旧的仿真程序时有用。

(1) apps

该目录是GNU C++示例,包括helloWorld、chat、chat-ddm、FQR、game-ddm、testtime、time-tick、time-notick、ping-tick、pong-tick等示例程序和一个README文件。

目录

用例简介

helloWorld

该例是DMSO RTI-NG1.3v6自带的例子,其源代码和目录结构几乎原封不动。虽然作为DMSO的示范用例,但该例较为复杂,建议新手从其他用例入门。

chat

一个聊天程序,该例使用了交互类,没有使用tick服务。

chat-ddm

一个DDM分组聊天程序,该例使用了交互类,没有使用tick服务。

FQR

一个使用乐观时间管理服务的用例,使用了tick服务。

game-ddm

一个支持进入/离开区域范围报警功能的DDM用例程序,该例使用了对象类,没有使用tick服务。

testtime

一个用于测试ping和pong两个程序之间发送若干个消息需要花费多少时间的用例,使用了tick服务。

time-tick

该例使用了对象类和时间管理服务,使用了tick服务。

time-notick

该例使用了对象类和时间管理服务,没有使用tick服务。

ping-tick

使用了tick服务的ping用例

pong-tick

使用了tick服务的pong用例

(2) apps-qt

该目录包括2个使用Qt Creator开发的Qt示例。

目录

用例简介

QtChatConsole

一个Qt聊天程序,该例使用了交互类,没有使用tick服务。

QtTimeManagement

一个使用了对象类和时间管理服务,没有使用tick服务的Qt程序。

(3) apps-java

该目录包括3个支持OpenJDK和Oracle JDK的Java示例。

目录

用例简介

Chat

一个Java聊天程序,该例使用了交互类,没有使用tick服务。

time-tick

该例使用了对象类和时间管理服务,使用了tick服务。

time-notick

该例使用了对象类和时间管理服务,没有使用tick服务。

(4) apps-python

该目录包括4个Python示例。

目录

用例简介

chat

一个Python聊天程序,该例使用了交互类,没有使用tick服务。

FQR

一个使用乐观时间管理服务的用例,使用了tick服务。

time-tick

该例使用了对象类和时间管理服务,使用了tick服务。

time-notick

该例使用了对象类和时间管理服务,没有使用tick服务。

(5) jar

该目录包括kyrti.jar和RTIManager.jar,用于Java开发。

(6) module

该目录用于Python开发。如果该目录不存在,则表示作者没有提供该功能,apps-python目录下的示例因缺少该模块而不能运行。

(7) bin

该目录为KY-RTI服务器程序所在目录。

目录

用例简介

RTIManager.sh

以图形化方式启动KY-RTI服务器,需要安装Java。

KY-RTI

以命令行方式启动KY-RTI服务器,不需要安装Java。

configure.rti

设置图形化启动/命令行启动,以及使用的端口号。

MachineInfo

采集KY-RTI服务器的硬件信息。

MachineInfo.txt

MachineInfo程序运行后的结果保存文件。

HelloWorld.fed

HelloWorld程序采用的fed文件。

chat.fed

聊天程序、ping/pong程序采用的fed文件。

tracer.fed

时间管理程序采用的fed文件。

README

对两种启动方式的说明

(8) include

该目录为KY-RTI的GNU C++和Qt的头文件目录,如图2.1所示,所有文件与DMSO RTI-1.3NGV6一致。

(9) lib

该目录为KY-RTI的GNU C++和Qt的库文件目录,所有文件与DMSO RTI-1.3NGV6一致。

2步:设置环境变量。

在Linux-os-opt-mt目录下的env.sh和env.csh用于设置环境变量,shell脚本请参照env.sh,csh请参照env.csh。当前操作系统的用户大都采用shell。

设置环境变量一般可以采用下列几种方法之一,但以第一种方法最为可靠,后面两种方法在有些操作系统上不起作用。环境变量设置完后,要关闭所有打开的终端并重新打开。

(1) vim $HOME/.bashrc

将环境变量添加到.bashrc文件的最后。

(2) vim /etc/profile

将环境变量添加到/etc/profile文件的最后。

(3) cp env.sh env.csh /etc/profile.d/

根据安装目录修改env.sh、env.csh后将它们拷贝到/etc/profile.d/。

所添加的环境变量如图2.2所示,如果没有安装Java,则可以安装OpenJDK或者从Oracle网站下载JDK安装。

lbq@kylin260:~/RTI-1.3NGv6/Linux-os-opt-mt$ more env.sh

#!/bin/sh

export RTI_HOME=/home/lbq/RTI-1.3NGv6

export RTI_BUILD_TYPE=Linux-os-opt-mt

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${RTI_HOME}/${RTI_BUILD_TYPE}/lib

#支持OpenJDK和Oracle JDK。如果Java安装在指定目录,则设置JAVA_HOME和PATH

#export JAVA_HOME=/home/lbq/jdk1.8.0_171

#export PATH=$PATH:${JAVA_HOME}/bin

export CLASSPATH=$CLASSPATH:.:${RTI_HOME}/${RTI_BUILD_TYPE}/jar/kyrti.jar

export PYTHONPATH=$PYTHONPATH:${RTI_HOME}/${RTI_BUILD_TYPE}/module/python

图2.2 env.sh文件内容,

第3步:确认环境变量是否生效

执行下列命令,如果不为空则设置成功。

  echo $RTI_HOME

第4步:获取授权文件

KY-RTI在正常运行之前,需要进行授权。为简化用户开发,只需要授权KY-RTI服务器这一台机器,其他所有客户端机器都不需要授权。相关步骤为:

(1)获取机器信息

  cd /home/lbq/RTI-1.3NGv6/Linux-os-opt-mt/bin

  ./MachineInfo

(2)将本机新生成的MachineInfo.txt发送到邮箱:walt_lbq@163.com或hlarti@163.com

(3)将收到的授权文件改名为RTI.lic,拷贝到/etc目录,使用root用户执行下列命令。

  sudo  cp  RTI.lic  /etc/

  sudo  chmod  755  /etc/RTI.lic

5步:启动KY-RTI服务器

  cd /home/lbq/RTI-1.3NGv6/Linux-os-opt-mt/bin

启动方式一图形化启动,需要安装Java

(1)修改configure.rti,设置";; UsingRTIManager On",此为缺省方式

;; UsingRTIManager On

;; RTI Server's Port Number

port=20000

(2)启动控制台,支持多个联邦

  ./RTIManager.sh

图2.3 KY-RTI图形化启动界面

启动方式二:命令行启动,不需要安装Java,每个port支持1个联邦

(1)修改configure.rti,设置";; UsingRTIManager Off"

;; UsingRTIManager Off

;; RTI Server's Port Number

port=20000

(2)启动一个终端,执行下列命令来启动KY-RTI服务器

  ./KY-RTI

KY-RTI是一个控制台程序,启动界面非常简单,沿用了DMSO RTI-1.3NGV6的风格,但性能高、稳定性极好。

图2.4 KY-RTI命令行启动界面

6步:启动一个仿真成员

启动KY-RTI软件包中的任意一个仿真成员示例,如果不报错则安装完成。

注意:如果仿真成员不能连接到KY-RTI服务器,则需要关闭防火墙。防火墙会影响程序之间的通信。对于两台机器,需要在每台机器上使用“ping ip地址”命令确定网络是否正常。

2.2 Windows安装

1步:安装软件包

在Windows系统下,用户的需求多种多样。有两种软件包和相应的安装方法。

方法一:自动安装

直接运行RTI-1.3NGv6.exe,所有环境变量由安装程序自动解决。安装程序会将KY-RTI相关的动态库文件拷贝到Windows系统目录下。

方法二:手动安装

一些用户认为安装程序将动态库文件拷贝到Windows系统目录不好控制,因此希望提供手动安装方法,动态库文件保存在KY-RTI的自身目录。

(1)选择一个目录,将RTI-1.3NGv6.zip解压到该目录。假设安装目录为:C:\KY-RTI。

(2)将C:\KY-RTI\dll目录添加到系统的PATH目录。

方法为:从桌面或资源管理器中选择“计算机”,右键“属性”,点击“高级系统设置”,点击“环境变量”,选择“系统变量”中的“Path”,点击“编辑”按钮,在后面添加“;C:\KY-RTI\dll”。注意,在Windows系统下,目录之间用‘;’分隔;在Linux系统下,则用‘:’分隔。

KY-RTI的整个目录结构如图2.5所示。根目录为KY-RTI,子目录包括VC++开发所需要的include、lib、dll目录和demo-vc用例目录,include目录与DMSO RTI-1.3NGV6完全一致,如图2.6所示;子目录还包括Qt用例目录demo-qt;用于Java开发的jar和demo-java用例目录;用于VC#开发的include-cs和demo-cs用例目录,include-cs为用户提供了可供参考的VC#版本的HLA服务,因为VC#与Java语法类似,所以开发Java程序需要使用HLA服务时也可参考该目录下的文件。

图2.5 Windows系统中KY-RTI的目录结构

图2.6 Windows系统中KY-RTI的include目录

第2步:开发Java仿真应用

基于Java开发仿真应用,需要安装Java并正确设置环境变量。

(1)安装Java。Windows系统下通常是Oracle JDK,可从Oracle官网下载JDK压缩包。

假设JDK软件包解压后的目录为:C:\jdk1.8.0_171,则设置下列环境变量。

(a)JAVA_HOME=C:\jdk1.8.0_171

(b)在PATH环境变量后面添加“;${JAVA_HOME}/bin”

(2)将kyrti.jar拷贝到某一目录,并将其添加到CLASSPATH环境变量。通常可设置为:

CLASSPATH=.;C:\KY-RTI\jar\ky-rti.jar

第3步:获取授权文件

KY-RTI在正常运行之前,需要进行授权。为简化用户开发,只需要授权KY-RTI服务器这一台机器,其他所有客户端机器都不需要授权。相关步骤为:

(1)获取机器信息

运行bin目录下的MachineInfo.exe程序,将与本机相关的信息发送到邮箱:walt_lbq@163.com或hlarti@163.com

(2)将收到的授权文件改名为RTI.lic,拷贝到C盘根目录“C:\”。

第4步:关闭防火墙

防火墙会影响程序之间的通信。对于两台机器,需要在每台机器上使用“ping ip地址”命令确定网络是否正常。

5步:启动KY-RTI服务器

支持两种启动方式,与Linux启动方式一致。下列操作在KY-RTI\bin目录下进行。

启动方式一图形化启动,需要安装Java

(1)修改configure.rti,设置";; UsingRTIManager On",此为缺省方式

;; UsingRTIManager On

;; RTI Server's Port Number

port=20000

(2)启动控制台,支持多个联邦

  RTIManager.bat

图2.7 KY-RTI图形化启动界面(Windows)

启动方式二:命令行启动,不需要安装Java,每个port支持1个联邦

(1)修改configure.rti,设置";; UsingRTIManager Off"

;; UsingRTIManager Off

;; RTI Server's Port Number

port=20000

(2)启动一个终端,执行下列命令来启动KY-RTI服务器

  KY-RTI.exe

KY-RTI是一个控制台程序,启动界面非常简单,沿用了DMSO RTI-1.3NGV6的风格,但性能高、稳定性极好。注意:该方式建议先启动一个终端然后在终端中执行KY-RTI.exe,这样当程序异常退出后(譬如没有经过认证)用户能够在终端中看到原因;否则,如果直接用鼠标点击KY-RTI.exe执行程序,则程序异常退出后用户不会了解具体原因。

图2.8 KY-RTI命令行启动界面(Windows)

5步:启动一个仿真成员

启动KY-RTI软件包中的任意一个仿真成员示例,如果不报错则安装完成。

KY-RTI的Linux、Windows版本和源码请联系作者:walt_lbq@163.com

KY-RTI分布仿真技术:前 言

KY-RTI分布仿真技术:第一章 简介

KY-RTI分布仿真技术:第二章 系统安装

KY-RTI分布仿真技术:第三章 KY-OMT对象模型模板工具

KY-RTI分布仿真技术:第四章 C++程序设计

KY-RTI分布仿真技术:第五章 Qt程序设计

KY-RTI分布仿真技术:第六章 Java程序设计

KY-RTI分布仿真技术:第七章 Visual C++程序设计

KY-RTI分布仿真技术:第八章 Visual C#程序设计

KY-RTI分布仿真技术:第九章 综合演示

KY-RTI分布仿真技术:第十章 Python程序设计

KY-RTI分布仿真技术:附录1 分组聊天(HLA数据分发管理的应用

KY-RTI分布仿真技术:附录2 大联邦(构建1000个成员的HLA/RTI仿真系统)

KY-RTI分布仿真技术:附录3 国产化(操作系统+CPUs)

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值