示例#1
0
        private async void onTaskOrder(string strTaskid, string[] missionbuf, string taskname, string strMissionid_list, string strRobotlist, int ntaskcnt)
        {
            try
            {
                Task_Order          taskorder        = new Task_Order();
                int                 cnt              = missionbuf_in.Length;
                List <MisssionInfo> missioninfo_list = new List <MisssionInfo>();
                for (int i = 0; i < cnt; i++)
                {
                    MisssionInfo missioninfo = mainform.dbBridge.onDBRead_Mission(missionbuf_in[i]);
                    missioninfo_list.Add(missioninfo);
                }

                taskorder.task_id     = strTaskid;
                taskorder.loop_flag   = ntaskcnt;
                taskorder.missionlist = strMissionid_list;
                taskorder.robotlist   = strRobotlist;

                mainform.commBridge.onTaskrder_publish(taskorder, taskname, missioninfo_list);

                // var task = Task.Run(() => mainform.commBridge.onTaskrder_publish(taskorder, taskname, missioninfo_list));
                // await task;
            }
            catch (Exception ex)
            {
                Console.WriteLine("onTaskOrder err=" + ex.Message.ToString());
            }
        }
        /// <summary>
        /// 등록된 미션 리스트 읽어오기
        /// </summary>
        public void onDBRead_Missionlist()
        {
            string sql     = "";
            bool   bdataok = false;

            try
            {
                missionlisttable.missioninfo = new List <MisssionInfo>();

                sql = string.Format("SELECT * FROM missionlist_t ");

                DataSet          ds = new DataSet();
                MySqlDataAdapter da = new MySqlDataAdapter(sql, G_SqlCon);
                da.Fill(ds);

                int ncnt = ds.Tables[0].Rows.Count;
                if (ncnt > 0)
                {
                    for (int i = 0; i < ncnt; i++)
                    {
                        MisssionInfo missioninfo = new MisssionInfo();

                        string strmissionid   = ds.Tables[0].Rows[i]["mission_id"].ToString();
                        string strmissionname = ds.Tables[0].Rows[i]["mission_name"].ToString();
                        int    nmissionlevel  = int.Parse(ds.Tables[0].Rows[i]["mission_level"].ToString());
                        string strworkdata    = ds.Tables[0].Rows[i]["work"].ToString();

                        missioninfo.strMisssionID   = strmissionid;
                        missioninfo.strMisssionName = strmissionname;
                        missioninfo.nMisssionLevel  = nmissionlevel;
                        missioninfo.work            = strworkdata;

                        missionlisttable.missioninfo.Add(missioninfo);
                    }
                }
            }
            catch (MySqlException ex)
            {
                MessageBox.Show("onDBRead_Missionlist err" + ex.Message.ToString());
            }
            catch (Exception ex2)
            {
                MessageBox.Show("onDBRead_Missionlist err" + ex2.Message.ToString());
            }
        }
示例#3
0
        private void test()
        {
            try
            {
                int cnt = missionbuf_in.Count();


                WorkFlowGoal workflowgoal = new WorkFlowGoal();

                workflowgoal.work_id          = "TEMP_";
                workflowgoal.action_start_idx = 0;
                workflowgoal.loop_flag        = 1;


                for (int i = 0; i < cnt; i++)
                {
                    DB_MissionData db_missiondata = new DB_MissionData();
                    MisssionInfo   missioninfo    = new MisssionInfo();
                    string         strmissionid   = missionbuf_in[i];
                    missioninfo = mainform.dbBridge.onDBRead_Mission(strmissionid);

                    string strwork = missioninfo.work;
                    db_missiondata = JsonConvert.DeserializeObject <DB_MissionData>(strwork);
                    float x     = db_missiondata.work[0].action_args[0];
                    float y     = db_missiondata.work[0].action_args[1];
                    float theta = db_missiondata.work[0].action_args[2];

                    Action act = new Action();
                    act.action_type = (int)Data.ACTION_TYPE.Goal_Point;

                    act.action_args.Add(x);
                    act.action_args.Add(y);
                    act.action_args.Add(theta);
                    ParameterSet paramset = new ParameterSet();
                    paramset.param_name = "max_trans_vel";
                    paramset.type       = "float";
                    paramset.value      = "1.0";
                    act.action_params.Add(paramset);

                    paramset            = new ParameterSet();
                    paramset.param_name = "xy_goal_tolerance";
                    paramset.type       = "float";
                    paramset.value      = "0.15";
                    act.action_params.Add(paramset);

                    paramset            = new ParameterSet();
                    paramset.param_name = "yaw_goal_tolerance";
                    paramset.type       = "float";
                    paramset.value      = "0.05";
                    act.action_params.Add(paramset);

                    paramset            = new ParameterSet();
                    paramset.param_name = "p_drive";
                    paramset.type       = "float";
                    paramset.value      = "0.4";
                    act.action_params.Add(paramset);

                    paramset            = new ParameterSet();
                    paramset.param_name = "d_drive";
                    paramset.type       = "float";
                    paramset.value      = "1.2";
                    act.action_params.Add(paramset);

                    paramset            = new ParameterSet();
                    paramset.param_name = "wp_tolerance";
                    paramset.type       = "float";
                    paramset.value      = "1";
                    act.action_params.Add(paramset);

                    paramset            = new ParameterSet();
                    paramset.param_name = "avoid";
                    paramset.type       = "bool";
                    paramset.value      = "true";
                    act.action_params.Add(paramset);

                    paramset            = new ParameterSet();
                    paramset.param_name = "passing_flag";
                    paramset.type       = "bool";
                    paramset.value      = "true";
                    act.action_params.Add(paramset);

                    workflowgoal.work.Add(act);
                }
                string strMissionData_Json = JsonConvert.SerializeObject(workflowgoal);
                mainform.dbBridge.onDBInsert_Missionlist(DateTime.Now.ToString("LS_" + "yyyyMMddhhmm"), "TEMP_", "0", "", strMissionData_Json);
            }
            catch (Exception e)
            {
                Console.WriteLine("insert mission buf error -> {0}", e);
            }
        }