(1.1)bark

github地址:

github开源bark:https://github.com/bark-simulator/bark/

bark官网:https://bark-simulator.github.io/

bark指导手册:https://github.com/bark-simulator/bark/blob/master/docs/source/installation.md

Youtube视频:https://www.youtube.com/user/fortissTV/search?query=BARK

相关论文:

一、项目下载

Anaconda的安装和配置参考博客:Ubuntu软件安装

  • 创建Anaconda环境
# 新建一个Anaconda环境
conda create -n bark python=3.7
# 如果想删除环境采用以下操作
# conda remove -n your_env_name(虚拟环境名称) --all
# 进入环境
conda activate bark
pip install virtualenv==16.7.8
pip install bark-simulator
sudo apt-get install libsqlite3-dev sqlite3
git clone https://github.com/bark-simulator/bark.git
cd bark

如果一直卡在正克隆到 ‘bark’…,参考链接

解决:git clone没反应或速度慢,卡在正在克隆到 ‘xxx’ …

如果没用的话可能要多运行几次,可以在电脑上打开github,如果页面能正常加载,一般就能正常下载。

二、配置环境

1、方法一

image-20220715221106831

  • install.sh

先查看一下自己的python路径

which python
# /home/myx/anaconda3/envs/bark/bin/python  # 这是我的路径

在bark目录下有一个install.sh文件,这里要修改install.sh文件的2个地方

sudo vim install.sh
# 将第一行改为自己python3.7所在的地方
# /home/myx/anaconda3/envs/bark/bin/python
# 将最后一行改为
# sudo bash tools/installers/install_apt_packages.sh

修改前:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OKsPCQES-1662359914781)(/home/myx/.config/Typora/typora-user-images/image-20220715221654581.png)]

修改后:

image-20220720121507081

修改完运行如下命令

sudo bash install.sh

如果这里报错RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3.7'的话,可以考虑采用方法二。

如果正常运行就继续进行下面步骤

  • 运行dev_into.sh
source dev_into.sh

运行后会进入虚拟环境venv

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wJxPyovx-1662359914783)(/home/myx/.config/Typora/typora-user-images/image-20220715222034110.png)]

2、方法二

如果方法一报错RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3.7'的话,可以考虑采用方法二。

其实就是不要用virtualenv创建python虚拟环境了,改为运行如下代码

# 代替 install.sh,跳过 dev_into.sh
pip install -r tools/installers/requirements.txt
sudo apt install g++ unzip zip
# sudo bash tools/installers/install_apt_packages.sh

三、安装Bazel

如果没有安装过bazel,需要进行安装。如果已安装,就跳过该步骤

1、法一:作者命令

可以运行tools/installers目录下的install_bazel.sh文件

sudo bash tools/installers/install_bazel.sh

2、法二:替代作者命令

但是我运行的时候会超时,一直无法安装,于是可以用其他命令下载,即

# 代替 install_bazel.sh
sudo apt install g++ unzip
sudo echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list
sudo curl https://bazel.build/bazel-release.pub.gpg | apt-key add -

就是上面的最后一步可能会超时,可以进入链接https://bazel.build/bazel-release.pub.gpg,手动将内容另存,放到bark下,执行下面的命令

