ModelDataRaw struct with fixed size arrays (#22544)

* convert pose

* fix indexes
old-commit-hash: 21e58f9f4a
commatwo_master
Greg Hogan 4 years ago committed by GitHub
parent da149b17ca
commit 45d9f8ecc2
  1. 10
      selfdrive/modeld/models/driving.cc
  2. 9
      selfdrive/modeld/models/driving.h

@ -118,7 +118,7 @@ ModelDataRaw model_eval_frame(ModelState* s, cl_mem yuv_cl, int width, int heigh
net_outputs.lead = &s->output[LEAD_IDX];
net_outputs.lead_prob = &s->output[LEAD_PROB_IDX];
net_outputs.meta = &s->output[DESIRE_STATE_IDX];
net_outputs.pose = &s->output[POSE_IDX];
net_outputs.pose = (ModelDataRawPose*)&s->output[POSE_IDX];
return net_outputs;
}
@ -361,11 +361,11 @@ void posenet_publish(PubMaster &pm, uint32_t vipc_frame_id, uint32_t vipc_droppe
float rot_std_arr[3];
for (int i =0; i < 3; i++) {
trans_arr[i] = net_outputs.pose[i];
trans_std_arr[i] = exp(net_outputs.pose[6 + i]);
trans_arr[i] = net_outputs.pose->trans_arr[i];
trans_std_arr[i] = exp(net_outputs.pose->trans_std_arr[i]);
rot_arr[i] = net_outputs.pose[3 + i];
rot_std_arr[i] = exp(net_outputs.pose[9 + i]);
rot_arr[i] = net_outputs.pose->rot_arr[i];
rot_std_arr[i] = exp(net_outputs.pose->rot_std_arr[i]);
}
MessageBuilder msg;

@ -18,6 +18,13 @@ constexpr int DESIRE_LEN = 8;
constexpr int TRAFFIC_CONVENTION_LEN = 2;
constexpr int MODEL_FREQ = 20;
struct ModelDataRawPose {
float trans_arr[3];
float rot_arr[3];
float trans_std_arr[3];
float rot_std_arr[3];
};
struct ModelDataRaw {
float *plan;
float *lane_lines;
@ -28,7 +35,7 @@ struct ModelDataRaw {
float *desire_state;
float *meta;
float *desire_pred;
float *pose;
ModelDataRawPose *pose;
};
typedef struct ModelState {

Loading…
Cancel
Save