Exemplo n.º 1
0
        private void readyAreaPosHandler(Communication.Message message)
        {
            StandardInt32 standardString = (StandardInt32)message;
            Int32         data           = standardString.data;

            requestRobotLocationInReadyArea(this);
        }
Exemplo n.º 2
0
        public override void LostPositionHandler(Communication.Message message)
        {
            StandardBoolean data = (StandardBoolean)message;

            try
            {
                if (data.data == true)
                {
                    SetStopSpeedOrtherRobotLostPosition();
                    try
                    {
                        Global_Object.mainWindowCtrl.SetTextInfo("Robot :" + properties.Label + " Lost Position");
                    }
                    catch { }
                    if (!flagLostPosition)
                    {
                        MessageBox.Show("Robot :" + properties.Label + " Lost Position");
                    }
                    flagLostPosition = true;
                }
                else
                {
                    flagLostPosition = false;
                }
            }
            catch { }
        }
Exemplo n.º 3
0
        private void robotParamsHandler(Communication.Message message)
        {
            StandardString standardString = (StandardString)message;

            checkRobotVersion(standardString.data);
            robotInfo.alive = true;
        }
Exemplo n.º 4
0
        /*public void sendPackageGoToDockingLine(String mgs)
         *      {
         *              StandardString messages = new StandardString();
         *              messages.data = mgs;
         *              rosSocket.Publish(paramsRosSocket.publication_serverRobotGotToLineDockingArea, messages);
         *      }
         *      public void sendPackageGoToPutAwayLine(String mgs)
         *      {
         *              StandardString messages = new StandardString();
         *              messages.data = mgs;
         *              rosSocket.Publish(paramsRosSocket.publication_serverRobotGotToLinePutAwayArea, messages);
         *      }*/
        public void robotStatusHandler(Communication.Message message)
        {
            StandardInt32 standardInt32 = (StandardInt32)message;

            robotInfo.workingStatus = standardInt32.data;
            updateStatusRobotToReadyArea(NameID, robotInfo.workingStatus);
        }
Exemplo n.º 5
0
        private void batteryVolHandler(Communication.Message message)
        {
            StandardFloat32 standardFloat32 = (StandardFloat32)message;

            robotInfo.batteryPercentage = (double)standardFloat32.data;
            if (robotInfo.batteryPercentage <= CriticalEnergyAt)
            {
                statusFlag.flagCharge = true;
            }
        }
Exemplo n.º 6
0
 public override void RequestGotoReadyHandler(Communication.Message message)
 {
     /*  StandardInt32 rqVal = (StandardInt32)message;
      * if (rqVal.data == 1)
      * {
      *    DisposeF();
      *    AddWaitTask();
      *    //Console.WriteLine("request goto ready");
      * }*/
 }
        private void AmclPoseHandler(Communication.Message message)
        {
            GeometryPoseWithCovarianceStamped standardString = (GeometryPoseWithCovarianceStamped)message;
            double posX      = (double)standardString.pose.pose.position.x;
            double posY      = (double)standardString.pose.pose.position.y;
            double posThetaZ = (double)standardString.pose.pose.orientation.z;
            double posThetaW = (double)standardString.pose.pose.orientation.w;
            double posTheta  = (double)2 * Math.Atan2(posThetaZ, posThetaW);

            properties.pose.Position = new Point(posX, posY);
            properties.pose.AngleW   = posTheta;
        }
Exemplo n.º 8
0
        public void zoneCheckerHandler(Communication.Message message) // request order to go docking line or putaway line
        {
            StandardString standardString = (StandardString)message;
            String         road           = standardString.data;
            dynamic        stuff          = JObject.Parse(road);

            robotInfo.atRoadName = (String)stuff.zone;
            //robotInfo.atRoadName = road;
            Console.WriteLine(robotInfo.atRoadName);
            switch (robotInfo.atRoadName)
            {
            case CommandSetsToRobotAgent.ZONE_HANDLER_INSIDEREADY:
                statusFlag.atReadyArea = true;
                break;

            case CommandSetsToRobotAgent.ZONE_HANDLER_CHECKOUT_DOCKING:
                try
                {
                    this.orderTask.ReleaseDockingOrder(this.AreaID.ToString(), this.orderInfo.stationNameID, this.orderInfo.lineIndex, this.orderInfo.palletIndex);
                }
                catch
                {
                    Console.WriteLine("Error call ReleaseDockingOrder");
                }
                break;

            case CommandSetsToRobotAgent.ZONE_HANDLER_CHECKOUT_PUTAWAY:
                try
                {
                    this.orderTask.ReleasePutAwayOrder(this.AreaID.ToString(), this.orderInfo.stationNameID, this.orderInfo.lineIndex, this.orderInfo.palletIndex);
                }
                catch
                {
                    Console.WriteLine("Error call ReleasePutAwayOrder");
                }
                break;
            }
        }
