• 大小: 78KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-28
  • 语言: 其他
  • 标签: AGVS  调度  A*  c#  两阶段  

资源简介

多AGV调度系统实现,代码包含5个AGV基于A*算法搜路,基于两阶段算法进行调度

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace AGVS
{
    class AxingTest
    {
        List Open_List = new List();
        List Close_List = new List();

        byte[] R;

        public AxingTest(byte[] R)
        {
            this.R = R;
        }

        //从开启列表查找F值最小的节点  


        //判断一个点是否为障碍物  
        private bool IsBar(MyPoint p byte[] map)
        {
            if (map[p.y p.x] == 0) return true;
            return false;
        }

        //判断关闭列表是否包含某个坐标的点  
        private bool IsInCloseList(int x int y)
        {
            foreach (MyPoint p in Close_List)
                if (p.x == x && p.y == y)
                    return true;
            return false;
        }

        //从关闭列表返回对应坐标的点  
        private MyPoint GetPointFromCloseList(int x int y)
        {
            foreach (MyPoint p in Close_List)
                if (p.x == x && p.y == y)
                    return p;
            return null;
        }
        //判断开始列表是否包含某个坐标的点
        private bool IsInOpenList(int x int y)
        {
            foreach (MyPoint p in Open_List)
                if (p.x == x && p.y == y)
                    return true;
            return false;
        }


        //从开始列表返回对应坐标的点 
        private MyPoint GetPointFromeOpenList(int x int y)
        {
            foreach (MyPoint p in Open_List)
                if (p.x == x && p.y == y)
                    return p;
            return null;
        }
        //计算g
        private int GetG(MyPoint p)
        {
            if (p.father == null) return 0;
            if (p.x == p.father.x || p.y == p.father.y)
                return p.father.G + 10;
            else
                return 0;
        }
        //计算h
        private int GetH(MyPoint p MyPoint pb)
        {
            return Math.Abs(p.x - pb.x) * 10 + Math.Abs(p.y - pb.y) * 10;
        }
        //更新开启列表
        private MyPoint CheckP4(MyPoint p0 byte[] map MyPoint pa ref MyPoint pb)
        {
            MyPoint Hmin = new MyPoint();
            Hmin = null;
            for (int xt = p0.x - 1; xt <= p0.x + 1; xt++)
            {
                for (int yt = p0.y - 1; yt <= p0.y + 1; yt++)
                {
                    //取上下左右邻点
                    if (xt == p0.x || yt == p0.y)
                    {
                        //排除超过边界和关闭自身的点  
                        if ((xt >= 0 && xt < R.GetLength(0) && yt >= 0 && yt < R.GetLength(1)) && !(xt == p0.x && yt == p0.y))
                        {
                            //排除障碍点和关闭列表中的点  
                            if (map[xt yt] != 0 && !IsInCloseList(xt yt))
                            {
                                //如果在上一次开启列表里
                                if (IsInOpenList(xt yt))
                                {
               

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4293  2018-04-23 16:07  备份3:5AGV模拟实现版\AGVS\AGVS.csproj

     文件        187  2018-04-02 14:26  备份3:5AGV模拟实现版\AGVS\App.config

     文件       5383  2018-04-23 16:21  备份3:5AGV模拟实现版\AGVS\AxingTest.cs

     文件      19968  2018-04-24 11:31  备份3:5AGV模拟实现版\AGVS\bin\Debug\AGVS.exe

     文件        187  2018-04-02 14:26  备份3:5AGV模拟实现版\AGVS\bin\Debug\AGVS.exe.config

     文件      46592  2018-04-24 11:31  备份3:5AGV模拟实现版\AGVS\bin\Debug\AGVS.pdb

     文件      24224  2018-04-28 15:12  备份3:5AGV模拟实现版\AGVS\bin\Debug\AGVS.vshost.exe

     文件        187  2018-04-02 14:26  备份3:5AGV模拟实现版\AGVS\bin\Debug\AGVS.vshost.exe.config

     文件        490  2017-09-29 21:43  备份3:5AGV模拟实现版\AGVS\bin\Debug\AGVS.vshost.exe.manifest

     文件        687  2018-04-19 21:56  备份3:5AGV模拟实现版\AGVS\MyPoint.cs

     文件       4238  2018-04-28 15:12  备份3:5AGV模拟实现版\AGVS\obj\Debug\AGVS.csproj.FileListAbsolute.txt

     文件       1169  2018-04-23 16:03  备份3:5AGV模拟实现版\AGVS\obj\Debug\AGVS.csproj.GenerateResource.Cache

     文件      33175  2018-04-02 15:46  备份3:5AGV模拟实现版\AGVS\obj\Debug\AGVS.csprojResolveAssemblyReference.cache

     文件      19968  2018-04-24 11:31  备份3:5AGV模拟实现版\AGVS\obj\Debug\AGVS.exe

     文件      46592  2018-04-24 11:31  备份3:5AGV模拟实现版\AGVS\obj\Debug\AGVS.pdb

     文件        180  2018-04-23 16:07  备份3:5AGV模拟实现版\AGVS\obj\Debug\AGVS.Properties.Resources.resources

     文件        180  2018-04-23 16:07  备份3:5AGV模拟实现版\AGVS\obj\Debug\AGVS.主界面.resources

     文件      21067  2018-04-03 09:18  备份3:5AGV模拟实现版\AGVS\obj\Debug\DesignTimeResolveAssemblyReferences.cache

     文件       7776  2018-04-28 15:12  备份3:5AGV模拟实现版\AGVS\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件          0  2018-04-02 14:26  备份3:5AGV模拟实现版\AGVS\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs

     文件          0  2018-04-02 14:26  备份3:5AGV模拟实现版\AGVS\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs

     文件          0  2018-04-02 14:26  备份3:5AGV模拟实现版\AGVS\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs

     文件        520  2018-04-02 16:16  备份3:5AGV模拟实现版\AGVS\Program.cs

     文件       1332  2018-04-02 14:26  备份3:5AGV模拟实现版\AGVS\Properties\AssemblyInfo.cs

     文件       2860  2018-04-02 14:26  备份3:5AGV模拟实现版\AGVS\Properties\Resources.Designer.cs

     文件       5612  2018-04-02 14:26  备份3:5AGV模拟实现版\AGVS\Properties\Resources.resx

     文件       1091  2018-04-02 14:26  备份3:5AGV模拟实现版\AGVS\Properties\Settings.Designer.cs

     文件        249  2018-04-02 14:26  备份3:5AGV模拟实现版\AGVS\Properties\Settings.settings

     文件       3163  2018-04-19 21:59  备份3:5AGV模拟实现版\AGVS\run.cs

     文件      12912  2018-04-28 15:13  备份3:5AGV模拟实现版\AGVS\主界面.cs

............此处省略17个文件信息

评论

共有 条评论