コード例 #1
0
        public void fctPlay(NLX.Robot.Kuka.Controller.RobotController rob)
        {
            if (listPos.Count() != 0)
            {
                // play the list, then empty it
                rob.PlayTrajectory(listPos);

                listPos.Clear();
            }
        }
コード例 #2
0
        static void Main(string[] args)
        {
            started = false;

            Program prog = new Program();

            Console.WriteLine("Start of programm....");
            coeffTrans = 1.0;
            coeffRot = 0.4;

            Thread myThreadKeyboard;
            myThreadKeyboard = new Thread(new ThreadStart(KeyboardThreadLoop));
            myThreadKeyboard.Start();

            device = new TDx.TDxInput.Device();
            //keyboard = new TDx.TDxInput.Keyboard();
            var keyboard = device.Keyboard;
            Console.WriteLine(device.Sensor);
            Console.WriteLine(device.Sensor.Translation);
            //System.Threading.Thread.Sleep(2500);

            //translation = device.Sensor.Translation;
            //rotation = device.Sensor.Rotation;

            Console.WriteLine(device.IsConnected);
            device.Connect();
            Console.WriteLine(device.IsConnected);
            //System.Threading.Thread.Sleep(2500);
            // la souris est connecte

            /*Console.WriteLine("nombre de touches : ");
            Console.WriteLine(keyboard.Keys);

            Console.WriteLine("nombre de touches programmable : ");
            Console.WriteLine(keyboard.ProgrammableKeys);*/

            //keyboard.KeyDown += new System.EventHandler(prog.onKeyDown);

            //double xMax = 0, yMax = 0, zMax = 0;

            theRobot = new NLX.Robot.Kuka.Controller.RobotController();
            theRobot.Connect("192.168.1.1");
            Console.WriteLine("Connection avec le robot OK !");

            sh = new ScenarioHandler();
            //sh.readAndInterpretFile(@"C:\Users\IMERIR14\Desktop\Novalinxproject\trunk\darkproject\scenario.sck", theRobot);

            Console.WriteLine("File interpretation finished");

            Console.WriteLine("On entre dans le while sleep");
            while (true)
            {
                System.Threading.Thread.Sleep(100);
            }
        }
コード例 #3
0
        static void Main(string[] args)
        {
            /* Declaration des variables */
            double x_Min = 0;
            double y_Min = 0;
            double z_Min = 0;
            double x_Max = 0;
            double y_Max = 0;
            double z_Max = 0;
            double valeurX;
            double valeurY;
            double valeurZ;

            Console.WriteLine("Start...");
            device = new TDx.TDxInput.Device();
            device.Connect();
            robotController = new NLX.Robot.Kuka.Controller.RobotController();
            //robotController.Connect("192.168.1.1");

            ConsoleKeyInfo info;
            String bouton = device.Keyboard.GetKeyName(1);
            Console.WriteLine(bouton);

            bouton = device.Keyboard.GetKeyName(2);
            Console.WriteLine(bouton);

            bouton = device.Keyboard.GetKeyName(3);
            Console.WriteLine(bouton);

            bouton = device.Keyboard.GetKeyName(4);
            Console.WriteLine(bouton);

            bouton = device.Keyboard.GetKeyName(5);
            Console.WriteLine(bouton);

            bouton = device.Keyboard.GetKeyName(6);
            Console.WriteLine(bouton);

            bouton = device.Keyboard.GetKeyName(7);
            Console.WriteLine(bouton);

            bouton = device.Keyboard.GetKeyName(8);
            Console.WriteLine(bouton);

            bouton = device.Keyboard.GetKeyName(9);
            Console.WriteLine(bouton);

            bouton = device.Keyboard.GetKeyName(10);
            Console.WriteLine(bouton);

            bouton = device.Keyboard.GetKeyName(11);
            Console.WriteLine(bouton);

            bouton = device.Keyboard.GetKeyName(12);
            Console.WriteLine(bouton);

            bouton = device.Keyboard.GetKeyName(13);
            Console.WriteLine(bouton);

            bouton = device.Keyboard.GetKeyName(14);
            Console.WriteLine(bouton);

            bouton = device.Keyboard.GetKeyName(15);
            Console.WriteLine(bouton);

            while (true)
            {
                var translation = device.Sensor.Translation;
                var rotation = device.Sensor.Rotation;

                /* Affichage des translations et des rotations */
                //Console.WriteLine("Translation: " + translation.X + " : " + translation.Y + " : " + translation.Z);
                //Console.WriteLine("Rotation: " + rotation.X + " : " + rotation.Y + " : " + rotation.Z + "\n");

                valeurX = translation.X / 2353;
                valeurY = translation.Y / 2702;
                valeurZ = translation.Z / 2648;

                System.Threading.Thread.Sleep(200);
            }
        }
