标签归档:Vehicular Network

开源车辆轨迹数据集

尽管如今可以生成车辆轨迹的仿真软件有很多,如SUMOVISSIMVanetMobiSim,这些软件都可以比较方便地生成车辆轨迹。但是,用软件人工合成的车辆轨迹终究不如在现实世界中采集的数据有说服力。不过,不管是人工合成的也好,还是真实世界采集的也好,都各有优缺点。人工合成的轨迹生成相对于真实轨迹更加方便,但是缺乏“真实性”,而真实采集的轨迹数据则相反,但真实轨迹也不可避免地会面临数据采集开销大,采集过程中的噪声导致错误数据,采集频率比较大等等的问题。

而对车辆进行建模的过程中,车辆轨迹就显得尤为重要,可能大部分的研究人员限于财力人力都没有办法亲自去采集大规模的数据,而人工合成数据也会有一些处理代价。可喜的是,现在网络上也是有一些优质的开源车辆轨迹数据的,现在,整理并分享到这里,希望能帮助各位减少在网络上查找的时间。

人工轨迹数据

1、 Bologna

地点:意大利博洛尼亚,频率:1秒, 持续时长:1小时,车辆数量:22000

2、Lust-scenario

地点:卢森堡,频率:1秒, 持续时长:24小时,区域大小:155.95平方千米

真实轨迹数据

1、 T-Drive

地点:中国北京,频率:180秒, 持续时长:7天,区域大小:750平方千米,车辆类型:出租车,车辆数目:10357

2、 Cabspotting

地点:美国旧金山,频率:60秒, 持续时长:30天,区域大小:18000平方千米,车辆类型:出租车,车辆数目:500

3、Scrg

地点:中国上海,频率:60秒, 持续时长:1天,车辆类型:出租车,车辆数目:4000

4、Roma

地点:意大利罗马,频率:7秒, 持续时长:30天,车辆类型:出租车,车辆数目:320

5、Creteil

地点:法国克雷泰伊,频率:1秒, 持续时长:4小时,车辆类型:普通车

6、Madrid

地点:西班牙马德里,频率:500米一个点, 持续时长:1天

7、King county

地点:美国西雅图国王郡,频率:120秒, 持续时长:长期更新, 车辆类型:公交车

8、CTA

地点:美国芝加哥,频率:40秒, 持续时长:长期更新, 车辆类型:公交车,车辆数量:1648

数据集网站:

参考资料:

  1. souvenir001.车辆运动轨迹数据集[Online].https://blog.csdn.net/souvenir001/article/details/52180335.
    2016年08月11日.
  2. Mobility datasets[Online].https://privamov.github.io/accio/docs/datasets.html.
  3. Uppoor, Sandesh, et al. “Generation and analysis of a large-scale urban vehicular mobility dataset.” IEEE Transactions on Mobile Computing 13.5 (2014): 1061-1075.

配置NS3的Eclipse编译运行环境

前期准备

  1. Linux 系统,虚拟机、真机、子系统皆可
  2. NS3, 官方网站下载:https://www.nsnam.org/releases/
  3. Eclipse IDE for C/C++ Developers Linux 版本

本人使用的环境:

  1. Ubuntu 18.04 子系统/Bash on Windows (Windows 10)
  2. NS3 v3.29
  3. Eclipse Photon v4.8.0

搭建NS3环境

当下载好NS3后,可以在终端输入命令 ./build.py 进行构建。该命令成功执行后会在当前目录生成一个ns-3.29文件夹,该文件夹中就是我们通过命令构建的NS3,也是我们所需要的。

