mirror of
https://github.com/dragonpilot/dragonpilot.git
synced 2026-08-23 17:23:51 +08:00
openpilot v0.8.8 release
This commit is contained in:
@@ -1,15 +1,17 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ -d /system ]; then
|
||||
if [ -f /TICI ]; then # QCOM2
|
||||
export LD_LIBRARY_PATH="/usr/lib/aarch64-linux-gnu:/data/pythonpath/phonelibs/snpe/larch64:$LD_LIBRARY_PATH"
|
||||
else # QCOM
|
||||
export LD_LIBRARY_PATH="/data/pythonpath/phonelibs/snpe/aarch64/:$LD_LIBRARY_PATH"
|
||||
fi
|
||||
export ADSP_LIBRARY_PATH="/data/pythonpath/phonelibs/snpe/dsp/"
|
||||
else
|
||||
# PC
|
||||
export LD_LIBRARY_PATH="$HOME/openpilot/phonelibs/snpe/x86_64-linux-clang:/openpilot/phonelibs/snpe/x86_64:$HOME/openpilot/phonelibs/snpe/x86_64:$LD_LIBRARY_PATH"
|
||||
fi
|
||||
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)"
|
||||
cd $DIR
|
||||
|
||||
if [ -d /system ]; then
|
||||
if [ -f /TICI ]; then # QCOM2
|
||||
export LD_LIBRARY_PATH="/usr/lib/aarch64-linux-gnu:/data/pythonpath/phonelibs/snpe/larch64:$LD_LIBRARY_PATH"
|
||||
else # QCOM
|
||||
export LD_LIBRARY_PATH="/data/pythonpath/phonelibs/snpe/aarch64/:$LD_LIBRARY_PATH"
|
||||
fi
|
||||
export ADSP_LIBRARY_PATH="/data/pythonpath/phonelibs/snpe/dsp/"
|
||||
else
|
||||
# PC
|
||||
export LD_LIBRARY_PATH="$DIR/../../phonelibs/snpe/x86_64-linux-clang:$DIR/../../openpilot/phonelibs/snpe/x86_64:$LD_LIBRARY_PATH"
|
||||
fi
|
||||
exec ./_dmonitoringmodeld
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)"
|
||||
cd $DIR
|
||||
|
||||
if [ -d /system ]; then
|
||||
if [ -f /TICI ]; then # QCOM2
|
||||
|
||||
@@ -24,7 +24,9 @@ constexpr int PLAN_MHP_SELECTION = 1;
|
||||
constexpr int PLAN_MHP_GROUP_SIZE = (2*PLAN_MHP_VALS + PLAN_MHP_SELECTION);
|
||||
|
||||
constexpr int LEAD_MHP_N = 5;
|
||||
constexpr int LEAD_MHP_VALS = 4;
|
||||
constexpr int LEAD_TRAJ_LEN = 6;
|
||||
constexpr int LEAD_PRED_DIM = 4;
|
||||
constexpr int LEAD_MHP_VALS = LEAD_PRED_DIM*LEAD_TRAJ_LEN;
|
||||
constexpr int LEAD_MHP_SELECTION = 3;
|
||||
constexpr int LEAD_MHP_GROUP_SIZE = (2*LEAD_MHP_VALS + LEAD_MHP_SELECTION);
|
||||
|
||||
@@ -147,18 +149,38 @@ void fill_sigmoid(const float *input, float *output, int len, int stride) {
|
||||
}
|
||||
}
|
||||
|
||||
void fill_lead_v2(cereal::ModelDataV2::LeadDataV2::Builder lead, const float *lead_data, const float *prob, int t_offset, float t) {
|
||||
void fill_lead_v3(cereal::ModelDataV2::LeadDataV3::Builder lead, const float *lead_data, const float *prob, int t_offset, float prob_t) {
|
||||
float t[LEAD_TRAJ_LEN] = {0.0, 2.0, 4.0, 6.0, 8.0, 10.0};
|
||||
const float *data = get_lead_data(lead_data, t_offset);
|
||||
lead.setProb(sigmoid(prob[t_offset]));
|
||||
lead.setT(t);
|
||||
float xyva_arr[LEAD_MHP_VALS];
|
||||
float xyva_stds_arr[LEAD_MHP_VALS];
|
||||
for (int i=0; i<LEAD_MHP_VALS; i++) {
|
||||
xyva_arr[i] = data[i];
|
||||
xyva_stds_arr[i] = exp(data[LEAD_MHP_VALS + i]);
|
||||
lead.setProbTime(prob_t);
|
||||
float x_arr[LEAD_TRAJ_LEN];
|
||||
float y_arr[LEAD_TRAJ_LEN];
|
||||
float v_arr[LEAD_TRAJ_LEN];
|
||||
float a_arr[LEAD_TRAJ_LEN];
|
||||
float x_stds_arr[LEAD_TRAJ_LEN];
|
||||
float y_stds_arr[LEAD_TRAJ_LEN];
|
||||
float v_stds_arr[LEAD_TRAJ_LEN];
|
||||
float a_stds_arr[LEAD_TRAJ_LEN];
|
||||
for (int i=0; i<LEAD_TRAJ_LEN; i++) {
|
||||
x_arr[i] = data[i*LEAD_PRED_DIM+0];
|
||||
y_arr[i] = data[i*LEAD_PRED_DIM+1];
|
||||
v_arr[i] = data[i*LEAD_PRED_DIM+2];
|
||||
a_arr[i] = data[i*LEAD_PRED_DIM+3];
|
||||
x_stds_arr[i] = exp(data[LEAD_MHP_VALS + i*LEAD_PRED_DIM+0]);
|
||||
y_stds_arr[i] = exp(data[LEAD_MHP_VALS + i*LEAD_PRED_DIM+1]);
|
||||
v_stds_arr[i] = exp(data[LEAD_MHP_VALS + i*LEAD_PRED_DIM+2]);
|
||||
a_stds_arr[i] = exp(data[LEAD_MHP_VALS + i*LEAD_PRED_DIM+3]);
|
||||
}
|
||||
lead.setXyva(xyva_arr);
|
||||
lead.setXyvaStd(xyva_stds_arr);
|
||||
lead.setT(t);
|
||||
lead.setX(x_arr);
|
||||
lead.setY(y_arr);
|
||||
lead.setV(v_arr);
|
||||
lead.setA(a_arr);
|
||||
lead.setXStd(x_stds_arr);
|
||||
lead.setYStd(y_stds_arr);
|
||||
lead.setVStd(v_stds_arr);
|
||||
lead.setAStd(a_stds_arr);
|
||||
}
|
||||
|
||||
void fill_meta(cereal::ModelDataV2::MetaData::Builder meta, const float *meta_data) {
|
||||
@@ -303,10 +325,10 @@ void fill_model(cereal::ModelDataV2::Builder &framed, const ModelDataRaw &net_ou
|
||||
fill_meta(framed.initMeta(), net_outputs.meta);
|
||||
|
||||
// leads
|
||||
auto leads = framed.initLeads(LEAD_MHP_SELECTION);
|
||||
auto leads = framed.initLeadsV3(LEAD_MHP_SELECTION);
|
||||
float t_offsets[LEAD_MHP_SELECTION] = {0.0, 2.0, 4.0};
|
||||
for (int t_offset=0; t_offset<LEAD_MHP_SELECTION; t_offset++) {
|
||||
fill_lead_v2(leads[t_offset], net_outputs.lead, net_outputs.lead_prob, t_offset, t_offsets[t_offset]);
|
||||
fill_lead_v3(leads[t_offset], net_outputs.lead, net_outputs.lead_prob, t_offset, t_offsets[t_offset]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -238,7 +238,7 @@ void Thneed::save(const char *filename, bool save_binaries) {
|
||||
if (mobj["arg_type"] == "image2d_t" || mobj["arg_type"] == "image1d_t") {
|
||||
assert(false);
|
||||
} else {
|
||||
// buffers alloced with CL_MEM_HOST_WRITE_ONLY, hence this hack
|
||||
// buffers allocated with CL_MEM_HOST_WRITE_ONLY, hence this hack
|
||||
//hexdump((uint32_t*)val, 0x100);
|
||||
|
||||
// the worst hack in thneed, the flags are at 0x14
|
||||
|
||||
Reference in New Issue
Block a user