sudo apt-key add bazel-release.pub.gpg
sudo apt-get update
sudo apt-get install -y bazel
# 卸载
# sudo apt-get remove bazel
sudo rm -rf /var/lib/apt/lists/*

3、法三:官网下载

官网链接:https://github.com/bazelbuild/bazel/releases

  • 下载

选择bazel-5.2.0-installer-linux-x86_64.sh进行下载。

image-20220720120601165

到目录下打开终端,运行以下代码sudo

# chmod +x bazel-<version>-installer-linux-x86_64.sh
# ./bazel-<version>-installer-linux-x86_64.sh --user
chmod +x bazel-5.2.0-installer-linux-x86_64.sh
./bazel-5.2.0-installer-linux-x86_64.sh --user
  • 环境变量和key
sudo gedit ~/.bashrc

在最后一行加入export PATH="$PATH:$HOME/bin"

更新文件

source ~/.bashrc
  • 卸载
# sudo rm -rf /usr/bin/bazel
# sudo rm -rf ~/bin
# sudo rm -rf /usr/bin/bazel

~/.bashrc 中bazel的环境变量注释或删除

# sudo gedit ~/.bashrc

参考链接:

bazel 的安装与卸载

四、测试样例

1、官方样例

在自己的路径下运行样例

# 先运行这句代码,测试bark是否工作,以及行为和场景构建
bazel test //...
# sudo bazel test //... --python_path=/home/myx/Project/bark/bark/python_wrapper/venv/bin/python
# 场景测试
bazel run //bark/examples:highway  # 两车道高速公路示例
bazel run //bark/examples:merging  
bazel run //bark/examples:intersection   # 三路交叉口
# bazel run //bark/examples:interaction_dataset  # 数据集回放
# bazel run //bark/examples:benchmark_database  # 使用场景数据库对行为进行基准测试

bazel test //...中成功build

image-20220716130458791

如果运行时卡住没有进展,可以修改hosts文件

sudo vim /etc/hosts
# 在末尾加入
172.217.1.110 bazel

2、python样例

配置调整:https://github.com/bark-simulator/bark/tree/master/bark/runtime/scenario/scenario_generation/config_readers

  • 打开样例列表
# 安装jupyter解释器
pip install ipykernel
python -m ipykernel install --user --name 环境名 --display-name 显示的环境名
# 打开目录
bazel run //docs/tutorials:run

2

这个板块是实现地图相关

  • 选择地图

遇到报错No such file or directory: '../../bark/runtime/tests/data/Crossing8Course.xodr'

需要调整地图文件,因为我们并没有Crossing8Course.xodr

OpenDRIVE官网:https://www.asam.net/standards/detail/opendrive/

参考链接:OPENDRIVE地图中GEOMETRY线段对应X/Y坐标的计算

可以到路径/bark/bark/runtime/tests/data下,随便选一个xodr文件,修改代码【以4way_intersection.xodr为例】

image-20220716200350897

3

  • matplotlib qt问题

遇到%matplotlib qt语句报错Failed to import any qt binding,解决方式见博客解决:Failed to import any qt binding

4

/home/myx/Project/bark/bark/runtime/scenario/scenario_generation

/home/myx/.cache/bazel/_bazel_myx/2b95cf4426d57e499a6045a0f87bd019/execroot/bark_project/bazel-out/k8-fastbuild/bin/docs/tutorials/run.runfiles/benchmark_database/data/tutorial_database/scenario_sets/highway_merging/scenario_set1.json

在4的代码中需要使用到数据集,先介绍一下数据集的使用方式

(1)数据集的使用

数据集使用方式指导:https://github.com/interaction-dataset/interaction-dataset

如果要添加自己的地图和数据集,文件目录应如下构造

image-20220716185825067

在目录下打开终端,测试运行数据。

conda activate bark
cd interaction-dataset-master
pip install -r requirements.txt
# 展示数据
# ./main_visualize_data.py <scenario_name> <trackfile_number (default=0)>
./python/main_visualize_data.py .TestScenarioForScripts

数据可视化

# 载入数据
# ./main_load_track_file.py <tracks_filename>
./python/main_load_track_file.py ./recorded_trackfiles/.TestScenarioForScripts/vehicle_tracks_000.csv

如果想要载入自己的数据,就通过以下几个步骤

  1. interaction-dataset-master/maps路径下放入.Scenario_myx.osm文件

  2. interaction-dataset-master/recorded_trackfiles路径下新建.Scenario_myx文件夹【注意这个文件要和前面的osm文件名一致】,文件夹中放入vehicle_tracks_xxx.csv文件【以vehicle_tracks_001.csv为例】

  3. 修改interaction-dataset-master/python/main_visualize_data.py文件,将track_file_number设置为传参模式,即将track_file_number改为--track_file_number

    image-20220716192458457

  4. 运行下面代码

# 展示数据
./python/main_visualize_data.py .Scenario_myx --track_file_number 001
# ./python/main_visualize_data.py .Scenario_myx --track_file_number 1
# 加载数据
./python/main_load_track_file.py ./recorded_trackfiles/.Scenario_myx/vehicle_tracks_001.csv

5

sudo apt install ffmpeg

6

  • 查看包路径
# print(module.__file__)   # 查找某个包所在具体路径
print(bark.__file__)
# print(module.__code__)  # 查找某个方法所在文件路径

五、运行bark-ml

pip install bark-ml
git clone https://github.com/bark-simulator/bark-ml
cd bark-ml
bash utils/install.sh
  • 替代bash utils/install.sh
--no-cache-dir --upgrade --trusted-host pypi.org -r ./utils/docker/installers/requirements.txt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值