Halcon - Rotate pose

280 Views Asked by At

I know that there is set_origin_pose to shift a pose in X/Y/Z.

But I was not able to to rotate a pose along its own X Y or Z axis. I cant simply add an angle to the pose's values, because they refer to the camera's coordinates.

How can a pose be rotated?

1

There are 1 best solutions below

0
On BEST ANSWER

Solved by converting the pose to a mat3d, rotating the mat with hom_mat3d_rotate_local and then converting back to a pose:

 *shift base pose           
          set_origin_pose (CalculationPose, X1 ,0, Y1,  CalculationPose) 
          disp_3d_coord_system(3600, CameraParam, CalculationPose, 0.1)
          

 *rotate base pose
          pose_to_hom_mat3d(CalculationPose, CalculationMat)
          hom_mat3d_rotate_local(CalculationMat, -AngleRad  , 'y',CalculationMatRotated)
          hom_mat3d_to_pose(CalculationMatRotated, CalculationPose)