コード例 #4
0
        static void Main(string[] args)
        {
            started = false;

            Program prog = new Program();

            Console.WriteLine("Start of programm....");
            coeffTrans = 1.0;
            coeffRot   = 0.4;

            Thread myThreadKeyboard;

            myThreadKeyboard = new Thread(new ThreadStart(KeyboardThreadLoop));
            myThreadKeyboard.Start();


            device = new TDx.TDxInput.Device();
            //keyboard = new TDx.TDxInput.Keyboard();
            var keyboard = device.Keyboard;

            Console.WriteLine(device.Sensor);
            Console.WriteLine(device.Sensor.Translation);
            //System.Threading.Thread.Sleep(2500);

            //translation = device.Sensor.Translation;
            //rotation = device.Sensor.Rotation;

            Console.WriteLine(device.IsConnected);
            device.Connect();
            Console.WriteLine(device.IsConnected);
            //System.Threading.Thread.Sleep(2500);
            // la souris est connecte

            /*Console.WriteLine("nombre de touches : ");
             * Console.WriteLine(keyboard.Keys);
             *
             * Console.WriteLine("nombre de touches programmable : ");
             * Console.WriteLine(keyboard.ProgrammableKeys);*/

            //keyboard.KeyDown += new System.EventHandler(prog.onKeyDown);

            //double xMax = 0, yMax = 0, zMax = 0;

            theRobot = new NLX.Robot.Kuka.Controller.RobotController();
            theRobot.Connect("192.168.1.1");
            Console.WriteLine("Connection avec le robot OK !");



            sh = new ScenarioHandler();
            //sh.readAndInterpretFile(@"C:\Users\IMERIR14\Desktop\Novalinxproject\trunk\darkproject\scenario.sck", theRobot);

            Console.WriteLine("File interpretation finished");


            Console.WriteLine("On entre dans le while sleep");
            while (true)
            {
                System.Threading.Thread.Sleep(100);
            }
        }
コード例 #5
0
        static void Main(string[] args)
        {
            /* Declaration des variables */
            double x_Min = 0;
            double y_Min = 0;
            double z_Min = 0;
            double x_Max = 0;
            double y_Max = 0;
            double z_Max = 0;
            double valeurX;
            double valeurY;
            double valeurZ;

            Console.WriteLine("Start...");
            device = new TDx.TDxInput.Device();
            device.Connect();
            robotController = new NLX.Robot.Kuka.Controller.RobotController();
            //robotController.Connect("192.168.1.1");

            ConsoleKeyInfo info;
            String         bouton = device.Keyboard.GetKeyName(1);

            Console.WriteLine(bouton);

            bouton = device.Keyboard.GetKeyName(2);
            Console.WriteLine(bouton);

            bouton = device.Keyboard.GetKeyName(3);
            Console.WriteLine(bouton);

            bouton = device.Keyboard.GetKeyName(4);
            Console.WriteLine(bouton);

            bouton = device.Keyboard.GetKeyName(5);
            Console.WriteLine(bouton);

            bouton = device.Keyboard.GetKeyName(6);
            Console.WriteLine(bouton);

            bouton = device.Keyboard.GetKeyName(7);
            Console.WriteLine(bouton);

            bouton = device.Keyboard.GetKeyName(8);
            Console.WriteLine(bouton);

            bouton = device.Keyboard.GetKeyName(9);
            Console.WriteLine(bouton);

            bouton = device.Keyboard.GetKeyName(10);
            Console.WriteLine(bouton);

            bouton = device.Keyboard.GetKeyName(11);
            Console.WriteLine(bouton);

            bouton = device.Keyboard.GetKeyName(12);
            Console.WriteLine(bouton);

            bouton = device.Keyboard.GetKeyName(13);
            Console.WriteLine(bouton);

            bouton = device.Keyboard.GetKeyName(14);
            Console.WriteLine(bouton);

            bouton = device.Keyboard.GetKeyName(15);
            Console.WriteLine(bouton);

            while (true)
            {
                var translation = device.Sensor.Translation;
                var rotation    = device.Sensor.Rotation;

                /* Affichage des translations et des rotations */
                //Console.WriteLine("Translation: " + translation.X + " : " + translation.Y + " : " + translation.Z);
                //Console.WriteLine("Rotation: " + rotation.X + " : " + rotation.Y + " : " + rotation.Z + "\n");

                valeurX = translation.X / 2353;
                valeurY = translation.Y / 2702;
                valeurZ = translation.Z / 2648;


                System.Threading.Thread.Sleep(200);
            }
        }
