HIL自动驾驶仿真:VTD分布式显示配置详解

文章目录

  • 一、什么是VTD分布式显示系统?
  • 二、如何配置VTD分布式显示系统?
    • 1、从机依赖包安装及系统配置
    • 2、配置两台电脑的网络关系,使彼此可以通过 ssh 免密登陆
    • 3、安装Helium将License共享到对应端口上,使局域网成员可以访问到License;
    • 4、配置 NFS 在 Master 电脑上( Master )
    • 5、配置 NFS 在运行 IG 的电脑( Slave )
    • 6、配置 VTD 的 Setup 来实现分布式 IG 仿真
    • 7、VTD中IG配置的基本架构

一、什么是VTD分布式显示系统?

VTD (Virtual Test Drive)是德国VIRES公司开发的一套用于驾驶辅助系统,主动安全和自动驾驶的完整模块化仿真工具。其运行于Linux 平台,功能覆盖了道路环境建模、交通场景建模、天气和环境模拟、简单和物理真实的传感器仿真以及高精度的实时画面渲染等。

VIRES公司是自动驾驶仿真开放格式OpenDrive, OpenCRG 和OpenScenario的主要贡献者,VTD的功能和存储也依托于这些开放格式。

而VTD分布式显示系统:只要有一台主机Master安装了VTD软件,主机就可以通过局域网共享本地的VTD文件;从机也可以通过访问局域网获取主机上的VTD文件,另外从机上只需要安装部分依赖包就可以打开VTD的IG模块,从而实现VTD的分布式系统;VTD分布式显示系统适用于有多路视屏输出的场景仿真;

二、如何配置VTD分布式显示系统?

                           一步步走一定能成功

注意1:指导是基于VTD2021.4版本拟制的;
注意2:需要License支持分布式;
注意3:指定主机Master和从机Slave:
(从机不用安装VTD,只需要安装依赖包即可;主机需要安装VTD和Helium)

1、从机依赖包安装及系统配置

  1. 安装 python 2.7 因为 ROD 需要老版本来处理 track;
  2. 自动更新软件镜像源
    点击 system settings,选择 software & update,在 Ubuntu Software 标签下,看到:
    Download From,下拉菜单中选择就近的镜像源,后续安装依赖都会从这里下载。
    HIL自动驾驶仿真:VTD分布式显示配置详解_第1张图片
    或者通过命令:
    需要编辑 $ sudo vim /etc/apt/sources.list 手动更改列表里面的 source (填写资源地址);

3)然后更新 $ sudo apt-get update ;
4)安装必要依赖 $ sudo apt-get install xterm freeglut3 openssh-server synaptic
nfs-common mesa-utils xfonts-75dpi libusb-0.1-4 libpng12
若无 libpng12,尝试安装 libpng12-0 若仍然找不到资源则在网络中搜索,举例 URL:
http://kr.archive.ubuntu.com/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.54-
1ubuntu1_amd64.deb
5) 最后执行 $ sudo apt-get update
HIL自动驾驶仿真:VTD分布式显示配置详解_第2张图片

6) 安装 $ sudo apt install libqt4-qt3support libqt4-svg qt4-qtconfig
7) 执行 $ qtconfig-qt4 在 Appearance 标签下,设置 GUI Style 为 plastique
然后点击“Tune Palette…” 在弹出窗口中的 Central color roles 下来菜单选择 ToolTipText
然后在 Select Color 中点击颜色,调节成黑色
HIL自动驾驶仿真:VTD分布式显示配置详解_第3张图片

2、配置两台电脑的网络关系,使彼此可以通过 ssh 免密登陆

假设当前主机Master:
IP:192.168.0.1
用户名:Master_username
主机名:Master_hostname
假设当前从机Slave:
IP:192.168.0.2
用户名:Slave_username
主机名:Slave_hostname

1、 $ sudo apt-get install ssh 保证安装了最新的版本
1)从主机 Master打开一个新的终端 $ ping 192.168.0.2, 从机Slave 打开一个新的终端 上 $ ping 192.168.0.1 能互相ping通(需要两台主机连接到同一交换机上)。

