概述
使用bolepack,在J5板端进行7V行车感知回灌
前提准备:录制好的7v pack,bolepack包,j5板端,
具体步骤
1.通过解压的方式,部署对应的感知软件包至j5板端
rm –rf /app/*
unzip app_xxxxx.zip –d /app
mv /app/app/* /app
reboot
2.修改板端相关配置
vi /mnt/adas/em_config/em/function_group_manifest/auto_drving_state.json


3.修改主机端(Ubuntu)bolepack配置
路径:./bolepack/config
涉及到回灌的两个配置文件communication.json与fglobal.json,不同项目中的bolepack/config下配置的名称后缀可能有所不同。
其中分别必须修改项为communication.json中的ip地址,改为对应j5板端 ;fglobal.json中的file_path,改为实际存放pack的路径。非必要修改项则需要根据实际录制端口的port与type,修改上述两个文件中的对应项。详细配置项见文末备注。
其中分别必须修改项为communication.json中的ip地址,改为对应j5板端 ;fglobal.json中的file_path,改为实际存放pack的路径。非必要修改项则需要根据实际录制端口的port与type,修改上述两个文件中的对应项。详细配置项见文末备注。
4.板端运行回灌脚本
cd /app/adas
sh start_app.sh perception_7v_fusion 1(当感知包版本在6.5以上时需要将1替换为具体的板端ip)
5.运行PC端bolepack
./bolepack –fillback config/fglogal.json
备注
1.所使用的pack需要符合特定的命名格式,如下图


2.如果pack中除adas类型外,还有canraw格式,则需要确认板端路径中的
/app_param/vehicle_io/can.json是否与canraw对应,相对应后才能正常获取底盘数据(速度等)
3.fglobal.json中的常用配置内容如下:
Loop
is_open:是否开启循环回灌;
interval: 循环回灌直接的间隔(ms);
times:循环次数,-1即为无限次
is_open:是否开启循环回灌;
interval: 循环回灌直接的间隔(ms);
times:循环次数,-1即为无限次
Communication
communication.json的配置文件的路径,这里要确认当前使用的回灌文件到底依赖哪个communication.json。
communication.json的配置文件的路径,这里要确认当前使用的回灌文件到底依赖哪个communication.json。
data_type
0:表示回放的是 pack 文件 (支持多路 pack,可以配置多个files文件,每个target_option使用prefix作为前缀, channel作为前后缀,匹配该路发送需要使用到的pack数据)。
1:表示回放的是 jpeg 文件夹 (支持多路jpeg, 一个jpeg文件夹,对应一个target_option,也就是说,文件夹的数量需要和target_option数量相同,表示一路的jpeg数据,使用对应路的发送策略传输)。
2:表示回放的是 MP4 文件 (支持多路,一个mp4路径,对应一个target_option,也就是说,mp4文件的数量需要和target_option数量相同,表示一路的mp4数据,使用对应路的发送策略传输)。
0:表示回放的是 pack 文件 (支持多路 pack,可以配置多个files文件,每个target_option使用prefix作为前缀, channel作为前后缀,匹配该路发送需要使用到的pack数据)。
1:表示回放的是 jpeg 文件夹 (支持多路jpeg, 一个jpeg文件夹,对应一个target_option,也就是说,文件夹的数量需要和target_option数量相同,表示一路的jpeg数据,使用对应路的发送策略传输)。
2:表示回放的是 MP4 文件 (支持多路,一个mp4路径,对应一个target_option,也就是说,mp4文件的数量需要和target_option数量相同,表示一路的mp4数据,使用对应路的发送策略传输)。
file_type
dir: 表示所有的pack都在一个目录下。
files:表示回放pack的目录一个一个给出
dir: 表示所有的pack都在一个目录下。
files:表示回放pack的目录一个一个给出
file_paths
如果在windows系统下,目录字符串为["C:hzynewgate"], pack的绝对地址字符串为["C:hzynewgateADAS_XXXX_0.pack"], 需要使用双斜杠区分格目录层级。
如果data_type dir file_paths仅包含一个字符串,例如 [“/mnt/j2mm_5/hzy/newgate/”]。如果data_type files 那么可以有多个字符串,例如[“/mnt/j2mm_5/hzy/newgate/ADAS_XXXXX_0.pack”, “/mnt/j2mm_5/hzy/newgate/ADAS_XXXXX_1.pack”]。
pack 支持 dir 和 files。jpeg 只支持 dir,MP4 只支持 files。发送数据为mp4和jpeg时,需要保证target_option的数量和目录的格式相同,一个目录,对应一个target_option。
如果在windows系统下,目录字符串为["C:hzynewgate"], pack的绝对地址字符串为["C:hzynewgateADAS_XXXX_0.pack"], 需要使用双斜杠区分格目录层级。
如果data_type dir file_paths仅包含一个字符串,例如 [“/mnt/j2mm_5/hzy/newgate/”]。如果data_type files 那么可以有多个字符串,例如[“/mnt/j2mm_5/hzy/newgate/ADAS_XXXXX_0.pack”, “/mnt/j2mm_5/hzy/newgate/ADAS_XXXXX_1.pack”]。
pack 支持 dir 和 files。jpeg 只支持 dir,MP4 只支持 files。发送数据为mp4和jpeg时,需要保证target_option的数量和目录的格式相同,一个目录,对应一个target_option。
target_options
表示数据使用communication传输的策略集合
表示数据使用communication传输的策略集合


上图1为其中一个数据块,图2为对应的pack,配置详情如下,使用时可根据具体情况配置。(仅分享数据类型为pack时的配置)
Prefix
pack数据中,该项需要与对应pack文件的前缀相匹配
pack数据中,该项需要与对应pack文件的前缀相匹配
participant
表示发送使用到的participant_id和communication.json一一对应,具体数值与协议的关系请看communication.json。fillback要求,所有target_option的participant_id数值不能相同,且,任意一个target_option的participant不能与controller_participant相同
表示发送使用到的participant_id和communication.json一一对应,具体数值与协议的关系请看communication.json。fillback要求,所有target_option的participant_id数值不能相同,且,任意一个target_option的participant不能与controller_participant相同
channel
pack数据中,该项需要与对应pack文件的后缀相匹配
pack数据中,该项需要与对应pack文件的后缀相匹配
domain_id
对应 communication 的域名概念,只有相同的IP端口号,相同topic, 相同的域名内的发送端接收端能正常通信。如果接收端无domain_id,则domain_id取-1即可。
对应 communication 的域名概念,只有相同的IP端口号,相同topic, 相同的域名内的发送端接收端能正常通信。如果接收端无domain_id,则domain_id取-1即可。
type
frame: 帧数据。
msgs:小消息数据。
frame: 帧数据。
msgs:小消息数据。
msgs
msgs小消息发送,如果指定多个msgs,表示该路发送策略只从pack从读取指定消息名字的消息,只发送指定消息名字的消息。如果msgs为空,表示读取pack中发送pack中所有的消息。
msgs小消息发送,如果指定多个msgs,表示该路发送策略只从pack从读取指定消息名字的消息,只发送指定消息名字的消息。如果msgs为空,表示读取pack中发送pack中所有的消息。
mode
表示communication的发送模式,如果mode为0, 表示使用pub-sub, 如果mode为1, 表示使用 client-service。
表示communication的发送模式,如果mode为0, 表示使用pub-sub, 如果mode为1, 表示使用 client-service。

