예제 #1
0
        private void ChangeToolTipContent(object sender, ToolTipEventArgs e)
        {
            try
            {
                String OrderStr = "";
                if (orderItem != null)
                {
                    OrderStr = "" + orderItem.typeReq + " / " + orderItem.productDetailName;
                }

                TypeZone typezone = trafficManagementService.GetTypeZone(properties.pose.Position, 0, 200);
                double   angle    = -properties.pose.Angle;
                Point    position = Global_Object.CoorLaser(properties.pose.Position);
                String   statusLaserBack;
                if (resetLaserBack)
                {
                    statusLaserBack = " Passed error laserBack";
                }
                else
                {
                    statusLaserBack = " LaserBack run normal";
                }
                String tooltipStr = "Name: " + properties.Label + Environment.NewLine + "Zone: " + typezone +
                                    Environment.NewLine + " Location: " + position.X.ToString("0.00") + " / " +
                                    position.Y.ToString("0.00") + " / " + angle.ToString("0.00") + Environment.NewLine +
                                    "Place: " + TyprPlaceStr + Environment.NewLine +
                                    "Working Zone: " + robotRegistryToWorkingZone.WorkingZone + "/ " + trafficManagementService.DetermineArea(this.properties.pose.Position, 0, 200) + Environment.NewLine +
                                    "Radius _S" + Radius_S + Environment.NewLine +
                                    "Radius _Y" + Radius_R + Environment.NewLine +
                                    "Radius _B" + Radius_B + Environment.NewLine +
                                    "Speed Set :" + properties.speedInSpecicalArea + Environment.NewLine +
                                    "STATE: " + STATE_SPEED + Environment.NewLine +
                                    "MIDDLE :" + MiddleHeaderCv().X.ToString("0.00") + " /" + MiddleHeaderCv().Y.ToString("0.00") + Environment.NewLine +
                                    "MIDDLE1 :" + MiddleHeaderCv1().X.ToString("0.00") + " /" + MiddleHeaderCv1().Y.ToString("0.00") + Environment.NewLine +
                                    "MIDDLE2 :" + MiddleHeaderCv2().X.ToString("0.00") + " /" + MiddleHeaderCv2().Y.ToString("0.00") + Environment.NewLine +
                                    "ValueR SC:" + valueSC + Environment.NewLine +
                                    "ValueR BigC:" + valueBigC + Environment.NewLine +
                                    "RobotTag:" + robotTag + Environment.NewLine +
                                    "CheckGate: " + robotRegistryToWorkingZone.onRobotwillCheckInsideGate + Environment.NewLine +
                                    "Order: " + OrderStr + Environment.NewLine +
                                    "Battery Level: " + properties.BatteryLevelRb + Environment.NewLine +
                                    "Robots Registry in Ready: " + TrafficRountineConstants.RegIntZone_READY.getNames() + Environment.NewLine +
                                    "Robots Registry in GATE 12: " + TrafficRountineConstants.RegIntZone_GATE12.getNames() + Environment.NewLine +
                                    "Robots Registry in Elevator: " + TrafficRountineConstants.RegIntZone_ELEVATOR.getNames() + Environment.NewLine +
                                    "Robots Registry in Gate3: " + TrafficRountineConstants.RegIntZone_GATE3.getNames() + Environment.NewLine +
                                    "Gate 1: " + Global_Object.getGateStatus((int)DoorId.DOOR_MEZZAMINE_UP) + Environment.NewLine +
                                    "Gate 2: " + Global_Object.getGateStatus((int)DoorId.DOOR_MEZZAMINE_UP_NEW) + Environment.NewLine +
                                    "Robot_BAYID: " + bayId + Environment.NewLine +
                                    "Start_Point_Name: " + StartPointName + Environment.NewLine +
                                    "Start_Point: " + StartPoint.ToString() + Environment.NewLine +
                                    "End_Point_Name: " + EndPointName + Environment.NewLine +
                                    "end_Point: " + EndPoint.ToString() + Environment.NewLine +
                                    "laserBackStatus :" + statusLaserBack + Environment.NewLine
                ;

                border.ToolTip = tooltipStr;
            }
            catch { }
        }