2、Master 和 Slave 分别需要生成 RSK 给彼此使用
1)在 Master 上执行 $ ssh-keygen -t rsa 然后回车三次完成生成
2)进入/home/Master_username/.ssh/id_rsa 寻找生成的文件 id_rsa 和 id_rsa.pub
然后在终端中输入$ ssh Master_username@Master_hostname ,需要输入登陆密码(成功的标志是.ssh 文件夹多出来一个文件 known_hosts)
3)成功后则输入$ exit 退出
注意:在 home 下点击 Ctrl+H 可以显示所有隐藏文件找到在文件夹
4)/home/Master_username/.ssh/并打开一个新的终端:
5)执行 $ cp id_rsa.pub authorized_keys 此命令复制生成新文件:authorized_keys,并且$ sudo chmod 600 authorized_keys (文件读写权限)
6)测试验证 $ ssh Master_username@Master_hostname 后可以无密码登陆自己
7)成功后则输入$ exit 退出
8)使用下列任一种方式在从机上生成新的authorized_keys:
① 把 id_rsa.pub 的内容复制,然后粘贴到从机的/home/Slave_username/.ssh/authorized_keys 下面
② 在/home/Slave_username/.ssh/打开一个新的终端:
通过命令进行拷贝 $ scp id_rsa.pub [email protected]:home/Slave_username/.ssh/ ;
然后$ cat id_rsa.pub >> authorized_keys 在slave上拷贝生成一个authorized_keys
9)在 Master终端上输入$ ssh [email protected]成功后输入$ exit
10)在 Slave 终端上输入$ ssh [email protected] 成功后输入$ exit
11)打开Slave 终端登录到Master;使用名字,而不是 IP 进行登录$ ssh Master_username@Master_hostname,修改/etc/hosts
$ sudo vim /etc/hosts打开以后填写上对方的 IP 和 Name 即可,192.168.0.2 Slave_username
12)打开Master 终端登录到Slave;使用名字,而不是 IP 进行登录$ ssh Slave_username@Slave_hostname,修改/etc/hosts
$ sudo vim /etc/hosts 打开以后填写上对方的 IP 和 Name ;
在Slave添加:192.168.0.1 Master_username
注意:这个文件中通常已经有两行: 127.0.0.1 localhost 和 127.0.1.1 本机名 (无用)

3、安装Helium将License共享到对应端口上,使局域网成员可以访问到License;

这个步骤的目的是为了使从机有打开VTD IG模块的权限
注:具体查看文档《Study_LicServer.pdf》进行License的配置

4、配置 NFS 在 Master 电脑上( Master )

1)Master 作为 NFS server 存在,在 Master 中$ sudo apt-get install nfs-kernel-server
2)编辑文件 $ sudo vim /etc/exports 进行编辑
添加 %ADDRESS_VTD% %SLAVE_IP% %AUTHORITY%
如/home/Master_username/VIRES/VTD2021 *(rw,sync,no_root_squash,no_subtree_check)
格式:主机VTD的文件路径 (rw,sync,no_root_squash,no_subtree_check)
注意:其中
相当于任意 client-IP;
3)使设置生效 $ service portmap restart 然后 $ sudo service nfs-kernel-server restart
然后 $ sudo exportfs 然后显示出 /home/Master_username/VIRES/VTD2021
(出现上述这句话说明,主机的VTD2021文件夹处于共享状态)
4)在从机上可以通过 $ showmount -e %Master_IP% 命令查看指定 IP 上的共享的服务(Master 共享到从机的路径)
5)要改变 VTD 安装文件夹权限 $ chmod 777 /home/Master_username/VIRES/VTD2021
6) 使用命令 $ sudo ufw status 查看防火墙状态

5、配置 NFS 在运行 IG 的电脑( Slave )

1) Slave 上安装$ sudo apt-get install nfs-common
2) 使用$ showmount -e %Master_IP% 才看到服务端的共享文件夹路径
这是可以看到 /home/Master_username/VIRES/VTD2021
3) 创建一个文件夹用来挂载主机上的 VTD 安装位置 $ mkdir /home/Slave_username/SLAVE/VTD2021
4)$ chmod 777 /home/Slave_username/SLAVE 更改文件夹权限
然后进行挂载 $ mount --target nfs %Master IP%:%Master VTD ADDRESS% %SLAVE VTD ADDRESS%即
5)$ sudo mount --target nfs 192.168.0.1: /home/Master_username/VIRES/VTD2021
/home/Slave_username/SLAVE/VTD2021
或者不用–target 而是-t ; 在客户端 Slave 电脑打开文件夹,可以看到 Master 上的内容
6) $ sudo umount /home/Slave_username/SLAVE/VTD2021 卸载后再关机
(如果主机VTD文件夹内容有发生改变,则需要在从机上重新挂载VTD文件夹)

6、配置 VTD 的 Setup 来实现分布式 IG 仿真

1) 从机的前提条件是安装好所有正常安装 VTD 所需要的依赖,尤其是显卡驱动;
2) 打开主机的 /home/Master_username/VIRES/VTD2021/Data/Setups并复制一个DualHost文件夹然后重命名DualHost_1;
3)配置~/DualHost_1/Setup/Config/SimServer中的 simServer.xml文件
4)找到

你可能感兴趣的:(HIL仿真,分布式,自动驾驶)