(ÐÂ)Êý¿Ø¼Ó¹¤ÀíÂÛÓë±à³Ì¼¼Êõ_ ÏÂÔØ±¾ÎÄ

4.1¡¢¼Ó¹¤²ÎÊý±í¼°ÆäÊý¾Ý½á¹¹

¼Ó¹¤²ÎÊý±í´æ·ÅµÄÊÇÊý¿Ø¼Ó¹¤±à³ÌËùÐèµÄÓйزÎÊý¡£¶ÔÓÚÇúÃæ¼Ó¹¤£¬µäÐ͵ļӹ¤²ÎÊý°üÀ¨£º²½³¤¿ØÖÆ·½·¨£¨µãÊý¿ØÖÆ¡¢×ßµ¶²½³¤¿ØÖÆ¡¢¾«¶È¿ØÖÆ£©¡¢ËÙ¶È¿ØÖƲÎÊý£¨¿ìËÙ½ø¸øËÙ¶È¡¢½Ó½ü½ø¸øËÙ¶È¡¢ÇÐÈë½ø¸øËÙ¶È¡¢Õý³£½ø¸øËÙ¶È¡¢¿çÔ½½ø¸øËÙ¶È¡¢ºáÔ½½ø¸øËÙ¶ÈÒÔ¼°Í˵¶Ëٶȵȣ©¡¢¸ÉÉæ±ÜÃâ²ÎÊý£¨°²È«Ãæ¸ß¶È¡¢¸ÉÉæÌ§µ¶¸ß¶È£©¡¢½øµ¶¿ØÖÆ·½Ê½£¨½øµ¶µã¡¢½øµ¶·½Ê½¼°Æä²ÎÊý£©¡¢Í˵¶¿ØÖÆ·½Ê½£¨Í˵¶µã¡¢Í˵¶·½Ê½¼°Æä²ÎÊý£©¡¢¸ÉÉæ¼ì²é²ÎÊý£¨¸ÉÉæ¼ì²éÇúÏß¡¢¸ÉÉæ¼ì²éÇúÃæ¡¢¸ÉÉæ¼ì²éÓàÁ¿¡¢¸ÉÉæ´¦Àí·½Ê½£©¡¢µ¶Öá¿ØÖÆ·½Ê½¡¢µ¶¾ß¹ì¼£ÏÔʾ²ÎÊýµÈ¡£