コード例 #6
0
        public void readAndInterpretFile2(string path, NLX.Robot.Kuka.Controller.RobotController robot)
        {
            Console.WriteLine("in readAndInterpretFile2");
            Console.WriteLine("path: " + path);

            int nbLignesPalette   = 4;
            int nbColonnesPalette = 4;

            parseFile(path);

            double xdecx = point1.X - point2.X;
            double ydecx = point1.Y - point2.Y;

            double xdecy = point1.X - point3.X;
            double ydecy = point1.Y - point3.Y;

            Console.WriteLine("xdecx: " + xdecx);
            Console.WriteLine("ydecx: " + ydecx);
            Console.WriteLine("xdecy: " + xdecy);
            Console.WriteLine("ydecy: " + ydecy);


            try
            {
                //for (int ligne = 0; ligne <= nbLignesPalette; ligne++)
                for (int colonne = 0; colonne <= nbColonnesPalette; colonne++)
                {
                    for (int ligne = 0; ligne <= nbLignesPalette; ligne++)
                    //for (int colonne = 0; colonne <= nbColonnesPalette; colonne++)
                    {
                        Console.WriteLine("ligne: " + ligne + ",colonne: " + colonne);

                        if (File.Exists(path))
                        {
                            using (StreamReader sr = new StreamReader(path))
                            {
                                double d;
                                //new List<NLX.Robot.Kuka.Controller.CartesianPosition>();
                                listPos = new List <NLX.Robot.Kuka.Controller.CartesianPosition>();

                                while (sr.Peek() >= 0)
                                {
                                    string str = sr.ReadLine();

                                    if (Double.TryParse(str, out d))
                                    {
                                        //

                                        NLX.Robot.Kuka.Controller.CartesianPosition cpos = new NLX.Robot.Kuka.Controller.CartesianPosition();

                                        Console.WriteLine("x: " + d);
                                        cpos.X = d;

                                        str = sr.ReadLine();
                                        Double.TryParse(str, out d);
                                        Console.WriteLine("y: " + d);
                                        cpos.Y = d;

                                        str = sr.ReadLine();
                                        Double.TryParse(str, out d);
                                        Console.WriteLine("z: " + d);
                                        cpos.Z = d;

                                        str = sr.ReadLine();
                                        Double.TryParse(str, out d);
                                        Console.WriteLine("a: " + d);
                                        cpos.A = d;

                                        str = sr.ReadLine();
                                        Double.TryParse(str, out d);
                                        Console.WriteLine("b: " + d);
                                        cpos.B = d;

                                        str = sr.ReadLine();
                                        Double.TryParse(str, out d);
                                        Console.WriteLine("c: " + d);
                                        cpos.C = d;

                                        str = sr.ReadLine();
                                        Console.WriteLine(str);

                                        Console.WriteLine("robot: " + robot);
                                        Console.WriteLine("listPos: " + listPos);

                                        listPos.Add(robot.GetCurrentPosition());

                                        // add cpos to the listPos
                                        listPos.Add(cpos);

                                        fctPlay(robot);
                                    }
                                    else
                                    {
                                        // play the list of positions if it's not empty
                                        Console.WriteLine("rob: " + robot);
                                        Console.WriteLine("listpos: " + listPos);

                                        fctPlay(robot);

                                        if (str == "open")
                                        {
                                            // do the open
                                            Console.WriteLine("doing open gripper");
                                            robot.OpenGripper();
                                        }
                                        else if (str == "close")
                                        {
                                            Thread.Sleep(1000);

                                            // do the close
                                            Console.WriteLine("doing close gripper");
                                            robot.CloseGripper();
                                        }
                                        else if (str == "p0")
                                        {
                                            NLX.Robot.Kuka.Controller.CartesianPosition cpos = new NLX.Robot.Kuka.Controller.CartesianPosition();

                                            str = sr.ReadLine();
                                            Console.WriteLine("str: " + str);
                                            Double.TryParse(str, out d);
                                            //cpos.X = d + ligne*xdecy + colonne*xdecy;
                                            Console.WriteLine("ligne: " + ligne);
                                            Console.WriteLine("colonne: " + colonne);
                                            cpos.X = d + (-1) * ligne * xdecx + (-1) * colonne * xdecy;


                                            str = sr.ReadLine();
                                            Double.TryParse(str, out d);
                                            //cpos.Y = d + ligne*ydecx + colonne*ydecy;
                                            cpos.Y = d + (-1) * ligne * ydecx + (-1) * colonne * ydecy;


                                            str = sr.ReadLine();
                                            Double.TryParse(str, out d);
                                            cpos.Z = d;

                                            str = sr.ReadLine();
                                            Double.TryParse(str, out d);
                                            cpos.A = d;

                                            str = sr.ReadLine();
                                            Double.TryParse(str, out d);
                                            cpos.B = d;

                                            str = sr.ReadLine();
                                            Double.TryParse(str, out d);
                                            cpos.C = d;

                                            str = sr.ReadLine();

                                            listPos.Add(robot.GetCurrentPosition());

                                            // add cpos to the listPos
                                            listPos.Add(cpos);

                                            fctPlay(robot);
                                        }
                                        else if (str == "p1")
                                        {
                                            NLX.Robot.Kuka.Controller.CartesianPosition cpos = new NLX.Robot.Kuka.Controller.CartesianPosition();

                                            str = sr.ReadLine();
                                            Double.TryParse(str, out d);
                                            //cpos.X = d + ligne * xdecx + colonne * xdecy;
                                            cpos.X = d + (-1) * ligne * xdecx + (-1) * colonne * xdecy;

                                            str = sr.ReadLine();
                                            Double.TryParse(str, out d);
                                            //cpos.Y = d + ligne * ydecx + colonne * ydecy;
                                            cpos.Y = d + (-1) * ligne * ydecx + (-1) * colonne * ydecy;

                                            str = sr.ReadLine();
                                            Double.TryParse(str, out d);
                                            cpos.Z = d;

                                            str = sr.ReadLine();
                                            Double.TryParse(str, out d);
                                            cpos.A = d;

                                            str = sr.ReadLine();
                                            Double.TryParse(str, out d);
                                            cpos.B = d;

                                            str = sr.ReadLine();
                                            Double.TryParse(str, out d);
                                            cpos.C = d;

                                            str = sr.ReadLine();

                                            listPos.Add(robot.GetCurrentPosition());

                                            // add cpos to the listPos
                                            listPos.Add(cpos);

                                            fctPlay(robot);
                                        }
                                        else if (str == "p2")
                                        {
                                            NLX.Robot.Kuka.Controller.CartesianPosition cpos = new NLX.Robot.Kuka.Controller.CartesianPosition();

                                            str = sr.ReadLine();
                                            Double.TryParse(str, out d);
                                            cpos.X = d;

                                            str = sr.ReadLine();
                                            Double.TryParse(str, out d);
                                            cpos.Y = d;

                                            str = sr.ReadLine();
                                            Double.TryParse(str, out d);
                                            cpos.Z = d;

                                            str = sr.ReadLine();
                                            Double.TryParse(str, out d);
                                            cpos.A = d;

                                            str = sr.ReadLine();
                                            Double.TryParse(str, out d);
                                            cpos.B = d;

                                            str = sr.ReadLine();
                                            Double.TryParse(str, out d);
                                            cpos.C = d;

                                            str = sr.ReadLine();
                                        }
                                        else if (str == "p3")
                                        {
                                            NLX.Robot.Kuka.Controller.CartesianPosition cpos = new NLX.Robot.Kuka.Controller.CartesianPosition();

                                            str = sr.ReadLine();
                                            Double.TryParse(str, out d);
                                            cpos.X = d;

                                            str = sr.ReadLine();
                                            Double.TryParse(str, out d);
                                            cpos.Y = d;

                                            str = sr.ReadLine();
                                            Double.TryParse(str, out d);
                                            cpos.Z = d;

                                            str = sr.ReadLine();
                                            Double.TryParse(str, out d);
                                            cpos.A = d;

                                            str = sr.ReadLine();
                                            Double.TryParse(str, out d);
                                            cpos.B = d;

                                            str = sr.ReadLine();
                                            Double.TryParse(str, out d);
                                            cpos.C = d;

                                            str = sr.ReadLine();
                                        }
                                    }
                                }

                                fctPlay(robot);
                            }
                        }
                        else
                        {
                            Console.WriteLine("it doesn't exist");
                        }
                    }
                }

                Console.WriteLine("in readAndInterpretFile");
                Console.WriteLine("path: " + path);

                listPos = new List <NLX.Robot.Kuka.Controller.CartesianPosition>();
            }
            catch (Exception e)
            {
                Console.WriteLine("The process failed: {0}", e.ToString());
            }
        }
