導(dǎo)航系統(tǒng)中沿手繪路線的路徑規(guī)劃方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及導(dǎo)航技術(shù)領(lǐng)域的路徑規(guī)劃方法,特別是涉及一種導(dǎo)航系統(tǒng)中沿手繪路線的路徑規(guī)劃方法及裝置。
【背景技術(shù)】
[0002]在目前現(xiàn)有的地圖數(shù)據(jù)庫中,每條道路均預(yù)設(shè)有各自的通行能力權(quán)重。導(dǎo)航系統(tǒng)針對不同道路的通行能力權(quán)重,來規(guī)劃較為合理的導(dǎo)航路徑。用戶的常規(guī)操作是通過觸摸屏中的按鍵和文本輸入框設(shè)置出發(fā)地、目的地、必經(jīng)地和回避地等。導(dǎo)航系統(tǒng)根據(jù)這些設(shè)置,規(guī)劃合適的路徑供用戶參考。然而這種路徑規(guī)劃設(shè)置的都是一些興趣點(Point ofInterest, POI),本質(zhì)是將導(dǎo)航路徑進(jìn)行分段計算,不能實現(xiàn)由用戶指定希望行駛和希望回避路徑所在區(qū)域等更高級要求。
[0003]而且,現(xiàn)在導(dǎo)航系統(tǒng)中設(shè)置的必經(jīng)地會被嚴(yán)格歸入到規(guī)劃的導(dǎo)航路徑中,導(dǎo)航系統(tǒng)中設(shè)置的回避地會被嚴(yán)格地從導(dǎo)航路徑中排除,這種方式不一定符合用戶的要求。因為用戶有時希望行駛和希望回避某路徑的意愿不是非常堅決,例如當(dāng)用戶希望回避某路徑而致使規(guī)劃的導(dǎo)航路徑繞很遠(yuǎn)的路,此時用戶寧愿途徑該回避地。
[0004]另外,現(xiàn)有的設(shè)置必經(jīng)地和回避地的方式只能通過在文本輸入框內(nèi)輸入。在導(dǎo)航系統(tǒng)中,由于車輛駕駛環(huán)境和屏幕感應(yīng)靈敏度的不穩(wěn)定,原有的文本框輸入法在輸入操作和識別上都存在困難,例如車輛顛簸使手指未接觸到屏幕導(dǎo)致手寫文字識別錯誤,給用戶造成不便。
【發(fā)明內(nèi)容】
[0005]有鑒于上述現(xiàn)有技術(shù)所存在的缺陷,本發(fā)明的目的在于,提供一種導(dǎo)航系統(tǒng)中沿手繪路線的路徑規(guī)劃方法及裝置,以按照用戶的手繪路線來規(guī)劃一條合理的導(dǎo)航路徑,不僅可解決現(xiàn)有導(dǎo)航系統(tǒng)在規(guī)劃路徑時因遵循嚴(yán)格途徑和嚴(yán)格回避某些興趣點而造成的路徑規(guī)劃不合理的問題,還可解決文本輸入易出現(xiàn)差錯的問題。
[0006]為了實現(xiàn)上述目的,本發(fā)明提出了一種導(dǎo)航系統(tǒng)中沿手繪路線的路徑規(guī)劃裝置,包括:
[0007]導(dǎo)航路徑規(guī)劃模塊,用于根據(jù)用戶設(shè)置的出發(fā)地和目的地,按照傳統(tǒng)的最短路徑查找方式規(guī)劃出一條導(dǎo)航路徑;
[0008]手繪路線模塊,當(dāng)用戶對由所述導(dǎo)航路徑規(guī)劃模塊規(guī)劃出的導(dǎo)航路徑不滿意時,感應(yīng)用戶在觸摸屏上的手指位置,并繪制用戶手指在觸摸屏上移動所經(jīng)過的軌跡,繪制軌跡完成后,設(shè)置每一手繪軌跡的偏好權(quán)重屬性并存儲;
[0009]導(dǎo)航路徑重新規(guī)劃模塊,用于調(diào)整每一手繪軌跡周圍道路的通行能力權(quán)重,并根據(jù)調(diào)整后的道路的通行能力權(quán)重,按照啟發(fā)式路徑查找方式規(guī)劃出一條通行能力最大的導(dǎo)航路徑。
[0010]本發(fā)明還可采用以下技術(shù)措施進(jìn)一步實現(xiàn)。
[0011]前述的導(dǎo)航系統(tǒng)中沿手繪路線的路徑規(guī)劃裝置,其中所述手繪路線模塊包括:
[0012]屏幕感應(yīng)模塊,用于感應(yīng)用戶在觸摸屏上的手指位置;
[0013]軌跡繪制模塊,用于在觸摸屏上繪制用戶手指移動時所經(jīng)過的軌跡;
[0014]軌跡屬性設(shè)置模塊,用于設(shè)置由所述軌跡繪制模塊所繪制的手繪軌跡的偏好權(quán)重屬性;
[0015]手繪軌跡存儲模塊,用于對設(shè)置好屬性的手繪軌跡進(jìn)行存儲。
[0016]前述的導(dǎo)航系統(tǒng)中沿手繪路線的路徑規(guī)劃裝置,其中所述手繪路線模塊還包括:
[0017]第一判斷模塊,用于判斷用戶是否開始導(dǎo)航操作,如果用戶確認(rèn)開始導(dǎo)航,則由導(dǎo)航模塊執(zhí)行導(dǎo)航路徑的導(dǎo)引,路徑規(guī)劃結(jié)束;如果不開始導(dǎo)航,則由第二判斷模塊進(jìn)行判斷;
[0018]第二判斷模塊,用于判斷用戶是進(jìn)行手繪軌跡輸入還是更改目的地,如果用戶確認(rèn)進(jìn)行手繪軌跡輸入,則由所述屏幕感應(yīng)模塊感應(yīng)用戶手指的動作;如果用戶確認(rèn)更改目的地,則由所述導(dǎo)航路徑規(guī)劃模塊根據(jù)用戶重新輸入的目的地進(jìn)行導(dǎo)航路徑的規(guī)劃;
[0019]第三判斷模塊,用于判斷用戶是否選中已經(jīng)繪制的手繪軌跡,如果用戶選中已經(jīng)繪制的手繪軌跡,則由第四判斷模塊進(jìn)行判斷;如果用戶沒有選中已經(jīng)繪制的手繪軌跡,則由所述軌跡繪制模塊執(zhí)行手繪軌跡的繪制;
[0020]第四判斷模塊,用于判斷用戶是否修改已經(jīng)繪制的手繪軌跡,如果用戶確認(rèn)修改已經(jīng)繪制的手繪軌跡,則由第六判斷模塊判斷用戶是否保留當(dāng)前繪制的手繪軌跡;如果用戶不修改已經(jīng)繪制的手繪軌跡,則由所述軌跡繪制模塊執(zhí)行手繪軌跡的繪制;
[0021]第五判斷模塊,用于判斷用戶是否完成手繪軌跡的當(dāng)前輸入,如果用戶確認(rèn)完成手繪軌跡的當(dāng)前輸入,則由第六判斷模塊判斷用戶是否保留當(dāng)前繪制的手繪軌跡;如果用戶未完成手繪軌跡的當(dāng)前輸入,則由所述屏幕感應(yīng)模塊感應(yīng)用戶手指的動作;
[0022]第六判斷模塊,用于判斷用戶是否保留當(dāng)前的手繪軌跡,如果用戶確認(rèn)保留當(dāng)前的手繪軌跡,則由所述軌跡屬性設(shè)置模塊設(shè)置已繪制軌跡的屬性;如果用戶不保留當(dāng)前的手繪軌跡,則由手繪軌跡清除模塊清除當(dāng)前的手繪軌跡,之后由所述屏幕感應(yīng)模塊感應(yīng)用戶手指的動作;
[0023]手繪軌跡清除模塊,用于清除屏幕上的手繪軌跡;
[0024]第七判斷模塊,用于判斷所有手繪軌跡的輸入是否結(jié)束,如果用戶確認(rèn)所有手繪軌跡的輸入結(jié)束,則由所述導(dǎo)航路徑重新規(guī)劃模塊進(jìn)行相應(yīng)操作;如果所有手繪軌跡的輸入尚未結(jié)束,則由所述屏幕感應(yīng)模塊感應(yīng)用戶手指的動作。
[0025]前述的導(dǎo)航系統(tǒng)中沿手繪路線的路徑規(guī)劃裝置,其中所述導(dǎo)航路徑重新規(guī)劃模塊包括:
[0026]軌跡緩沖區(qū)模塊,用于構(gòu)建每一手繪軌跡的緩沖區(qū);
[0027]地理坐標(biāo)轉(zhuǎn)換模塊,用于將觸摸屏上的坐標(biāo)轉(zhuǎn)換為地圖數(shù)據(jù)庫中的地理坐標(biāo);
[0028]緩沖區(qū)道路查找模塊,用于查找緩沖區(qū)內(nèi)的道路;
[0029]道路權(quán)值調(diào)整模塊,用于調(diào)整緩沖區(qū)內(nèi)道路的偏好權(quán)重屬性,并根據(jù)調(diào)整后的道路的偏好權(quán)重屬性計算道路的通行能力權(quán)重;
[0030]導(dǎo)航路徑重新規(guī)劃子模塊,用于根據(jù)調(diào)整后的道路的通行能力權(quán)重,按照啟發(fā)式路徑查找方式規(guī)劃出一條通行能力最大的導(dǎo)航路徑。
[0031]前述的導(dǎo)航系統(tǒng)中沿手繪路線的路徑規(guī)劃裝置,其中所述導(dǎo)航路徑重新規(guī)劃模塊還包括:
[0032]第八判斷模塊,在由所述道路權(quán)值調(diào)整模塊對道路的通行能力權(quán)重進(jìn)行調(diào)整后,判斷用戶是否開始導(dǎo)航規(guī)劃,如果用戶確認(rèn)開始導(dǎo)航規(guī)劃,則由所述導(dǎo)航路徑重新規(guī)劃子模塊開始進(jìn)行導(dǎo)航規(guī)劃;如果用戶不進(jìn)行導(dǎo)航規(guī)劃,則由所述手繪軌跡清除模塊清除用戶輸入的所有手繪軌跡,然后再由所述屏幕感應(yīng)模塊感應(yīng)用戶手指的動作。
[0033]本發(fā)明還提供了一種導(dǎo)航系統(tǒng)中沿手繪路線的路徑規(guī)劃方法,包括以下步驟:
[0034]a、根據(jù)用戶設(shè)置的出發(fā)地和目的地,按照傳統(tǒng)的最短路徑查找方式規(guī)劃出一條導(dǎo)航路徑;
[0035]b、若對步驟a中所規(guī)劃的導(dǎo)航路徑不滿意,則根據(jù)用戶手指在觸摸屏上的移動繪制手繪軌跡,之后設(shè)置每一手繪軌跡的偏好權(quán)重屬性并存儲;
[0036]C、調(diào)整每一手繪軌跡的周圍道路的通行能力權(quán)重,并根據(jù)調(diào)整后的道路的通行能力權(quán)重,按照啟發(fā)式路徑查找方式規(guī)劃出一條通行能力最大的導(dǎo)航路徑。
[0037]前述的導(dǎo)航系統(tǒng)中沿手繪路線的路徑規(guī)劃方法,其中所述步驟b具體包括如下步驟:
[0038]bl、判斷用戶是否開始導(dǎo)航操作,如果是,則由導(dǎo)航模塊執(zhí)行導(dǎo)航路徑的導(dǎo)弓|,路徑規(guī)劃結(jié)束;如果否,則執(zhí)行步驟b2 ;
[0039]b2、判斷用戶是進(jìn)行手繪軌跡輸入還是更改目的地,如果用戶確認(rèn)進(jìn)行手繪軌跡輸入,則執(zhí)行步驟b3 ;如果用戶確認(rèn)更改目的地,則在用戶更改目的地后執(zhí)行步驟a ;
[0040]b3、感應(yīng)用戶在觸摸屏上的手指位置;
[0041]b4、判斷用戶是否選中已經(jīng)繪制的手繪軌跡,如果是,則執(zhí)行步驟b5 ;如果否,則執(zhí)行步驟b6 ;
[0042]b5、判斷用戶是否修改已經(jīng)繪制的手繪軌跡,如果是,則執(zhí)行步驟b8 ;如果否,則執(zhí)行步驟b6 ;
[0043]b6、在觸摸屏上繪制用戶手指移動時所經(jīng)過的軌跡;
[0044]b7、判斷用戶是否完成手繪軌跡的當(dāng)前輸入,如果是,則執(zhí)行步驟b8 ;如果否,則執(zhí)行步驟b3 ;
[0045]b8、判斷用戶是否保留當(dāng)前的手繪軌跡,如果是,則執(zhí)行步驟blO;如果否,則執(zhí)行步驟b9 ;
[0046]b9、清除屏幕上的當(dāng)前手繪軌跡,然后執(zhí)行步驟b3 ;
[0047]blO、設(shè)置已繪制的手繪軌跡的偏好權(quán)重屬性;
[0048]bll、對設(shè)置好屬性的手繪軌跡進(jìn)行存儲;
[0049]bl2、判斷所有手繪軌跡的輸入是否結(jié)束,如果是,則執(zhí)行步驟c ;如果否,則執(zhí)行步驟b3。
[0050]前述的導(dǎo)航系統(tǒng)中沿手繪路線的路徑規(guī)劃方法,其中所述步驟c具體包括如下步驟:
[0051]Cl、構(gòu)建每一手繪軌跡的緩沖區(qū);
[0052]c2、將觸摸屏上的坐標(biāo)轉(zhuǎn)換為地圖數(shù)據(jù)庫中的地理坐標(biāo);
[0053]c3、查找緩沖區(qū)內(nèi)的道路;
[0054]c4、調(diào)整緩沖區(qū)內(nèi)道路的偏好權(quán)重屬性,并根據(jù)調(diào)整后的道路的偏好權(quán)重屬性計算道路的通行能力權(quán)重;
[0055]c5、根據(jù)調(diào)整后的道路的通行能力權(quán)重,按照啟發(fā)式路徑查找方式規(guī)劃出一條通行能力最大的導(dǎo)航路