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);
            }
        }
Example #2
0
        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);
            }
        }
Example #3
0
        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));
        }
 // Constructeur permettant de ce connecter au robot
 public Class_Kuka_Manager()
 {
     if (debug)
     {
         robot = new RobotController();
         try
         {
             robot.Connect("192.168.1.1");
             Console.WriteLine("coonected");
         }
         catch (IOException e)
         {
             Console.WriteLine(e);
         }
     }
 }
 // Constructeur permettant de ce connecter au robot
 public Class_Kuka_Manager()
 {
     if (debug)
     {
         robot = new RobotController();
         try
         {
             robot.Connect("192.168.1.1");
             Console.WriteLine("coonected");
         }
         catch (IOException e)
         {
             Console.WriteLine(e);
         }
     }
 }
Example #6
0
        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();
        }
Example #7
0
        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();
        }
        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();
        }
Example #9
0
        static void Main(string[] args)
        {
            int NUM_AUTD_X = 3;
            int NUM_AUTD_Y = 3;

            float W = 192f;
            float H = 151.4f;

            float xc = W * NUM_AUTD_X / 2f;
            float yc = H * NUM_AUTD_Y / 2f;
            float Z  = 200;

            var compress = true;
            var cond     = new Conditions()
            {
                SampleRateHz = 10_000_000,
                SampleLen    = 10_000,
                Temp         = 22.8f,
                Humidity     = 13f,
                Amplifer     = 10,
                X            = 0,
                Y            = 0,
                Z            = Z
            };

            using var robo = new RobotController();
            if (!robo.Connect("172.16.99.57"))
            {
                Console.WriteLine("Failed to connect to robot.");
                return;
            }
            robo.MoveTo(0, 0, Z);

            using var pico = new PicoCnt();
            pico.SetChannel(0, 50, 1, null);
            pico.SetChannel(1, 5000, 10, 1000);
            pico.SetCondition(cond);

            using var autd = new AUTD3Cnt();

            for (int y = 0; y < NUM_AUTD_Y; y++)
            {
                for (int x = 0; x < NUM_AUTD_X; x++)
                {
                    autd.AddDevice(x * W, y * H, 0);
                }
            }
            var ifname = AUTD3Cnt.GetIfname();

            autd.Open(ifname);
            autd.Clear();
            autd.Calibrate();
            autd.StaticMod(0xFF);

            Scan(autd, 10, pico, robo, cond, NUM_AUTD_X, NUM_AUTD_Y, Z, compress);

            Console.WriteLine("Finish.");
            autd.Stop();
            robo.Finish();
        }
    }
        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();

            //-------------------------------------------------
            bool loop = true;
            while (loop)
            {
                Console.WriteLine("Type number and press Return");
                Console.WriteLine("press 2 pour ouvrir la pince");
                Console.WriteLine("press 3 pour fermer la pince");
                try
                {
                    int i = int.Parse(Console.ReadLine());
                    switch (i)
                    {
                        case 0:
                            {
                                for (int ii = 1; ii <= 20; ii++)
                                {
                                    bool pinceOuverte = Robot.IsGripperOpen();
                                    //bool pinceOuverte = true;
                                    Console.WriteLine("Pince ouverte : ");
                                    Console.WriteLine(pinceOuverte);
                                }
                                break;
                            }
                        case 1:
                            {
                                for (int ii = 1; ii <= 20; ii++)
                                {
                                    var valeurCapteur = Robot.ReadSensor();
                                    //int valeurCapteur = 12345;
                                    Console.WriteLine("Valeur du capteur : ");
                                    Console.WriteLine(valeurCapteur);
                                }
                                break;
                            }
                        case 2:
                            {
                                Console.WriteLine("Ouvrir la pince");
                                Robot.OpenGripper();
                                break;
                            }
                        case 3:
                            {
                                Console.WriteLine("Fermer la pince");
                                Robot.CloseGripper();
                                break;
                            }
                        default:
                            {
                                System.Console.WriteLine("Other number");
                                break;
                            }
                    }
                }
                catch
                {
                }
                System.Threading.Thread.Sleep(50);
            }
            //-------------------------------------------------
        }
        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();
        }
        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();

            //-------------------------------------------------
            bool loop = true;

            while (loop)
            {
                Console.WriteLine("Type number and press Return");
                Console.WriteLine("press 2 pour ouvrir la pince");
                Console.WriteLine("press 3 pour fermer la pince");
                try
                {
                    int i = int.Parse(Console.ReadLine());
                    switch (i)
                    {
                    case 0:
                    {
                        for (int ii = 1; ii <= 20; ii++)
                        {
                            bool pinceOuverte = Robot.IsGripperOpen();
                            //bool pinceOuverte = true;
                            Console.WriteLine("Pince ouverte : ");
                            Console.WriteLine(pinceOuverte);
                        }
                        break;
                    }

                    case 1:
                    {
                        for (int ii = 1; ii <= 20; ii++)
                        {
                            var valeurCapteur = Robot.ReadSensor();
                            //int valeurCapteur = 12345;
                            Console.WriteLine("Valeur du capteur : ");
                            Console.WriteLine(valeurCapteur);
                        }
                        break;
                    }

                    case 2:
                    {
                        Console.WriteLine("Ouvrir la pince");
                        Robot.OpenGripper();
                        break;
                    }

                    case 3:
                    {
                        Console.WriteLine("Fermer la pince");
                        Robot.CloseGripper();
                        break;
                    }

                    default:
                    {
                        System.Console.WriteLine("Other number");
                        break;
                    }
                    }
                }
                catch
                {
                }
                System.Threading.Thread.Sleep(50);
            }
            //-------------------------------------------------
        }