예제 #2
0
        protected override IRepoProvider SelectProvider(TypeZone zone = null)
        {
            if (typeof(MemoryRepoProvider) == Conf.ProviderType)
            {
                return(new MemoryRepoProvider());
            }

            // TODO: 其他的Provider
            return(null);
        }
예제 #3
0
        public void RobotBehavior()
        {
            RobotBahaviorAtAnyPlace robotBahaviorAtAnyPlace = RobotBahaviorAtAnyPlace.ROBOT_PLACE_IDLE;
            TypeZone _type = trafficManagementService.GetTypeZone(properties.pose.Position, TrafficSetValue.YES);// trafficManagementService.GetTypeZone(properties.pose.Position, 0, 200);

            TyprPlaceStr = _type + "";
            //onFlagDetectLine = true;
            if (_type == TypeZone.READY)
            {
                robotBahaviorAtAnyPlace = RobotBahaviorAtAnyPlace.ROBOT_PLACE_HIGHWAY_READY;
                //SetSpeed(RobotSpeedLevel.ROBOT_SPEED_NORMAL,false);
            }
            if (_type == TypeZone.HIGHWAY && onFlagDetectLine == false)
            {
                robotBahaviorAtAnyPlace = RobotBahaviorAtAnyPlace.ROBOT_PLACE_HIGHWAY;
            }
            if (_type == TypeZone.HIGHWAY && onFlagDetectLine == true)
            {
                robotBahaviorAtAnyPlace = RobotBahaviorAtAnyPlace.ROBOT_PLACE_HIGHWAY_DETECTLINE;;
            }
            if (_type == TypeZone.ROAD && onFlagDetectLine == false)
            {
                robotBahaviorAtAnyPlace = RobotBahaviorAtAnyPlace.ROBOT_PLACE_ROAD;
            }
            if (_type == TypeZone.ROAD && onFlagDetectLine == true)
            {
                robotBahaviorAtAnyPlace = RobotBahaviorAtAnyPlace.ROBOT_PLACE_ROAD_DETECTLINE;
            }
            if (_type == TypeZone.BUFFER && onFlagFinishPalletUpDownINsideBuffer == false)
            {
                robotBahaviorAtAnyPlace = RobotBahaviorAtAnyPlace.ROBOT_PLACE_BUFFER_GO_IN;
            }
            if (_type == TypeZone.BUFFER && onFlagFinishPalletUpDownINsideBuffer == true)
            {
                robotBahaviorAtAnyPlace = RobotBahaviorAtAnyPlace.ROBOT_PLACE_BUFFER_GO_OUT;
            }
            if (_type == TypeZone.GATE)
            {
                robotBahaviorAtAnyPlace = RobotBahaviorAtAnyPlace.ROBOT_PLACE_GATE;
            }
            switch (robotBahaviorAtAnyPlace)
            {
            case RobotBahaviorAtAnyPlace.ROBOT_PLACE_IDLE:
                SetSafeGreencircle(false);
                SetSafeOrgancircle(false);
                SetSafeSmallcircle(true);
                SetSafeBluecircle(false);
                SetSafeYellowcircle(false);
                if (CheckIntersection(true))
                {
                    break;
                }
                else
                {
                    STATE_SPEED = "ROBOT_PLACE_IDLE_NORMAL ";
                    SetSpeedTraffic(RobotSpeedLevel.ROBOT_SPEED_NORMAL, false);
                }
                break;

            case RobotBahaviorAtAnyPlace.ROBOT_PLACE_HIGHWAY:
                if (!CheckYellowCircle())
                {
                    // mở vòng tròn nhỏ vá kiểm tra va chạm
                    SetSafeGreencircle(false);
                    SetSafeOrgancircle(false);
                    SetSafeSmallcircle(true);
                    SetSafeBluecircle(false);
                    SetSafeYellowcircle(false);
                    if (CheckGreenCircle_HighWay())     // va cha5m vo2ng tro2n xanh muc u7u tien
                    {
                        break;
                    }
                    if (checkOrgancCircle())
                    {
                        break;
                    }
                    else if (CheckIntersection(true))
                    {
                        break;
                    }
                    else
                    {
                        STATE_SPEED = "ROBOT_PLACE_HIGHWAY_NORMAL ";
                        SetSpeedTraffic(RobotSpeedLevel.ROBOT_SPEED_NORMAL, false);
                    }
                }
                break;

            case RobotBahaviorAtAnyPlace.ROBOT_PLACE_ROAD:
                // kiem tra vong tròn xanh
                SetSafeGreencircle(false);
                SetSafeSmallcircle(false);
                SetSafeOrgancircle(true);
                SetSafeBluecircle(true);
                SetSafeYellowcircle(false);
                if (CheckBlueCircle())
                {
                    break;
                }
                if (CheckYellowCircle())
                {
                    break;
                }
                else
                {
                    STATE_SPEED = "ROBOT_PLACE_ROAD_NORMAL ";
                    SetSpeedTraffic(RobotSpeedLevel.ROBOT_SPEED_NORMAL, false);
                }
                break;

            case RobotBahaviorAtAnyPlace.ROBOT_PLACE_ROAD_DETECTLINE:
                // SetSafeSmallcircle(true);
                SetSafeGreencircle(false);
                SetSafeOrgancircle(true);
                SetSafeBluecircle(false);
                SetSafeYellowcircle(true);
                SetSpeedTraffic(RobotSpeedLevel.ROBOT_SPEED_NORMAL, false);
                break;

            case RobotBahaviorAtAnyPlace.ROBOT_PLACE_HIGHWAY_DETECTLINE:
                // SetSafeSmallcircle(true);
                SetSafeGreencircle(false);
                SetSafeOrgancircle(true);
                SetSafeBluecircle(false);
                SetSafeYellowcircle(true);
                SetSpeedTraffic(RobotSpeedLevel.ROBOT_SPEED_NORMAL, false);
                break;

            case RobotBahaviorAtAnyPlace.ROBOT_PLACE_BUFFER_GO_OUT:
                // kiem tra vong tròn xanh
                SetSafeGreencircle(true);
                SetSafeSmallcircle(false);
                SetSafeOrgancircle(false);
                SetSafeBluecircle(false);
                SetSafeYellowcircle(false);
                if (CheckGreenCircle())
                {
                    break;
                }
                if (CheckYellowCircle())
                {
                    break;
                }
                else
                {
                    STATE_SPEED = "ROBOT_PLACE_BUFFER_NORMAL ";
                    SetSpeedTraffic(RobotSpeedLevel.ROBOT_SPEED_NORMAL, false);
                }
                break;

            case RobotBahaviorAtAnyPlace.ROBOT_PLACE_BUFFER_GO_IN:
                SetSafeOrgancircle(false);
                SetSafeSmallcircle(false);
                SetSafeBluecircle(false);
                SetSafeYellowcircle(false);
                SetSafeGreencircle(false);
                if (CheckInBuffer(true))
                {
                    break;
                }
                else
                {
                    STATE_SPEED = "ROBOT_PLACE_BUFFER_NORMAL ";
                    SetSpeedTraffic(RobotSpeedLevel.ROBOT_SPEED_NORMAL, false);
                }
                // tắt vòng tròn nhỏ
                break;

            case RobotBahaviorAtAnyPlace.ROBOT_PLACE_GATE:
                SetSafeGreencircle(false);
                SetSafeOrgancircle(false);
                SetSafeSmallcircle(false);
                SetSafeBluecircle(false);
                SetSafeYellowcircle(false);
                break;

            case RobotBahaviorAtAnyPlace.ROBOT_PLACE_HIGHWAY_READY:
                SetSafeGreencircle(false);
                SetSafeOrgancircle(false);
                SetSafeSmallcircle(false);
                SetSafeBluecircle(false);
                SetSafeYellowcircle(false);
                break;
            }
        }