private void button4_Click_1(object sender, EventArgs e) { RobotAgent r = RegistrationAgent.robotAgentRegisteredList.ElementAt(0).Value; String msg = DataTranformation.jsoncheckinPutAwayCoordinations(0); r.sendPackageStringType(r.paramsRosSocket.publication_serverRobotGotToCheckInPutAwayArea, msg); }
public String[] RequestPutAwayOrderLine(int area, string robotID) { RegistrationAgent.mainWindowPointer.LogConsole("In RequestPutAwayOrderLine", "logOrder"); String[] data = null; try { string areaID = area.ToString(); string listLinePutAwayKey = RegistrationAgent.areaList[areaID].GetPutAwayLine(); if (listLinePutAwayKey != "none") { int agentID = Int32.Parse(listLinePutAwayKey.Split('-')[0]); int lpospw = Int32.Parse(listLinePutAwayKey.Split('-')[1]); if (RegistrationAgent.areaList[areaID].PUTAWAY_LINE_LIST.ContainsKey(listLinePutAwayKey)) { data = new String[3]; data[0] = DataTranformation.jsonPutAwayLine(area, agentID, lpospw); data[1] = agentID.ToString(); data[2] = lpospw.ToString(); RegistrationAgent.mainWindowPointer.LogConsole("PUT PUTAWAY:" + agentID + "-" + lpospw, "logOrder"); return(data); } RegistrationAgent.mainWindowPointer.LogConsole("No-listlineputaway-" + listLinePutAwayKey, "logOrder"); } RegistrationAgent.mainWindowPointer.LogConsole("In RequestPutAwayOrderLine-no list line docking key-" + listLinePutAwayKey, "logOrder"); } catch { RegistrationAgent.mainWindowPointer.LogConsole("Error when RequestPutAwayOrderLine: Area:" + area + "-Robot:" + robotID, "logOrder"); } RegistrationAgent.mainWindowPointer.LogConsole("Last RequestPutAwayOrderLine", "logOrder"); return(data); }
public String RequestPutAwayOderItem(int area, string robotID) { String data = ""; data = DataTranformation.jsonPutAwayCoordinations(0, 0, 0); try { int numberOfArea = RegistrationAgent.areaList.Count; string areaID = area.ToString(); string listLinePutAwayKey = RegistrationAgent.areaList[areaID].FindWorkingLinePutAway(); if (listLinePutAwayKey != "none") { int agentID = Int32.Parse(listLinePutAwayKey.Split('-')[0]); int lpospw = Int32.Parse(listLinePutAwayKey.Split('-')[1]); List<int> temp = new List<int>(); if (RegistrationAgent.areaList[areaID].LIST_LINE_PUTAWAY.ContainsKey(listLinePutAwayKey) && RegistrationAgent.areaList[areaID].LIST_LINE_PUTAWAY[listLinePutAwayKey].GetPallet(temp)) { List<int> palletnumspw = temp; data = DataTranformation.jsonPutAwayCoordinations(agentID, lpospw, palletnumspw[0]); MessageBox.Show("PUTAWAY:" + agentID + "-" + lpospw + "-" + palletnumspw[0]); //requestToReadyArea(DataTranformation.jsonDockingCoordinations(agentID, lposdk, palletnumsdk)); //Line sẽ tự set biến ordered = true sau khi gọi hàm GetPallet thành công lần đầu return data; } } } catch { } return data; }
public String[] RequestDockingOrderPallet(int area, string robotID, string agentID, string line) { RegistrationAgent.mainWindowPointer.LogConsole("In RequestDockingOrderPallet", "logOrder"); String[] data = null; try { string areaID = area.ToString(); List <int> palletnumsdk = new List <int>(); if (RegistrationAgent.areaList[areaID].DOCKING_LINE_LIST.ContainsKey(agentID + "-" + line) && RegistrationAgent.areaList[areaID].DOCKING_LINE_LIST[agentID + "-" + line].GetPallet(palletnumsdk)) { data = new String[4]; data[0] = DataTranformation.jsonDockingPallet(area, Int32.Parse(agentID), Int32.Parse(line), palletnumsdk.First()); data[1] = agentID.ToString(); data[2] = line.ToString(); data[3] = palletnumsdk.First().ToString(); RegistrationAgent.mainWindowPointer.LogConsole("DOCKING :" + data[1] + "-" + data[2] + "-" + data[3], "logOrder"); return(data); } RegistrationAgent.mainWindowPointer.LogConsole("Error when RequestDockingOrderPallet1: Area:" + area + "-Robot:" + robotID + "-agentID:" + agentID + "-line:" + line, "logOrder"); } catch { RegistrationAgent.mainWindowPointer.LogConsole("Error when RequestDockingOrderPallet2: Area:" + area + "-Robot:" + robotID + "-agentID:" + agentID + "-line:" + line, "logOrder"); } return(data); }
public void processFinishStates(int states) { // RegistrationAgent.mainWindowPointer.LogConsole("STATE " + states); switch (states) { case CommandSetsToRobotAgent.STATE_FINISH_PALLETUP: // hoan thanh docking { // go to check in putaway RegistrationAgent.mainWindowPointer.LogConsole("STATE_FINISH_PALLETUP" + states, "logRobot"); // go to check in docking or Front Ready Area String msg = DataTranformation.jsoncheckinPutAwayCoordinations(0); RegistrationAgent.mainWindowPointer.LogConsole(msg, "logRobot"); sendPackageStringType(paramsRosSocket.publication_serverRobotGotToCheckInPutAwayArea, msg); } break; case CommandSetsToRobotAgent.STATE_FINISH_PALLETDOWN: { if (statusFlag.flagCharge) { String msg = DataTranformation.jsonFrontReadyAreaCoordinations(0); RegistrationAgent.mainWindowPointer.LogConsole("ROBOT NEED CHARGE !!", "logRobot"); sendPackageStringType(paramsRosSocket.publication_serverRobotGotToChargeArea, msg); return; } // go to check in docking or Front Ready Area RegistrationAgent.mainWindowPointer.LogConsole("STATE_FINISH_PALLETDOWN" + states, "logRobot"); bool checkOrder = RegistrationAgent.areaList[this.AreaID.ToString()].CheckPalletInDockingArea(); RegistrationAgent.mainWindowPointer.LogConsole("Flag check order: " + checkOrder, "logRobot"); if (checkOrder) { String msg = DataTranformation.jsoncheckinDockingCoordinations(0); RegistrationAgent.mainWindowPointer.LogConsole(msg, "logRobot"); sendPackageStringType(paramsRosSocket.publication_serverRobotGotToCheckInDockingArea, msg); } else { String msg = DataTranformation.jsonFrontReadyAreaCoordinations(0); RegistrationAgent.mainWindowPointer.LogConsole(msg, "logRobot"); sendPackageStringType(paramsRosSocket.publication_serverRobotGotToFrontReadyArea, msg); } } break; case CommandSetsToRobotAgent.STATE_FINISH_GOTOLINE_READYAREA: { statusFlag.flagProcess = false; /* RegistrationAgent.mainWindowPointer.LogConsole("STATE_FINISH_GOTOLINE_CHARGINGSTATION " + states); * String msg = this.readyArea.requestRobotStandInSideReadyArea(); * RegistrationAgent.mainWindowPointer.LogConsole(msg); * sendPackageStringType(paramsRosSocket.publication_responsedStandPosInsideReadyArea, msg);*/ } break; case CommandSetsToRobotAgent.STATE_FINISH_GOTO_CHECKINDOCKING: { try { RegistrationAgent.mainWindowPointer.LogConsole("STATE_FINISH_GOTO_CHECKINDOCKING " + states, "logRobot"); String[] cmddk = this.orderTask.RequestDockingOrderLine(this.AreaID, NameID); if (cmddk == null) { timeOutRecallProcessing(CommandSetsToRobotAgent.STATE_FINISH_GOTO_CHECKINDOCKING, 3000); return; } // orderInfo.finishCheckInDockingStore = cmddk; orderInfo.stationNameID = cmddk[1]; orderInfo.lineIndex = cmddk[2]; //orderInfo.palletIndex = cmddk[3]; RegistrationAgent.mainWindowPointer.LogConsole(cmddk[0], "logRobot"); if (cmddk[0].Length > 0) { sendPackageStringType(paramsRosSocket.publication_serverRobotGotToLineDockingArea, cmddk[0]); } } catch { Console.WriteLine("Jump Again!"); } } break; case CommandSetsToRobotAgent.STATE_FINISH_GOTO_CHECKINPUTAWAY: { try { RegistrationAgent.mainWindowPointer.LogConsole("STATE_FINISH_GOTO_CHECKINPUTAWAY " + states, "logRobot"); String[] cmdpw = this.orderTask.RequestPutAwayOrderLine(this.AreaID, NameID); if (cmdpw == null) { timeOutRecallProcessing(CommandSetsToRobotAgent.STATE_FINISH_GOTO_CHECKINPUTAWAY, 3000); return; } // orderInfo.finishCheckinPutAwayStore = cmdpw; orderInfo.stationNameID = cmdpw[1]; orderInfo.lineIndex = cmdpw[2]; //orderInfo.palletIndex = cmdpw[3]; RegistrationAgent.mainWindowPointer.LogConsole(cmdpw[0], "logRobot"); if (cmdpw[0].Length > 0) { sendPackageStringType(paramsRosSocket.publication_serverRobotGotToLinePutAwayArea, cmdpw[0]); } } catch { Console.WriteLine("Jump Again!"); } } break; case CommandSetsToRobotAgent.STATE_FINISH_GOTO_LINEPUTAWAY: { try { RegistrationAgent.mainWindowPointer.LogConsole("STATE_FINISH_GOTO_LINEPUTAWAY " + states, "logRobot"); String[] cmdpw = this.orderTask.RequestPutAwayOrderPallet(this.AreaID, NameID, orderInfo.stationNameID, orderInfo.lineIndex); if (cmdpw == null) { timeOutRecallProcessing(CommandSetsToRobotAgent.STATE_FINISH_GOTO_LINEPUTAWAY, 3000); return; } // orderInfo.finishLinePutAwayStore = cmdpw; orderInfo.stationNameID = cmdpw[1]; orderInfo.lineIndex = cmdpw[2]; orderInfo.palletIndex = cmdpw[3]; RegistrationAgent.mainWindowPointer.LogConsole(cmdpw[0], "logRobot"); if (cmdpw[0].Length > 0) { sendPackageStringType(paramsRosSocket.publication_serverRobotGotToPalletPutAwayArea, cmdpw[0]); } } catch { Console.WriteLine("Jump Again!"); } } break; case CommandSetsToRobotAgent.STATE_FINISH_GOTO_LINEDOCKING: { try { RegistrationAgent.mainWindowPointer.LogConsole("STATE_FINISH_GOTO_LINEDOCKING " + states, "logRobot"); String[] cmddk = this.orderTask.RequestDockingOrderPallet(this.AreaID, NameID, orderInfo.stationNameID, orderInfo.lineIndex); if (cmddk == null) { timeOutRecallProcessing(CommandSetsToRobotAgent.STATE_FINISH_GOTO_LINEDOCKING, 3000); return; } // orderInfo.finishLineDockingStore = cmddk; orderInfo.stationNameID = cmddk[1]; orderInfo.lineIndex = cmddk[2]; orderInfo.palletIndex = cmddk[3]; RegistrationAgent.mainWindowPointer.LogConsole(cmddk[0], "logRobot"); if (cmddk[0].Length > 0) { sendPackageStringType(paramsRosSocket.publication_serverRobotGotToPalletDockingArea, cmddk[0]); } } catch { Console.WriteLine("Jump Again!"); } } break; case CommandSetsToRobotAgent.STATE_FINISH_DETECTLINE_TO_READYAREA: // reset flagGoback RegistrationAgent.mainWindowPointer.LogConsole("STATE_FINISH_DETECTLINE_TO_CHARGINGSTATION" + states, "logRobot"); break; case CommandSetsToRobotAgent.STATE_SELFDRIVING_WAIT_PALLETUP: // do pallet nhap nhay truoc vi tri pallet set { //bool stop = RegistrationAgent.areaList[this.AreaID.ToString()].robotStopDK(orderInfo.agentID, orderInfo.lineIndex, orderInfo.palletIndex); //if (stop) //{ // // RegistrationAgent.mainWindowPointer.LogConsole("Robot Stop"); //} } break; case CommandSetsToRobotAgent.STATE_SELFDRIVING_WAIT_PALLETDOWN: // do pallet nhap nhay truoc vi tri pallet set { //bool stop = RegistrationAgent.areaList[this.AreaID.ToString()].robotStopPW(orderInfo.agentID, orderInfo.lineIndex, orderInfo.palletIndex); //if (stop) //{ // // RegistrationAgent.mainWindowPointer.LogConsole("Robot Stop"); //} } break; case CommandSetsToRobotAgent.STATE_SELFDRIVING_REQUEST_CHARGEBATTERY: statusFlag.flagCharge = true; break; case CommandSetsToRobotAgent.STATE_SELFDRIVING_FINISH_BATTERYCHARGING: // finish charge /* { * bool checkOrder = RegistrationAgent.areaList[this.AreaID.ToString()].CheckPalletInDockingArea(); * if (checkOrder) * { * String msg = DataTranformation.jsoncheckinDockingCoordinations(0); * RegistrationAgent.mainWindowPointer.LogConsole(msg); * sendPackageStringType(paramsRosSocket.publication_serverRobotGotToCheckInDockingArea, msg); * * } * statusFlag.flagCharge = false; * }*/ statusFlag.flagCharge = false; statusFlag.flagProcess = false; // khi vị trí battery va ready cung vị trí break; } }