Example #13
0
        static void Main(string[] args)
        {
            using var robo = new RobotController();
            if (!robo.Connect("172.16.99.57"))
            {
                Console.WriteLine("Failed to connect to robot.");
                return;
            }
            robo.MoveTo(0, 0, 200);

            using var pico = new PicoCnt();

            using var autd = new AUTD3Cnt();
            autd.AddDevice(0, 0, 0);

            var ifname = AUTD3Cnt.GetIfname();

            autd.Open(ifname);
            autd.Clear();
            autd.Calibrate();
            autd.StaticMod(0xFF);

            var compress = false;
            var cond     = new Conditions()
            {
                SampleRateHz = 2_000_000,
                SampleLen    = 2_000,
                Temp         = 23.0f,
                Humidity     = 19f,
                Amplifer     = 10,
                X            = 0,
                Y            = 0,
                Z            = 200
            };

            pico.SetChannel(0, 500, 1, null);
            pico.SetCondition(cond);
            Console.WriteLine("Connect Ch. A to microphone. conditions are ...");
            cond.Check();
            Scan(autd, pico, cond, "amp", false, (autd, i) => autd.TransTest(0, (byte)i, 0), compress);

            cond.SampleRateHz = 10_000_000;
            cond.SampleLen    = 20000;

            pico.SetChannel(0, 50000, 10, null);
            pico.SetCondition(cond);
            Console.WriteLine("Connect Ch. A to microphone. conditions are ...");
            cond.Check();
            Scan(autd, pico, cond, "input", false, (autd, i) => autd.TransTest(0, (byte)i, 0), compress);

            pico.SetChannel(0, 500, 1, null);
            pico.SetChannel(1, 5000, 10, 1000);
            pico.SetCondition(cond);
            Console.WriteLine("Connect Ch. A to microphone and Ch. B to 40kHz reference signal. conditions are ...");
            cond.Check();
            Scan(autd, pico, cond, "phase", true, (autd, i) => autd.TransTest(0, 0xFF, (byte)i), compress);

            Console.WriteLine("Finish.");

            robo.Finish();
        }
    }
Example #14
0
        static void Main(string[] args)
        {
            Console.WriteLine("Start program...");
            Mouse           MyMouse = new Mouse();
            RobotController MyRobot = new RobotController();

            // Calibre la souris, valider la calibration avec la touche 4
            MyMouse.Calibrate();

            // Connexion au robot
            MyRobot.Connect("192.168.1.1");

            // Ouvre ou ferme la pince
            //if (MyRobot.IsGripperOpen()) MyRobot.CloseGripper();
            //else MyRobot.OpenGripper();

            // Envoi la commande au robot
            MyRobot.StartRelativeMovement();

            // Créer un objet thread de l'objet Mouse, fonction Loop
            Thread MouseThread = new Thread(MyMouse.Loop);

            // Demarre le thread.
            MouseThread.Start();
            Console.WriteLine("main thread: Starting mouse thread...");

            // Attend que le thread soit lancé et activé
            while (!MouseThread.IsAlive)
            {
                ;
            }
            Console.WriteLine("main thread: Mouse alive");

            // Boucle tant qu'on utilise la souris
            bool endMouse = true;

            while (endMouse)
            {
                // Met le thread principale (ici) en attente d'une millisecond pour autoriser le thread secondaire à faire quelque chose
                Thread.Sleep(1);
                // Convertion des donnees de la souris pour le robot
                CartesianPosition CartPositionMouse = new CartesianPosition();
                CartPositionMouse.X = -MyMouse.MoveByVector.Z;
                CartPositionMouse.Y = -MyMouse.MoveByVector.X;
                CartPositionMouse.Z = MyMouse.MoveByVector.Y;
                CartPositionMouse.A = -MyMouse.RotateByVector.Z;
                CartPositionMouse.B = -MyMouse.RotateByVector.X;
                CartPositionMouse.C = MyMouse.RotateByVector.Y;
                Console.WriteLine("cmd robot: X : {0} | Y : {1} | Z : {2} | A : {3} | B : {4} | C : {5}", CartPositionMouse.X, CartPositionMouse.Y, CartPositionMouse.Z, CartPositionMouse.A, CartPositionMouse.B, CartPositionMouse.C);
                // Envoi les commandes de deplacement au robot
                MyRobot.SetRelativeMovement(CartPositionMouse);
            }

            // Demande l'arret du thread de la souris
            MyMouse.RequestStop();

            // Bloque le thread principale tant que le thread Mouse n'est pas terminé
            MouseThread.Join();

            // Arret le mouvement
            MyRobot.StopRelativeMovement();

            Console.WriteLine("main thread: mouse thread has terminated.");

            Console.WriteLine("End program... Press a key to quit...");
            Console.ReadKey();
        }