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 = &s->output[LEAD_IDX];
net_outputs.lead_prob = &s->output[LEAD_PROB_IDX]; net_outputs.lead_prob = &s->output[LEAD_PROB_IDX];
net_outputs.meta = &s->output[DESIRE_STATE_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; 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]; float rot_std_arr[3];
for (int i =0; i < 3; i++) { for (int i =0; i < 3; i++) {
trans_arr[i] = net_outputs.pose[i]; trans_arr[i] = net_outputs.pose->trans_arr[i];
trans_std_arr[i] = exp(net_outputs.pose[6 + i]); trans_std_arr[i] = exp(net_outputs.pose->trans_std_arr[i]);
rot_arr[i] = net_outputs.pose[3 + i]; rot_arr[i] = net_outputs.pose->rot_arr[i];
rot_std_arr[i] = exp(net_outputs.pose[9 + i]); rot_std_arr[i] = exp(net_outputs.pose->rot_std_arr[i]);
} }
MessageBuilder msg; MessageBuilder msg;

@ -18,6 +18,13 @@ constexpr int DESIRE_LEN = 8;
constexpr int TRAFFIC_CONVENTION_LEN = 2; constexpr int TRAFFIC_CONVENTION_LEN = 2;
constexpr int MODEL_FREQ = 20; 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 { struct ModelDataRaw {
float *plan; float *plan;
float *lane_lines; float *lane_lines;
@ -28,7 +35,7 @@ struct ModelDataRaw {
float *desire_state; float *desire_state;
float *meta; float *meta;
float *desire_pred; float *desire_pred;
float *pose; ModelDataRawPose *pose;
}; };
typedef struct ModelState { typedef struct ModelState {

Loading…
Cancel
Save