コード例 #7
0
        public void readAndInterpretFile(string path, NLX.Robot.Kuka.Controller.RobotController robot)
        {
            Console.WriteLine("in readAndInterpretFile");
            Console.WriteLine("path: " + path);

            listPos = new List <NLX.Robot.Kuka.Controller.CartesianPosition>();


            try
            {
                if (File.Exists(path))
                {
                    using (StreamReader sr = new StreamReader(path))
                    {
                        double d;
                        new List <NLX.Robot.Kuka.Controller.CartesianPosition>();

                        while (sr.Peek() >= 0)
                        {
                            string str = sr.ReadLine();

                            if (Double.TryParse(str, out d))
                            {
                                //

                                NLX.Robot.Kuka.Controller.CartesianPosition cpos = new NLX.Robot.Kuka.Controller.CartesianPosition();

                                Console.WriteLine("x: " + d);
                                cpos.X = d;

                                str = sr.ReadLine();
                                Double.TryParse(str, out d);
                                Console.WriteLine("y: " + d);
                                cpos.Y = d;

                                str = sr.ReadLine();
                                Double.TryParse(str, out d);
                                Console.WriteLine("z: " + d);
                                cpos.Z = d;

                                str = sr.ReadLine();
                                Double.TryParse(str, out d);
                                Console.WriteLine("a: " + d);
                                cpos.A = d;

                                str = sr.ReadLine();
                                Double.TryParse(str, out d);
                                Console.WriteLine("b: " + d);
                                cpos.B = d;

                                str = sr.ReadLine();
                                Double.TryParse(str, out d);
                                Console.WriteLine("c: " + d);
                                cpos.C = d;

                                str = sr.ReadLine();
                                Console.WriteLine(str);

                                listPos.Add(robot.GetCurrentPosition());

                                // add cpos to the listPos
                                listPos.Add(cpos);

                                fctPlay(robot);
                            }
                            else
                            {
                                // play the list of positions if it's not empty
                                Console.WriteLine("rob: " + robot);
                                Console.WriteLine("listpos: " + listPos);

                                fctPlay(robot);

                                if (str == "open")
                                {
                                    // do the open
                                    Console.WriteLine("doing open gripper");
                                    robot.OpenGripper();
                                }
                                else if (str == "close")
                                {
                                    Thread.Sleep(1000);

                                    // do the close
                                    Console.WriteLine("doing close gripper");
                                    robot.CloseGripper();
                                }
                            }
                        }

                        fctPlay(robot);
                    }
                }
                else
                {
                    Console.WriteLine("it doesn't exist");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("The process failed: {0}", e.ToString());
            }
        }