之后,我们再进入到生成的ns-3.29文件夹中,依次执行 ./waf configure — enable-examples — enable-tests 与 ./waf build 即可对NS3中的组件进行编译,编译成功后可以看到如下输出,说明NS3环境已经大丈夫(没问题)了😀。

 Waf: Leaving directory `/home/near/ns3/ns-allinone-3.29/ns-3.29/build'
Build commands will be stored in build/compile_commands.json
'build' finished successfully (20m56.899s)

Modules built:
antenna aodv applications
bridge buildings config-store
core csma csma-layout
dsdv dsr energy
fd-net-device flow-monitor internet
internet-apps lr-wpan lte
mesh mobility mpi
netanim (no Python) network nix-vector-routing
olsr point-to-point point-to-point-layout
propagation sixlowpan spectrum
stats tap-bridge test (no Python)
topology-read traffic-control uan
virtual-net-device wave wifi
wimax

Modules not built (see ns-3 tutorial for explanation):
brite click openflow
visualizer

Eclipse 的配置

新建NS3工程

打开Eclipse, 依次点击 File->New->Project,选择 C++ Project,然后 Project Type 选择 Executable -> Empty Project, Toolchains 选择 Linux GCC,然后直接点击Finish。具体配置见下图。

设置Waf为默认编译器

鼠标右键单击NS3工程,在选中的属性中选择 C/C++ Build, 需要配置Builder Settings 以及 Behaviour, 具体配置如下。

配置成功后可以在 Eclipse 的 Console 中看到NS3已经构建成功,因为之前我们在命令行中已经Build过了一次,所以这次会比较快,只用了5.590s 。

配置Eclipse Run Configuration

上一步我们把NS3在Eclipse编译的环境配置好了,那么只是能在Eclipse编译而已,如果我们需要在Eclipse中运行NS3的程序,就还需要进一步的配置。

选中标题栏 Run -> External Tools -> External Tools Configuration,需要配置的地方为Location, 设置为waf的地址,Working Directory 设置为NS3工程的地址,即waf的父目录,Arguments设置为 –run “$(string_prompt)”具体配置如下。

使用Eclipse 运行试试

点击应用并运行后,就可以在输入框中输入需要运行的程序,例如,scratch-simulator.cc 只需要在输入框中输入 scratch-simulator 即可,运行结果会在Console中显示。

这样就大功告成了。

附录

安卓设备连接Cohda Wireless MK5 OBU并通信

在上一篇文章Cohda Wireless MK5 RSU&OBU 入门指南中,我们已经可以通过PC与OBU或RSU进行通信。

而现在我们需要使用安卓设备中丰富的传感器,我们必须寻求一种方式使得安卓设备可以通过有线连接与OBU进行通信,当然,这里的有线连接是特指通过USB数据线进行连接通信。幸运地是,官方有一篇相关文档,本文根据官方文档并进行实践,在此记录如下。

我们需要一条OTG线,Micro USB 转 USB A 的转接线,如果有同学不懂,可以看下图。

除了准备一条OTG线外,我们还需要对OBU以及Android设备进行一些简单设置。

通过Xshell连接OBU,然后输入命令  sudo fw_setenv usb_mode将OBU的USB模式设置为android。可通过命令  sudo fw_printenv查看OBU所有的环境变量,如下图所示,倒数第二行显示为“usb_mode=android”,说明OBU已经设置成功。

之后,就可以将安卓设备与OBU通过OTG线进行连接,并在安卓设备中系统设置里开启USB共享网络。

之后,回到连接到OBU的终端,输入以下命令,可以看到OBU中已经有了usb0这个网卡。如果你的也是一样,那么恭喜你,OBU已经可以和安卓设备进行通信了。

[email protected]:~# ifconfig usb0
usb0      Link encap:Ethernet  HWaddr 02:00:5a:0a:32:38
          inet addr:192.168.42.101  Bcast:192.168.42.255  Mask:255.255.255.0
          inet6 addr: fe80::5aff:fe0a:3238/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:544 (544.0 B)  TX bytes:732 (732.0 B)

经过了之前的步骤,安卓设备已经在物理层面连接起来,但是如果通过安卓设备来处理OBU接收到的BSM数据报文,则需要重新执行OBU中的Bsm-shell程序。其中,192.168.42.129为安卓设备的IP地址,这样,就大功告成了。

D_LEVEL=4 ./bsm-shell -m 1 -c 178 -b 172 -n 172 -i 1 –f/dev/null –u 192.168.42.129 -y 4040 -z 4040