ros-industrial / abb_libegm

A C++ library for interfacing with ABB robot controllers supporting Externally Guided Motion (689-1)
BSD 3-Clause "New" or "Revised" License
93 stars 53 forks source link

I cant use it to control the pose ,but i can control the joint,what's wrong with me #164

Closed wdw753951 closed 1 year ago

wdw753951 commented 1 year ago

My cpp code is : output.mutable_robot()->mutable_joints()->mutable_position()->mutable_values()->Add(a); egm_interface->write(output);

when use the \Joint the rapid code is: EGMSetupUC ROB_1, egmID1, "default", "UCdevice"\Joint,\CommTimeout:=10; EGMActJoint egmID1; EGMRunJoint egmID1, EGM_STOP_HOLD \J1; it sucess ,the robot can move

But when i use the \Pose the rapid code is
VAR pose corr_frame_offs:=[[0,0,0],[1,0,0,0]]; EGMSetupUC ROB_1, egmID1, "default", "UCdevice"\Pose,\CommTimeout:=10; EGMActPose egmID1,\Tool:=tool0, \WObj:=wobj0,corr_frame_offs, EGM_FRAME_WORLD, tool0.tframe, EGM_FRAME_TOOL; EGMRunPose egmID1, EGM_STOP_HOLD \x \y \z; cpp code is: output.mutable_robot()->mutable_cartesian()->mutable_pose()->mutable_position()->set_x(500); output.mutable_robot()->mutable_cartesian()->mutable_pose()->mutable_position()->set_y(300); output.mutable_robot()->mutable_cartesian()->mutable_pose()->mutable_position()->set_z(800); egm_interface->write(output); the robot can recieve the data ,so the rapid process is not time out after 10 second ,but the robot dont move

what's wrong with me