机械臂一代怎么用c++来控制移动


#1

一代的接口文档讲得太粗糙了,看到头文件有一个DobotExec()函数,文档中根本没有介绍,这个是什么功能啊?

照着给的demo写了一个c++的,可以连接机械臂得到坐标,但是机械臂不移动,有谁能帮我看看的吗?求帮忙啊

int main()
{

PeriodicTask();

int connect_result = ConnectDobot();
printf("%d\n", connect_result);

if (connect_result == 0)
{
	SetCmdTimeout(3000);
	InitialPose initialPose = InitialPose();
	initialPose.joint2Angle = 45;
	initialPose.joint3Angle = 45;
	SetInitialPose(&initialPose);

	PlaybackBufferCmd cmd = PlaybackBufferCmd();
	cmd.playbackPointAngle.joint1 = 30;
	cmd.playbackPointAngle.joint2 = 30;
	cmd.playbackPointAngle.joint3 = 30;
	cmd.playbackPointAngle.joint4 = 30;
	cmd.playbackPointAngle.gripper = 0;
	cmd.playbackPoint.isGrab = 0;
	cmd.playbackPointAngle.motionStyle = 0;
	SetPlaybackAngleBufferCmd(&cmd);
}
Pose pose = Pose();
GetPose(&pose);
printf("x:%f\ny:%f\nz:%f\n", pose.x, pose.y, pose.z);


DisconnectDobot();;
return 0;

}


#2

自己顶一个,跪求大家帮忙看看啊,
或者有熟悉动态链接库的人吗,
小女子在此谢过。


#3

自己思考以后发现了问题在哪里
控制机械臂首先要加入一个PeriodTask()
让程序持续执行,不间断,否则指令传给Dobot,它还没来得及移动,程序就结束了。

问题是,自己尝试在代码里加入了一些线程,还是不动。


#4

你好,请问这个问题解决了么:sweat_smile: