ModelDataRaw struct with fixed size arrays (#22544)

* convert pose

* fix indexes
pull/22553/head
Greg Hogan 2021-10-13 20:03:15 -07:00 committed by GitHub
parent 12353bbea9
commit 21e58f9f4a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 6 deletions

View File

@ -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;

View File

@ -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 {