Exemplo n.º 9
0
        static void Main(string[] args)
        {
            SetInfo();
            if (!ProcessingMessage.Connecting())
            {
                Environment.Exit(1);
            }

            while (true)
            {
                var messageRead = ProcessingMessage._queueReceive.Receive();

                Communication.Message message = (Communication.Message)messageRead.Body;

                foreach (var item in ProcessingMessage._messageHandler)
                {
                    if (item.Key == message.TypeMessage)
                    {
                        item.Value.DynamicInvoke(message);
                    }
                }
            }
        }
Exemplo n.º 10
0
 private void batteryRegisterHandler(Communication.Message message)
 {
 }
Exemplo n.º 11
0
 private void driveRobotStatusHandler(Communication.Message message)
 {
 }
Exemplo n.º 12
0
 private void ctrlRobotHardwareStatusHandler(Communication.Message message)
 {
     StandardString standardString = (StandardString)message;
     string         row            = standardString.data;
 }
Exemplo n.º 13
0
        private void testHandler(Communication.Message message)
        {
            StandardString standardString = (StandardString)message;

            System.Windows.MessageBox.Show(standardString.data);
        }
Exemplo n.º 14
0
        private void robotInfoHandler(Communication.Message message)
        {
            GeometryPoseWithCovarianceStamped standardString = (GeometryPoseWithCovarianceStamped)message;

            updateRobotInfo(standardString.pose);
        }
Exemplo n.º 15
0
 private void requestPutAwayAreaHandler(Communication.Message message)
 {
 }
Exemplo n.º 16
0
 private void emergencyRobotHandler(Communication.Message message)
 {
 }
Exemplo n.º 17
0
        private void subscriptionHandler(Communication.Message message)
        {
            StandardString standardString = (StandardString)message;
            dynamic        data           = JObject.Parse(standardString.data);
            int            NOL            = Convert.ToInt32(data.NOL);
            int            NOPPL          = Convert.ToInt32(data.NOPPL);

            props.cam.numLs   = NOL;
            props.cam.numPsPL = NOPPL;
            props.cam.ip      = data.CAMIP;
            props.cam.port    = data.CAMPORT;
            props.cam.id      = Convert.ToInt32(data.CAMID);
            List <bool> palletStatusArray = new List <bool>(NOL * NOPPL);

            if (props.cam.lineArray == null)
            {
                props.cam.lineArray = new SortedDictionary <String, LineInfo>();
            }
            for (int lineIndex = 0; lineIndex < NOL; lineIndex++)
            {
                String   line     = "L" + lineIndex;
                LineInfo lineInfo = new LineInfo();
                lineInfo.palletArray = new SortedDictionary <string, string>();
                bool first = true;
                for (int palletIndex = 0; palletIndex < NOPPL; palletIndex++)
                {
                    String   pallet       = "PL" + palletIndex;
                    String[] palletStatus = ((String)data[line][pallet]).Split('-');
                    lineInfo.palletArray.Add(palletIndex.ToString(), palletStatus[0]);
                    palletStatusArray.Add((palletStatus[0] == "yes") ? true : false);
                    if (!((palletStatus[1] == ("available") || palletStatus[1] == ("detected")) &&
                          (palletStatus[2] == "stable")))
                    {
                        if (first == true)
                        {
                            lineInfo.valid         = false;
                            lineInfo.palletWarning = palletIndex.ToString();
                            first = false;
                        }
                    }
                }
                if (!props.cam.lineArray.ContainsKey(lineIndex.ToString()))
                {
                    //NEW
                    props.cam.lineArray.Add(lineIndex.ToString(), lineInfo);
                    props.palletStatusArray = palletStatusArray;
                    props.cam.valid         = false;
                }
                else
                {
                    //UPDATE
                    props.cam.lineArray[lineIndex.ToString()].palletArray = lineInfo.palletArray;
                    props.cam.lineArray[lineIndex.ToString()].valid       = lineInfo.valid;
                    if (lineInfo.palletWarning != "none")
                    {
                        props.cam.lineArray[lineIndex.ToString()].palletWarning = lineInfo.palletWarning;
                    }
                    props.palletStatusArray = palletStatusArray;
                    props.cam.valid         = false;
                }
            }
            props.cam.valid = true;
            if (RegistrationAgent.areaList.Count != 0)
            {
                RegistrationAgent.areaList[props.cam.area].ProcessStation(props.typeName, props.NameID);
            }
        }
 private void FinishedStatesHandler(Communication.Message message)
 {
 }
 private void trafficInfoResponseHandler(Communication.Message message)
 {
     StandardString standardString = (StandardString)message;
     String         data           = standardString.data;
 }
 private void multirulestoserverHandler(Communication.Message message)
 {
     StandardString standardString = (StandardString)message;
     String         data           = standardString.data;
 }
