private void PosTimer_Tick(object sender, System.Timers.ElapsedEventArgs e) { if (!isConnectted) { return; } DobotDll.GetPose(ref pose); this.Dispatcher.BeginInvoke((Action) delegate() { tbJoint1Angle.Text = pose.jointAngle[0].ToString(); tbJoint2Angle.Text = pose.jointAngle[1].ToString(); tbJoint3Angle.Text = pose.jointAngle[2].ToString(); tbJoint4Angle.Text = pose.jointAngle[3].ToString(); if (sync.IsChecked == true) { X.Text = pose.x.ToString(); Y.Text = pose.y.ToString(); Z.Text = pose.z.ToString(); rHead.Text = pose.rHead.ToString(); pauseTime.Text = "0"; } }); }
private void PosTimer_Tick(object sender, EventArgs e) { if (!isConnectted) { return; } Pose pose = new Pose(); DobotDll.GetPose(ref pose); tbJoint1Angle.Text = pose.jointAngle[0].ToString(); tbJoint2Angle.Text = pose.jointAngle[1].ToString(); tbJoint3Angle.Text = pose.jointAngle[2].ToString(); tbJoint4Angle.Text = pose.jointAngle[3].ToString(); if (sync.IsChecked == true) { isGrab.IsChecked = pose.isGrab == 1; X.Text = pose.x.ToString(); Y.Text = pose.y.ToString(); Z.Text = pose.z.ToString(); rHead.Text = pose.rHead.ToString(); pauseTime.Text = "0"; isGripper.Text = pose.gripper.ToString(); } }
//Überprüft alle 100ms die aktuelle Position, wenn ein Roboter verbunden ist private void PosTimer_Tick(object sender, EventArgs e) { if (!isConnectted) { return; } DobotDll.GetPose(ref pose); }
/// <summary> /// タイマーで定期的に現在位置を取得します /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void PosTimer_Tick(object sender, System.Timers.ElapsedEventArgs e) { if (!_isConnectted) { return; } DobotDll.GetPose(ref _pose); // コンソール出力 Console.WriteLine($"x:{_pose.x}"); Console.WriteLine($"y:{_pose.y}"); Console.WriteLine($"z:{_pose.z}"); Console.WriteLine($"R:{_pose.rHead}"); }
private void GetPose() { if (!isConnectted) { return; } DobotDll.GetPose(ref pose); this.Dispatcher.BeginInvoke((Action) delegate() { //if (sync.IsChecked == true) //{ Xtext.Text = pose.x.ToString(); Ytext.Text = pose.y.ToString(); Ztext.Text = pose.z.ToString(); J1text.Text = pose.jointAngle[0].ToString(); J2text.Text = pose.jointAngle[1].ToString(); J3text.Text = pose.jointAngle[2].ToString(); sdXtext.Text = (pose.x - sd_origin.X).ToString(); sdYtext.Text = (pose.y - sd_origin.Y).ToString(); sdZtext.Text = (pose.z - sd_origin.Z).ToString(); //rHead.Text = pose.rHead.ToString(); // pauseTime.Text = "0"; //} var matrix = new Matrix3D(); matrix.Rotate(new System.Windows.Media.Media3D.Quaternion(new Vector3D(0, 1, 0), pose.jointAngle[0])); matrix.Translate(new Vector3D((pose.y - sd_origin.Y), (pose.z - sd_origin.Z), (pose.x - sd_origin.X))); MeshGeometryModel3D model = ModelGroup.Children[1] as MeshGeometryModel3D; model.Transform = new MatrixTransform3D(matrix); }); }
//Rechnet die Koordianten um, auf die passende Größe und von pixel auf mm private void Positionsbestimmung() { DobotDll.GetPose(ref pose); }
private void button_Click(object sender, RoutedEventArgs e) { DobotDll.ResetPose(false, 0, 0); DobotDll.GetPose(ref pose); sd_origin = new Point3D(pose.x, pose.y, pose.z); }
private void dobotStuff() { PTPJointParams ptpParams; ptpParams.acceleration = new float[4] { 200, 200, 200, 200 }; ptpParams.velocity = new float[4] { 200, 200, 200, 200 }; PTPCoordinateParams ptpCParams; ptpCParams.rAcceleration = 200; ptpCParams.rVelocity = 200; ptpCParams.xyzAcceleration = 200; ptpCParams.xyzVelocity = 200; PTPJumpParams ptpJParams; ptpJParams.jumpHeight = 10; ptpJParams.zLimit = 200; PTPCommonParams ptpCmParams; ptpCmParams.accelerationRatio = 100; ptpCmParams.velocityRatio = 100; WAITCmd wait; wait.timeout = 2000; UInt64 cmdIndex = 0; HOMECmd hmcmd = new HOMECmd(); DobotDll.SetHOMECmd(ref hmcmd, false, ref cmdIndex); System.Threading.Thread.Sleep(20000); Pose pose = new Pose(); DobotDll.GetPose(ref pose); Console.WriteLine(pose.x + ", " + pose.y + ", " + pose.z); DobotDll.SetPTPJointParams(ref ptpParams, false, ref cmdIndex); DobotDll.SetPTPCoordinateParams(ref ptpCParams, false, ref cmdIndex); DobotDll.SetPTPJumpParams(ref ptpJParams, false, ref cmdIndex); DobotDll.SetPTPCommonParams(ref ptpCmParams, false, ref cmdIndex); pickNewCard(cmdIndex, wait); placeCard(290, playerCards * cardDistance, cmdIndex); playerCards++; pickNewCard(cmdIndex, wait); placeCard(200, dealerCards * cardDistance, cmdIndex); dealerCards++; pickNewCard(cmdIndex, wait); placeCard(290, playerCards * cardDistance, cmdIndex); playerCards++; }