public bool Is_Valid_Target(CartesianPosition Position) { var Current_Position = robot.GetCurrentPosition(); CartesianPosition New_Position = new CartesianPosition(); if (Position.X + Current_Position.X >= MAX_X) { return(false); } else if (Position.X + Current_Position.X <= MIN_X) { return(false); } else if (Position.Y + Current_Position.Y >= MAX_Y) { return(false); } else if (Position.Y + Current_Position.Y <= MIN_Y) { return(false); } else if (Position.Z + Current_Position.Z >= MAX_Z) { return(false); } else if (Position.Z + Current_Position.Z <= MIN_Z) { return(false); } else { return(true); } }
public ActionResult SwitchRobotConnection(bool connect, string ip) { bool success = false; if (connect) { //Connexion du robot Logs.AddLog("info", string.Format("Starting robot connection on {0} ...", ip)); MvcApplication.RobotInfos.IsConnected = true; try { MyRobot.Connect(ip); MvcApplication.RobotInfos.IsConnected = true; MyRobot.GetCurrentPosition(); success = true; Logs.AddLog("info", "Robot connected"); } catch (Exception e) { Logs.AddLog("Error", string.Format("Error in robot connection: {0} ...", e.Data)); MvcApplication.RobotInfos.IsConnected = false; } } else { //Deconnexion du robot Logs.AddLog("info", "Robot disconnection not implemented"); //MvcApplication.RobotInfos.IsConnected = false; success = true; } return(Json(new { Success = success }, JsonRequestBehavior.AllowGet)); }
static void Main(string[] args) { RobotController Robot = new RobotController(); Robot.Connect("192.168.1.1"); Console.WriteLine("Robot connecté ... "); double cosTeta = 0.649352561565284; //teta=49.50... double sinTeta = 0.760487508634168; // sinTeta = System.Math.Cos(45); while (true) { double rX = Robot.GetCurrentPosition().X *cosTeta - Robot.GetCurrentPosition().Y *sinTeta; double rY = Robot.GetCurrentPosition().X *sinTeta + Robot.GetCurrentPosition().Y *cosTeta; //while((30 <= rX <= -30)&&(30 <= rY <= -20)&&(Robot.GetCurrentPosition().Z < 5)) //if ((-300 >= rX) && (rX >= 300) && (-200 >= rY) && (rY >= 300) && (Robot.GetCurrentPosition().Z <= 50)) if ((-200 <= rX) && (rX <= 800) && (130 <= rY) && (rY <= 790) && (Robot.GetCurrentPosition().Z >= 50)) { //move robot Console.WriteLine("Robot reste dans la zone de securité YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY"); Console.WriteLine("Robot position : x:" + Robot.GetCurrentPosition().X + "; y:" + Robot.GetCurrentPosition().Y + "; z: " + Robot.GetCurrentPosition().Z); Console.WriteLine(" Rotation de X : " + rX + "; Y : " + rY); } else { //robot s'arrete Console.WriteLine("!!! Robot a sorti de la zone de securité !!!!!!!!!!!!!!!!!!!!!!!"); Console.WriteLine("Robot position : x:" + Robot.GetCurrentPosition().X + "; y:" + Robot.GetCurrentPosition().Y + "; z: " + Robot.GetCurrentPosition().Z); Console.WriteLine(" Rotation de X : " + rX + "; Y : " + rY); } System.Threading.Thread.Sleep(2000); } }
/// <summary> /// Construit une instance de RobotPosition à partir de la position actuelle du robot /// </summary> /// <param name="robot"></param> public RobotPosition(RobotController robot) { try { robot.StopRelativeMovement(); Position = robot.GetCurrentPosition(); robot.StartRelativeMovement(); } catch (Exception ex) { Position = new CartesianPosition(); } }
static void Main(string[] args) { RobotController Robot = new RobotController(); Robot.Connect("192.168.1.1"); Console.WriteLine("Robot connecté ... "); Console.WriteLine("Robot position : x:" + Robot.GetCurrentPosition().X + "; y:" + Robot.GetCurrentPosition().Y + "; z: " + Robot.GetCurrentPosition().Z); List<CartesianPosition> Trajectoire = new List<CartesianPosition>(); for (int i = 1; i <= 100; i++) { Trajectoire.Add(new CartesianPosition { X = i + Robot.GetCurrentPosition().X, Y = i + Robot.GetCurrentPosition().Y, Z = i + Robot.GetCurrentPosition().Z, A = 0 + Robot.GetCurrentPosition().A, B = 0 + Robot.GetCurrentPosition().B, C = 0 + Robot.GetCurrentPosition().C }); } //Robot.PlayTrajectory(Trajectoire); Robot.StartRelativeMovement(); CartesianPosition Test = new CartesianPosition { X = -1, Y = 0, Z = 0, A = 0, B = 0, C = 0 }; Robot.SetRelativeMovement(Test); System.Threading.Thread.Sleep(2000); Robot.StopRelativeMovement(); Device Mouse = new Device(); }
static void Main(string[] args) { RobotController Robot = new RobotController(); Robot.Connect("192.168.1.1"); Console.WriteLine("Robot connecté ... "); Console.WriteLine("Robot position : x:" + Robot.GetCurrentPosition().X + "; y:" + Robot.GetCurrentPosition().Y + "; z: " + Robot.GetCurrentPosition().Z); List <CartesianPosition> Trajectoire = new List <CartesianPosition>(); for (int i = 1; i <= 100; i++) { Trajectoire.Add(new CartesianPosition { X = i + Robot.GetCurrentPosition().X, Y = i + Robot.GetCurrentPosition().Y, Z = i + Robot.GetCurrentPosition().Z, A = 0 + Robot.GetCurrentPosition().A, B = 0 + Robot.GetCurrentPosition().B, C = 0 + Robot.GetCurrentPosition().C }); } //Robot.PlayTrajectory(Trajectoire); Robot.StartRelativeMovement(); CartesianPosition Test = new CartesianPosition { X = -1, Y = 0, Z = 0, A = 0, B = 0, C = 0 }; Robot.SetRelativeMovement(Test); System.Threading.Thread.Sleep(2000); Robot.StopRelativeMovement(); Device Mouse = new Device(); }
static void Main(string[] args) { RobotController Robot = new RobotController(); Robot.Connect("192.168.1.1"); Console.WriteLine("Robot connecté ... "); double cosTeta = 0.649352561565284; //teta=49.50... double sinTeta = 0.760487508634168; // sinTeta = System.Math.Cos(45); while(true) { double rX = Robot.GetCurrentPosition().X * cosTeta - Robot.GetCurrentPosition().Y * sinTeta; double rY = Robot.GetCurrentPosition().X * sinTeta + Robot.GetCurrentPosition().Y * cosTeta; //while((30 <= rX <= -30)&&(30 <= rY <= -20)&&(Robot.GetCurrentPosition().Z < 5)) //if ((-300 >= rX) && (rX >= 300) && (-200 >= rY) && (rY >= 300) && (Robot.GetCurrentPosition().Z <= 50)) if ((-200 <= rX) && (rX <= 800) && (130 <= rY) && (rY <= 790) && (Robot.GetCurrentPosition().Z >= 50)) { //move robot Console.WriteLine("Robot reste dans la zone de securité YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY"); Console.WriteLine("Robot position : x:" + Robot.GetCurrentPosition().X + "; y:" + Robot.GetCurrentPosition().Y + "; z: " + Robot.GetCurrentPosition().Z); Console.WriteLine(" Rotation de X : " + rX +"; Y : " + rY); } else { //robot s'arrete Console.WriteLine("!!! Robot a sorti de la zone de securité !!!!!!!!!!!!!!!!!!!!!!!"); Console.WriteLine("Robot position : x:" + Robot.GetCurrentPosition().X + "; y:" + Robot.GetCurrentPosition().Y + "; z: " + Robot.GetCurrentPosition().Z); Console.WriteLine(" Rotation de X : " + rX + "; Y : " + rY); } System.Threading.Thread.Sleep(2000); } }
private static void Main() { RobotController Robot = new RobotController(); Robot.Connect("192.168.1.1"); Console.WriteLine("Robot connecté ... "); string valeurX = "0", valeurY = "0", valeurZ = "0", valeurA = "0", valeurB = "0", valeurC = "0", valeurPince = "0", valeurDetection = "0"; XmlDocument doc = new XmlDocument(); XmlNode docNode = doc.CreateXmlDeclaration("1.0", "UTF-8", null); doc.AppendChild(docNode); //XmlNode productsNode = doc.CreateElement("products"); XmlNode RobotNode = doc.CreateElement("Coordonees_Robot"); doc.AppendChild(RobotNode); for (int i = 1; i < 666; i++) { Console.WriteLine(i); string id = i.ToString(); //iString Console.WriteLine(id); Console.WriteLine("press 0 pour ajouter point; press 9 pour finaliser"); int j = i; while (j==i) { try { int press = int.Parse(Console.ReadLine()); switch (press) { case 0: { /* //Doner valeurs a X Y Z; apres on metra get.currentPosition... System.Console.WriteLine("Ecrivez la valeur de X"); valeurX = (Console.ReadLine()); System.Console.WriteLine("Ecrivez la valeur de Y"); valeurY = (Console.ReadLine()); System.Console.WriteLine("Ecrivez la valeur de Z"); valeurZ = (Console.ReadLine()); */ // valeurX = Robot.GetCurrentPosition().X.ToString(); valeurY = Robot.GetCurrentPosition().Y.ToString(); valeurZ = Robot.GetCurrentPosition().Z.ToString(); valeurA = Robot.GetCurrentPosition().A.ToString(); valeurB = Robot.GetCurrentPosition().B.ToString(); valeurC = Robot.GetCurrentPosition().C.ToString(); valeurDetection = Robot.ReadSensor().ToString(); valeurPince = Robot.IsGripperOpen().ToString(); //*/ // Create and add another product node---------------------------Creation nouveau position XmlNode PositonNode = doc.CreateElement("Position"); XmlAttribute postitionAttribute = doc.CreateAttribute("id"); postitionAttribute.Value = id; PositonNode.Attributes.Append(postitionAttribute); RobotNode.AppendChild(PositonNode); XmlNode xNode = doc.CreateElement("X"); xNode.AppendChild(doc.CreateTextNode(valeurX)); PositonNode.AppendChild(xNode); XmlNode yNode = doc.CreateElement("Y"); yNode.AppendChild(doc.CreateTextNode(valeurY)); PositonNode.AppendChild(yNode); XmlNode zNode = doc.CreateElement("Z"); zNode.AppendChild(doc.CreateTextNode(valeurZ)); PositonNode.AppendChild(zNode); XmlNode aNode = doc.CreateElement("A"); aNode.AppendChild(doc.CreateTextNode(valeurA)); PositonNode.AppendChild(aNode); XmlNode bNode = doc.CreateElement("B"); bNode.AppendChild(doc.CreateTextNode(valeurB)); PositonNode.AppendChild(bNode); XmlNode cNode = doc.CreateElement("C"); cNode.AppendChild(doc.CreateTextNode(valeurC)); PositonNode.AppendChild(cNode); //----------------------------- Pince et Capteur ------------------------------------------ XmlNode gripperNode = doc.CreateElement("Pince"); gripperNode.AppendChild(doc.CreateTextNode(valeurPince)); PositonNode.AppendChild(gripperNode); XmlNode detectionNode = doc.CreateElement("Detection"); detectionNode.AppendChild(doc.CreateTextNode(valeurDetection)); PositonNode.AppendChild(detectionNode); j = j+1; break; } case 9: { i = 666; break; } default: { System.Console.WriteLine("Pres 0 pour enregitrer un nouveau point"); break; } } } catch { } } } doc.Save(Console.Out); doc.Save(@"C:\Users\Jordi\Desktop\novaLynx\jordi\XML\xmlTestJordi4\kukaAgilus.xml"); System.Console.ReadLine(); }
private static void Main() { RobotController Robot = new RobotController(); Robot.Connect("192.168.1.1"); Console.WriteLine("Robot connecté ... "); string valeurX = "0", valeurY = "0", valeurZ = "0", valeurA = "0", valeurB = "0", valeurC = "0", valeurPince = "0", valeurDetection = "0"; XmlDocument doc = new XmlDocument(); XmlNode docNode = doc.CreateXmlDeclaration("1.0", "UTF-8", null); doc.AppendChild(docNode); //XmlNode productsNode = doc.CreateElement("products"); XmlNode RobotNode = doc.CreateElement("Coordonees_Robot"); doc.AppendChild(RobotNode); for (int i = 1; i < 666; i++) { Console.WriteLine(i); string id = i.ToString(); //iString Console.WriteLine(id); Console.WriteLine("press 0 pour ajouter point; press 9 pour finaliser"); int j = i; while (j == i) { try { int press = int.Parse(Console.ReadLine()); switch (press) { case 0: { /* //Doner valeurs a X Y Z; apres on metra get.currentPosition... * System.Console.WriteLine("Ecrivez la valeur de X"); * valeurX = (Console.ReadLine()); * System.Console.WriteLine("Ecrivez la valeur de Y"); * valeurY = (Console.ReadLine()); * System.Console.WriteLine("Ecrivez la valeur de Z"); * valeurZ = (Console.ReadLine()); */ // valeurX = Robot.GetCurrentPosition().X.ToString(); valeurY = Robot.GetCurrentPosition().Y.ToString(); valeurZ = Robot.GetCurrentPosition().Z.ToString(); valeurA = Robot.GetCurrentPosition().A.ToString(); valeurB = Robot.GetCurrentPosition().B.ToString(); valeurC = Robot.GetCurrentPosition().C.ToString(); valeurDetection = Robot.ReadSensor().ToString(); valeurPince = Robot.IsGripperOpen().ToString(); //*/ // Create and add another product node---------------------------Creation nouveau position XmlNode PositonNode = doc.CreateElement("Position"); XmlAttribute postitionAttribute = doc.CreateAttribute("id"); postitionAttribute.Value = id; PositonNode.Attributes.Append(postitionAttribute); RobotNode.AppendChild(PositonNode); XmlNode xNode = doc.CreateElement("X"); xNode.AppendChild(doc.CreateTextNode(valeurX)); PositonNode.AppendChild(xNode); XmlNode yNode = doc.CreateElement("Y"); yNode.AppendChild(doc.CreateTextNode(valeurY)); PositonNode.AppendChild(yNode); XmlNode zNode = doc.CreateElement("Z"); zNode.AppendChild(doc.CreateTextNode(valeurZ)); PositonNode.AppendChild(zNode); XmlNode aNode = doc.CreateElement("A"); aNode.AppendChild(doc.CreateTextNode(valeurA)); PositonNode.AppendChild(aNode); XmlNode bNode = doc.CreateElement("B"); bNode.AppendChild(doc.CreateTextNode(valeurB)); PositonNode.AppendChild(bNode); XmlNode cNode = doc.CreateElement("C"); cNode.AppendChild(doc.CreateTextNode(valeurC)); PositonNode.AppendChild(cNode); //----------------------------- Pince et Capteur ------------------------------------------ XmlNode gripperNode = doc.CreateElement("Pince"); gripperNode.AppendChild(doc.CreateTextNode(valeurPince)); PositonNode.AppendChild(gripperNode); XmlNode detectionNode = doc.CreateElement("Detection"); detectionNode.AppendChild(doc.CreateTextNode(valeurDetection)); PositonNode.AppendChild(detectionNode); j = j + 1; break; } case 9: { i = 666; break; } default: { System.Console.WriteLine("Pres 0 pour enregitrer un nouveau point"); break; } } } catch { } } } doc.Save(Console.Out); doc.Save(@"C:\Users\Jordi\Desktop\novaLynx\jordi\XML\xmlTestJordi4\kukaAgilus.xml"); System.Console.ReadLine(); }