Exemplo n.º 21
0
        private void finishedStatesHandler(Communication.Message message)
        {
            StandardInt32 standardInt32 = (StandardInt32)message;

            processFinishStates(standardInt32.data);
        }
Exemplo n.º 22
0
        private void subscriptionHandler(Communication.Message message)
        {
            StandardString standardstring      = (StandardString)message;
            dynamic        data                = JObject.Parse(standardstring.data);
            int            no_lines            = Convert.ToInt32(data.NOL);
            int            no_pallets_per_line = Convert.ToInt32(data.NOPPL);

            properties.camera.no_lines            = no_lines;
            properties.camera.no_pallet_per_lines = no_pallets_per_line;
            properties.camera.ip   = data.CAMIP;
            properties.camera.port = data.CAMPORT;
            properties.camera.id   = Convert.ToInt32(data.CAMID);
            List <bool> palletStatusArray = new List <bool>(no_lines * no_pallets_per_line);

            if (properties.camera.lines_detail == null)
            {
                properties.camera.lines_detail = new SortedDictionary <string, LineDetail>();
            }
            for (int lineIndex = 0; lineIndex < no_lines; lineIndex++)
            {
                string     line       = "L" + lineIndex;
                LineDetail lineDetail = new LineDetail();
                //lineDetail.pallets_detail = new SortedDictionary<string, string>();
                bool first = true;
                for (int palletIndex = 0; palletIndex < no_pallets_per_line; palletIndex++)
                {
                    string   pallet       = "PL" + palletIndex;
                    string[] palletStatus = ((string)data[line][pallet]).Split('-');
                    lineDetail.pallets_detail.Add(palletIndex.ToString(), palletStatus[0]);
                    palletStatusArray.Add((palletStatus[0] == "yes") ? true : false);
                    if (!((palletStatus[1] == ("available") || palletStatus[1] == ("detected")) &&
                          (palletStatus[2] == "stable")))
                    {
                        if (first == true)
                        {
                            lineDetail.valid         = false;
                            lineDetail.palletWarning = palletIndex.ToString();
                            first = false;
                        }
                    }
                }
                if (!properties.camera.lines_detail.ContainsKey(lineIndex.ToString()))
                {
                    //NEW
                    properties.camera.lines_detail.Add(lineIndex.ToString(), lineDetail);
                    properties.pallets_status = palletStatusArray;
                    properties.camera.valid   = false;
                }
                else
                {
                    //UPDATE
                    properties.camera.lines_detail[lineIndex.ToString()].pallets_detail = lineDetail.pallets_detail;
                    properties.camera.lines_detail[lineIndex.ToString()].valid          = lineDetail.valid;
                    if (lineDetail.palletWarning != "none")
                    {
                        properties.camera.lines_detail[lineIndex.ToString()].palletWarning = lineDetail.palletWarning;
                    }
                    properties.pallets_status = palletStatusArray;
                    properties.camera.valid   = false;
                }
            }
            properties.camera.valid = true;
            if (RegistrationAgent.areaList.Count != 0)
            {
                RegistrationAgent.areaList[properties.camera.area].ProcessStation(properties.typeName, properties.stationNameID);
            }
        }