£¨1£©²½³¤¿ØÖÆ typedef struct {

int

int int double double double double double double double double

control_mode; /*²½³¤¿ØÖÆ·½·¨£º1-µãÊý¿ØÖÆ¡¢2-×ßµ¶²½³¤¿Ø

/*ÖÆ¡¢3-¾«¶È¿ØÖÆ

len_number; /*ÿÇÐÏ÷Ðе¶Î»µãÊý over_number; /*µ¶¾ß¹ì¼£µÄÇÐÏ÷ÐÐÊý len_step; /*×ßµ¶²½³¤ over_step; len_eps; in_tol;

/*×î´óÇÐÏ÷Ðоà

/*×ßµ¶·½ÏòÉϵÄ×î´ó²å²¹Îó²î

over_eps; /*ÇÐÏ÷ÐмäµÄ×î´ó²ÐÓà¸ß¶È

/*Äڱ߽çÈݲî

out_tol; /*Íâ±ß½çÈݲî floor_stock; /*µ×Ãæ¼Ó¹¤ÓàÁ¿ side_stock;

/*²àÃæ¼Ó¹¤ÓàÁ¿

}Step_Control; £¨2£©ËÙ¶È¿ØÖÆ typedef struct {

int rapid_speed; /*µ¶¾ß¿ìËÙ½ø¸øËÙ¶È int engage_speed; /*µ¶¾ßÇÐÈë½ø¸øËÙ¶È int cut_speed;

/*Õý³£ÇÐÏ÷½ø¸øËÙ¶È

int retract_speed; /*Í˵¶ËÙ¶È

int over_speed; /*ÇÐÏ÷ÐÐÖ®¼ä½ø¸øËÙ¶È

}Speed_Control; £¨3£©¸ÉÉæ±ÜÃâ typedef struct {

double double double

safe_plane; skip_plane;

/*°²È«Ãæ¸ß¶È /*¸ÉÉæÌ§µ¶¸ß¶È

engage_plane; /*¿ìËÙ½øµ¶¸ß¶È

Ppoint3 engage_point; /*½øµ¶µã Ppoint3 retract_point; /*Í˵¶µã

}Gouge_Control; £¨4£©¸ÉÉæ¼ì²é²ÎÊý typedef struct {

C_LIST check_boundary; /*¸ÉÉæ¼ì²éÇúÏß F_LIST check_surface;/*¸ÉÉæ¼ì²éÇúÃæ Double check_stock; /*¸ÉÉæ¼ì²éÓàÁ¿ Int on_collision; /*¸ÉÉæ´¦Àí·½Ê½

}Check_Control; £¨5£©µ¶Öá¿ØÖÆ typedef struct {

int control_mode; /*µ¶Öá¿ØÖÆ·½Ê½:¶¨Öá,ËÄÖá,ÎåÖá }Tool_Control; £¨6£©ÇÐÏ÷·½Ê½¿ØÖÆ typedef struct {

int cutting_mode; /*ÇÐÏ÷·½Ê½:µ¥Ïò,Ë«Ïò,»·ÇУ¬Óû§×Ô¶¨Ò巽ʽ }Cut_Control;

£¨7£©µ¶¾ß¹ì¼£ÏÔʾ¿ØÖÆ typedef struct {

int rapid_color; /*¿ìËÙÔ˶¯ÑÕÉ« int approach_color; int cut_color;

/*½Ó½üÔ˶¯ÑÕÉ«

int engage_color; /*ÇÐÈëÔ˶¯ÑÕÉ«

/*ÇÐÏ÷Ô˶¯ÑÕÉ«

/*¿çÔ½Ô˶¯ÑÕÉ« /*ºáÔ½Ô˶¯ÑÕÉ« /*°²È«ÃæÑÕÉ«

int stepover_color; int traversal_color; int clearance_color;

}Display_Control;

4.2¡¢ÇúÃæ¼Ó¹¤µ¶¾ß¹ì¼£¼°ÆäÊý¾Ý½á¹¹

ÇúÃæ¼Ó¹¤µÄµ¶¾ß¹ì¼£Éú³É²»½öÉæ¼°Áã¼þÃæ¡¢µ¼¶¯Ã棨Ïߣ©¡¢¼ì²éÃæ£¨Ïߣ©µÄ¶¨Ò壬¶øÇÒÓëµ¶¾ß¹ì¼£¿ØÖƲÎÊýÃÜÇÐÏà¹Ø¡£

£¨1£©ÇúÃæ¼Ó¹¤µ¶¾ß¹ì¼£µÄÊý¾Ý½á¹¹ typedef struct {

NCPATH_PARA para;/*µ¶¾ß¹ì¼£¿ØÖƲÎÊý£º°üÀ¨Ç°ÃæÃèÊöµÄ7Àà²ÎÊý PS_LIST *part_surf;

/*Áã¼þÃæ

DS_LIST *drive_geometry; /*µ¼¶¯¼¸ºÎ¶¨Òå CS_LIST *check_geometry; /*¼ì²é¼¸ºÎ¶¨Òå Int (*NC_func)(); /*µ¶¾ß¹ì¼£Éú³Éº¯Êý

NCGROUP *h_area; /*ÇÐÏ÷¿éÊ×Ö¸Õë

}NCPATH;

ÆäÖеĵ¶¾ß¹ì¼£Éú³Éº¯ÊýÓÃÓÚ¼Ó¹¤²ÎÊý»òÁã¼þÃæÐ޸ĺó×Ô¶¯ÖØÐ¼ÆËãµ¶¾ß¹ì¼£¡£ £¨2£©ÇÐÏ÷¿éµÄÊý¾Ý½á¹¹ typedef struct {

int id; /*ÇÐÏ÷¿é±êʶ int flag; /*ÇÐÏ÷¿éÊôÐÔ Ppoint3 *engage_point;

/*ÇÐÏ÷¿é½øµ¶µã

Ppoint3 *retract_point; /*ÇÐÏ÷¿éÍ˵¶µã NCLINE *cutting_line; /*µÚÒ»¸öÇÐÏ÷ÐÐÊ×µØÖ· NCGROUP *next;

/*ÏÂÒ»¸öÇÐÏ÷¿éÊ×µØÖ·

}NCGROUP;

£¨3£©ÇÐÏ÷ÐеÄÊý¾Ý½á¹¹ typedef struct {

int id; /*ÇÐÏ÷Ðбêʶ int flag; /*ÇÐÏ÷ÐÐÊôÐÔ NCSEGMENT NCLINE *next;

*cutting_seg; /*µÚÒ»¸öÇÐÏ÷¶ÎÊ×µØÖ· /*ÏÂÒ»¸öÇÐÏ÷ÐÐÊ×µØÖ·

}NCLINE;

µÚÆßÕ¡¢µ¶¾ß¹ì¼£ÑéÖ¤ µÚÒ»½Ú¡¢¸ÅÊö

ÀûÓüÆËã»úͼÐÎÏÔʾÆ÷°Ñ¼Ó¹¤¹ý³ÌÖеÄÁã¼þÄ£ÐÍ¡¢µ¶¾ß¹ì¼£¡¢µ¶¾ßÍâÐÎÒ»ÆðÏÔʾ³öÀ´£¬ÓÃÕâÖÖ·½·¨À´Ä£ÄâÁã¼þµÄ¼Ó¹¤¹ý³Ì£¬¼ì²éµ¶¾ß¹ì¼£¼ÆËãÊÇ·ñºÏÀí¡¢¼Ó¹¤¹ý³ÌÖÐÊÇ·ñ·¢Éú¹ýÇУ¬ËùÑ¡Óõĵ¶¾ß¡¢×ßµ¶Â·Ïß¡¢½øÍ˵¶·½Ê½ÊÇ·ñºÏÀí¡¢µ¶¾ßÓëÔ¼ÊøÃæÊÇ·ñ·¢Éú¸ÉÉæÅöײ¡£ÕâÖÖ·½·¨Í³³ÆÎªµ¶¾ß¹ì¼£ÑéÖ¤¡£

µ¶¾ß¹ì¼£ÑéÖ¤µÄ·½·¨ºÜ¶à£¬×î¼òµ¥×î³£Óõķ½·¨Êǵ¶¾ß¹ì¼£µÄÏÔʾÑéÖ¤£¬¼´½«µ¶Î»Êý¾Ý£¨°üÀ¨µ¶ÐÄ×ø±êÓëµ¶ÖáʸÁ¿£©µÄÏß¿òͼÏÔʾ³öÀ´£¬Åжϵ¶¾ß¹ì¼£ÊÇ·ñÁ¬Ðø£¬¼ì²éµ¶Î»¼ÆËãÊÇ·ñÕýÈ·£»Æä´ÎÊǽ«µ¶Î»Êý¾ÝÁ¬Í¬±»¼Ó¹¤±íÃæµÄÏß¿òͼһÆðÏÔʾ³öÀ´£¬À´Åжϵ¶¾ß¹ì¼£µÄÕýÈ·ÐÔ£¬×ßµ¶Â·Ïß¡¢½øÍ˵¶·½Ê½ÊÇ·ñºÏÀí¡£±È½Ï¸´Ôӵķ½Ê½ÊDzÉÓø÷ÖÖ½ØÃæ·¨ÑéÖ¤£¬Èç×ݽØÃæ·¨¡¢ºá½ØÃæ·¨¼°Çú½ØÃæ·¨µÈ£¬½«Ö¸¶¨µ¶Î»µãÉϵĵ¶¾ß½ØÃæÍ¼Óë±»¼Ó¹¤±íÃæ¼°ÆäÔ¼ÊøÃæµÄ½ØÃæÍ¼Ò»ÆðÏÔʾÔÚÆÁÄ»ÉÏ£¬ÕâÑù±ã¿ÉÒÔºÜÖ±¹ÛµØÅжÏËùÑ¡ÔñµÄµ¶¾ßÊÇ·ñºÏÀí£¬¼ì²éµ¶¾ßÓëÔ¼ÊøÃæÊÇ·ñ·¢Éú¸ÉÉæÓëÅöײ£¬¼Ó¹¤¹ý³ÌÖÐÊÇ·ñ´æÔÚ¹ýÇУ»ÎªÁËÄܹ»¶¨Á¿¸ø³öÑéÖ¤½á¹û£¬¿ÉÒÔ²ÉÓÃÊýÖµÑéÖ¤£»¸ü¸´ÔÓһЩµÄ·½·¨ÊǼӹ¤¹ý³ÌµÄ¶¯Ì¬·ÂÕæÑéÖ¤£¬¼´½«¼Ó¹¤¹ý³ÌÖеÄÁ콭ʵÌåÄ£ÐÍ¡¢µ¶¾ßʵÌå¡¢ÇÐÏ÷¼Ó¹¤¹ý³Ì¼°¼Ó¹¤½á¹û£¬²ÉÓò»Í¬µÄÑÕɫһÆð¶¯Ì¬ÏÔʾ³öÀ´£¬Ä£ÄâÁã¼þµÄʵ¼Ê¼Ó¹¤¹ý³Ì£¬²»½ö¿ÉÒÔ¹Û²ì¼Ó¹¤¹ý³Ì£¬¶øÇÒ¿ÉÒÔ¼ìÑéµ¶¾ßÓëÔ¼ÊøÃæµÄ¸ÉÉæÓë¼Ó¹¤¹ýÇУ»¸üΪÏȽøµÄ·½·¨ÊÇ£¬½«»ú´²Ä£ÐÍÓë¼Ó¹¤¹ý³Ì·ÂÕæ½áºÏÒ»Æð£¬»¹¿ÉÒԹ۲쵶¾ßÊÇ·ñÓë¼Ó¹¤Áã¼þÒÔÍâµÄ

ÆäËü²»¼û·¢Éú¸ÉÉæ»òÅöײ¡£

²ÉÓõ¶¾ßÔ˶¯°üÂçÃæ·¨¼ÆËã±»¼Ó¹¤±íÃæµÄ¼Ó¹¤Îó²îÊÇ×ȷµÄ£¬µ«ÓÉÓÚµ¶¾ßÔ˶¯°üÂçÃæµÄÉú³É±È½ÏÀ§ÄÑ£¬ËùÒÔÕâÖÖ·½·¨ÔÚʵ¼ÊÖкÜÉÙ²ÉÓá£

µÚ¶þ½Ú¡¢ÏÔʾ·¨ÑéÖ¤

µ¶¾ß¹ì¼£ÏÔʾÑéÖ¤

¼Ó¹¤±íÃæÓëµ¶¾ß¹ì¼£µÄ×éºÏÏÔʾÑéÖ¤

×éºÏÄ£ÄâÏÔʾÑéÖ¤

µÚÈý½Ú¡¢½ØÃæ·¨ÑéÖ¤

ºá½ØÃæÑéÖ¤

×ݽØÃæÑéÖ¤

Çú½ØÃæÑéÖ¤

µÚËĽڡ¢ÊýÖµÑéÖ¤

ÇòÐε¶¼Ó¹¤µÄÊýÖµÑéÖ¤

×¶Ðΰôϳµ¶²àϳ¼Ó¹¤Ê±µÄÊýÖµÑéÖ¤

µÚÎå½Ú¡¢¼Ó¹¤¹ý³ÌµÄ¶¯Ì¬·ÂÕæÑéÖ¤

¼Ó¹¤¹ý³Ì¶¯Ì¬·ÂÕæ »ú´²·ÂÕæ

µÚ°ËÕ¡¢ºóÖô¦Àí µÚÒ»½Ú¡¢»ù±¾¸ÅÄî

Êý¿Ø»ú´²µÄËùÓÐÔ˶¯ºÍ²Ù×÷¶¼ÊÇÖ´ÐÐÖ¸¶¨µÄÊý¿ØÖ¸ÁîµÄ½á¹û£¬Íê³ÉÒ»¸öÁã¼þµÄÊý¿Ø¼Ó