(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023004888
(43)【公開日】2023-01-17
(54)【発明の名称】マップデータ伝送方法、清掃ロボット及び記憶媒体
(51)【国際特許分類】
A47L 9/28 20060101AFI20230110BHJP
G08G 1/0968 20060101ALI20230110BHJP
G08G 1/16 20060101ALI20230110BHJP
G01C 21/36 20060101ALI20230110BHJP
A47L 11/00 20060101ALI20230110BHJP
H03M 7/30 20060101ALI20230110BHJP
G05D 1/02 20200101ALI20230110BHJP
【FI】
A47L9/28 E
G08G1/0968 B
G08G1/16 C
G01C21/36
A47L11/00
H03M7/30 Z
G05D1/02 H
【審査請求】有
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2022081649
(22)【出願日】2022-05-18
(31)【優先権主張番号】202110711712.4
(32)【優先日】2021-06-25
(33)【優先権主張国・地域又は機関】CN
(71)【出願人】
【識別番号】521476193
【氏名又は名称】安克▲創▼新科技股▲フン▼有限公司
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】▲呉▼ 精▲華▼
【テーマコード(参考)】
2F129
3B057
5H181
5H301
5J064
【Fターム(参考)】
2F129AA20
2F129EE02
2F129EE78
2F129EE95
2F129FF02
2F129FF20
2F129FF30
2F129FF36
2F129FF62
2F129FF72
2F129HH12
3B057DA00
5H181AA01
5H181AA27
5H181BB04
5H181FF13
5H181FF23
5H181FF24
5H181FF33
5H181LL01
5H181LL09
5H181MC22
5H301AA02
5H301BB11
5H301CC03
5H301CC06
5H301CC10
5J064BA01
5J064BC14
(57)【要約】 (修正有)
【課題】本願では、マップデータ伝送方法、清掃ロボット及び記憶媒体を提供している。
【解決手段】清掃ロボットに応用されるマップデータ伝送方法は、現在の清掃位置に対応する第1マップデータ及び1つ前の清掃位置に対応する第2マップデータを取得し、第1マップデータ及び第2マップデータはいずれも少なくとも2つのマップレイヤに予め区分されており、第1マップデータの中から各マップレイヤの第1マップレイヤデータを抽出し、第2マップデータの中から各マップレイヤの第2マップレイヤデータを抽出し、同じマップレイヤの第2マップレイヤデータに対して変化が生じている第1マップレイヤデータを取得し、変化が生じている第1マップレイヤデータをクラウドに送信するというものである。
【選択図】
図1
【特許請求の範囲】
【請求項1】
マップデータ伝送方法であって、清掃ロボットに応用され、
現在の清掃位置に対応する第1マップデータ及び1つ前の清掃位置に対応する第2マップデータを取得することであって、前記第1マップデータ及び前記第2マップデータはいずれも少なくとも2つのマップレイヤに予め区分されている、ことと、
前記第1マップデータの中から各マップレイヤの第1マップレイヤデータを抽出し、前記第2マップデータの中から各前記マップレイヤの第2マップレイヤデータを抽出することと、
同じ前記マップレイヤの前記第2マップレイヤデータに対して変化が生じている前記第1マップレイヤデータを取得することと、
変化が生じている前記第1マップレイヤデータをクラウドに送信することと、を含むことを特徴とする、
マップデータ伝送方法。
【請求項2】
少なくとも2つの前記マップレイヤが、清掃マップのマップパラメータを含むパラメータレイヤと、前記清掃マップにおける各画素点の画素データを含む画素レイヤと、清掃軌跡の軌跡データを含む軌跡レイヤと、清掃体勢の体勢データを含む体勢レイヤと、清掃ルーム区分のルーム区分情報と、清掃禁止ゾーンの禁止ゾーン情報と、前記清掃マップにおけるマップバーチャルウォールのバーチャルウォール情報と、前記清掃ルーム区分のルーム標識と、の中の1つまたは複数を含むことを特徴とする、請求項1に記載のマップデータ伝送方法。
【請求項3】
同じ前記マップレイヤの前記第2マップレイヤデータに対して変化が生じている第1マップレイヤデータが画素レイヤの第1マップレイヤデータである場合、同じ前記マップレイヤの前記第2マップレイヤデータに対して変化が生じている第1マップレイヤデータを取得することが、
前記第1マップデータの中から前記画素レイヤの多次元の第1マップレイヤデータを取得し、前記第2マップデータの中から同じ前記画素レイヤの多次元の第2マップレイヤデータを取得することと、
前記多次元の第1マップレイヤデータを次元変換して1次元の第1マップレイヤデータを得、前記多次元の第2マップレイヤデータを次元変換して1次元の第2マップレイヤデータを得ることと、
前記1次元の第1マップレイヤデータを複数のデータブロックサイズの第1マップデータブロックに分割し、前記1次元の第2マップレイヤデータを複数のデータブロックサイズの第2マップデータブロックに分割することと、
同じデータブロックサイズの前記第2マップデータブロックに対して変化が生じている第1マップデータブロックを取得することと、を含むことを特徴とする、
請求項2に記載のマップデータ伝送方法。
【請求項4】
変化の生じている前記第1マップレイヤデータをクラウドに送信することが、
前記第1マップレイヤデータを前回送信した際に使用した第1符号化方式を取得することと、
前記第1符号化方式とは異なる第2符号化方式を取得することと、
取得した前記第1マップレイヤデータに対して前記第2符号化方式を利用して符号化を行うことと、
前記第2符号化方式によって符号化された後の第1マップレイヤデータを前記クラウドに送信することと、を含むことを特徴とする、
請求項1~3のいずれかに記載のマップデータ伝送方法。
【請求項5】
前記第1マップレイヤデータが、マップ標識と、マップレイヤ標識と、データタイプと、データオフセット量と、データ長と、を含むことを特徴とする、請求項1に記載のマップデータ伝送方法。
【請求項6】
マップデータ伝送方法であって、クラウドに応用され、前記方法が、
清掃ロボットが送信した、同じマップレイヤの第2マップレイヤデータに対して変化が生じている第1マップレイヤデータを受信することであって、前記第1マップレイヤデータは、前記清掃ロボットの現在の清掃位置に対応する第1マップデータに対してマップレイヤ抽出を行って得られたものであり、前記第2マップレイヤデータは、前記清掃ロボットの1つ前の清掃位置に対応する第2マップデータに対してマップレイヤ抽出を行って得られたものであり、前記第1マップデータ及び前記第2マップデータはいずれも少なくとも2つのマップレイヤに予め区分されている、ことと、
前記クラウドに第3マップデータが存在するか否か、かつ前記第3マップデータの中に前記第1マップレイヤデータに対応する第3マップレイヤデータが存在するか否かを確定することと、
前記クラウドに第3マップデータが存在し、かつ前記第3マップデータの中に前記第1マップレイヤデータに対応する第3マップレイヤデータが存在する場合、前記第3マップデータ中の前記第3マップレイヤデータを前記第1マップレイヤデータに更新することと、を含むことを特徴とする、
マップデータ伝送方法。
【請求項7】
前記クラウドに第3マップデータが存在するか否か、かつ前記第3マップデータの中に前記第1マップレイヤデータに対応する第3マップレイヤデータが存在するか否かを確定することが、
前記第1マップレイヤデータの中からマップ標識及びマップレイヤ標識を抽出することと、
前記クラウドに前記マップ標識に対応する第3マップデータが存在するか否かを確定することと、
前記クラウドに前記マップ標識に対応する第3マップデータが存在する場合、前記第3マップデータの中に前記マップレイヤ標識に対応する第3マップレイヤデータが存在するか否かを確定することと、
前記第3マップデータの中に前記マップレイヤ標識に対応する第3マップレイヤデータが存在する場合、前記クラウドに第3マップデータが存在し、かつ前記第3マップデータの中に前記第1マップレイヤデータに対応する第3マップレイヤデータが存在すると確定することと、を含むことを特徴とする、
請求項6に記載のマップデータ伝送方法。
【請求項8】
前記方法がさらに、
前記クラウドに第3マップデータが存在し、かつ前記第3マップデータの中に前記第1マップレイヤデータに対応する第3マップレイヤデータが存在しない場合、第1マップレイヤデータに対応する第3マップレイヤデータを作成することと、
前記第3マップデータの中の前記第3マップレイヤデータを前記第1マップレイヤデータに更新することと、を含むことを特徴とする、
請求項6に記載のマップデータ伝送方法。
【請求項9】
前記方法がさらに、
前記クラウドに第3マップデータが存在しない場合、前記第3マップデータを作成することと、
前記第3マップデータの中に前記第1マップレイヤデータに対応する第3マップレイヤデータを作成することと、
前記第3マップデータの中の前記第3マップレイヤデータを前記第1マップレイヤデータに更新することと、を含むことを特徴とする、
請求項6に記載のマップデータ伝送方法。
【請求項10】
前記第3マップデータの中の前記第3マップレイヤデータを前記第1マップレイヤデータに更新することが、
前記第1マップレイヤデータの中からデータタイプ、データオフセット位置、データ長及びデータ内容を抽出することと、
前記データタイプが追加/挿入である場合、前記データ長のデータ内容を前記第3マップレイヤデータの前記データオフセット位置に追加/挿入することと、を含むことを特徴とする、
請求項6~9のいずれかに記載のマップデータ伝送方法。
【請求項11】
前記クラウドに第3マップデータがローカルに存在し、かつ前記第3マップデータの中に前記第1マップレイヤデータに対応する第3マップレイヤデータが存在する場合に、前記第3マップデータの中の前記第3マップレイヤデータを前記第1マップレイヤデータに更新することが、
前記第1マップレイヤデータの中からデータタイプ、データオフセット位置、データ長及びデータ内容を抽出することと、
前記データタイプが削除である場合、前記第3マップレイヤデータの中の少なくとも一部のデータを削除することと、を含むことを特徴とする、
請求項6に記載のマップデータ伝送方法。
【請求項12】
前記第3マップデータの中の前記第3マップレイヤデータを前記第1マップレイヤデータに更新することが、
前回受信した第1マップレイヤデータに対して復号化を行う第1復号化方式を取得することと、
前記第1復号化方式とは異なる第2復号化方式を取得することと、
前記第2復号化方式を利用して前記第1マップレイヤデータに対する復号化を行い、復号化後の第1マップレイヤデータを得ることと、
前記復号化後の第1マップレイヤデータに対して次元変換を行い、第1多次元マップデータを得ることと、
前記第1多次元マップデータを利用して前記第3マップレイヤデータに対して更新を行うことと、を含むことを特徴とする、
請求項6に記載のマップデータ伝送方法。
【請求項13】
マップデータ伝送方法であって、ユーザ端末に応用され、前記方法が、
クラウドが送信する第1マップレイヤデータを受信することであって、前記第1マップレイヤデータは前記クラウドが第2マップレイヤデータを前記第1マップレイヤデータに更新した後に送信したものであり、前記第1マップレイヤデータは同じマップレイヤの第2マップレイヤデータに対して変化が生じており、前記第1マップレイヤデータは清掃ロボットの現在の清掃位置に対応する第1マップデータに対してマップレイヤ抽出を行って得られたものであり、前記第2マップレイヤデータは、前記清掃ロボットの1つ前の清掃位置に対応する第2マップデータに対してマップレイヤ抽出を行って得られたものであり、前記第1マップデータ及び前記第2マップデータはいずれも少なくとも2つのマップレイヤに予め区分されている、ことと、
前記ユーザ端末に第4マップデータが存在するか否か、かつ前記第4マップデータの中に前記第1マップレイヤデータに対応する第4マップレイヤデータが存在するか否かを確定することと、
前記ユーザ端末に第4マップデータが存在し、かつ前記第4マップデータの中に前記第1マップレイヤデータに対応する第4マップレイヤデータが存在する場合、前記第4マップデータの中の前記第4マップレイヤデータを前記第1マップレイヤデータに更新することと、
更新後の前記第4マップデータに対してデータレンダリングを行うことと、を含むことを特徴とする、
マップデータ伝送方法。
【請求項14】
清掃ロボットにおいて、プロセッサと、通信インターフェースと、メモリと、通信バスと、を含み、プロセッサ、通信インターフェース、メモリは通信バスによって相互間の通信を確立しており、
メモリは、コンピュータプログラムを格納するために用いられ、
プロセッサは、メモリに格納されたプログラムを実行する際に、請求項1~5のいずれかに記載のマップデータ伝送方法、請求項6~12のいずれかに記載のマップデータ伝送方法、または請求項13に記載のマップデータ伝送方法を実現するために用いられることを特徴とする、
清掃ロボット。
【請求項15】
コンピュータ読取可能記憶媒体において、前記コンピュータ読取可能記憶媒体にはマップデータ伝送方法のプログラムが記憶されており、前記マップデータ伝送方法のプログラムがプロセッサによって実行されると、請求項1~5のいずれかに記載のマップデータ伝送方法、請求項6~12のいずれかに記載のマップデータ伝送方法、または請求項13に記載のマップデータ伝送方法のステップが実現されることを特徴とする、コンピュータ読取可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、清掃ロボット技術分野、特にマップデータ伝送方法、清掃ロボット及び記憶媒体に関する。
【背景技術】
【0002】
清掃ロボット分野では、ロボットは、予め自身のセンサを通してマップを構築しておき、清掃ロボットが清掃の過程において清掃ロボットの位置の変化に合わせて常にマップを更新することで、マップデータを清掃の過程においてリアルタイムに変化させることができる。ユーザが清掃の進捗を把握しやすいように、清掃の過程において、清掃ロボットは、リアルタイムに変化するマップデータをユーザ端末に伝送し、ユーザ端末が変化したマップデータに対するレンダリング表示を行って、ユーザが観察しやすいようにする必要がある。
【0003】
しかし、リアルタイムに変化するマップデータを伝送するには大量のネットワーク帯域幅を占用する必要があり、ネットワーク帯域幅は限られているため、毎回完全なマップデータを伝送するには、大量のネットワーク帯域幅を消費することになるだけでなく、伝送の実効性もかなり低く、ユーザのニーズを満たすことができない。
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述の技術的問題を解決するため、または少なくとも部分的に解決するために、本願では、マップデータ伝送方法、清掃ロボット及び記憶媒体を提供している。
【課題を解決するための手段】
【0005】
第1の面で、本願では、清掃ロボットに応用されるマップデータ伝送方法を提供しており、その中には、
現在の清掃位置に対応する第1マップデータ及び1つ前の清掃位置に対応する第2マップデータを取得することであって、前記第1マップデータ及び前記第2マップデータはいずれも少なくとも2つのマップレイヤに予め区分されている、ことと、
前記第1マップデータの中から各マップレイヤの第1マップレイヤデータを抽出し、前記第2マップデータの中から各マップレイヤの第2マップレイヤデータを抽出することと、
同じ前記マップレイヤの前記第2マップレイヤデータに対して変化が生じている前記第1マップレイヤデータを取得することと、
変化が生じている前記第1マップレイヤデータをクラウドに送信することと、を含む。
【0006】
任意選択的に、少なくとも2つの前記マップレイヤは、清掃マップのマップパラメータを含むパラメータレイヤと、前記清掃マップにおける各画素点の画素データを含む画素レイヤと、清掃軌跡の軌跡データを含む軌跡レイヤと、清掃体勢の体勢データを含む体勢レイヤと、清掃ルーム区分のルーム区分情報と、清掃禁止ゾーンの禁止ゾーン情報と、前記清掃マップにおけるマップバーチャルウォールのバーチャルウォール情報と、前記清掃ルーム区分のルーム標識と、の中の1つまたは複数を含む。
【0007】
任意選択的に、同じ前記マップレイヤの前記第2マップレイヤデータに対して変化が生じている第1マップレイヤデータが画素レイヤの第1マップレイヤデータである場合、同じ前記マップレイヤの前記第2マップレイヤデータに対して変化が生じている第1マップレイヤデータを取得することは、
前記第1マップデータの中から前記画素レイヤの多次元の第1マップレイヤデータを取得し、前記第2マップデータの中から同じ前記画素レイヤの多次元の第2マップレイヤデータを取得することと、
前記多次元の第1マップレイヤデータを次元変換して1次元の第1マップレイヤデータを得、前記多次元の第2マップレイヤデータを次元変換して1次元の第2マップレイヤデータを得ることと、
前記1次元の第1マップレイヤデータを複数のデータブロックサイズの第1マップデータブロックに分割し、前記1次元の第2マップレイヤデータを複数のデータブロックサイズの第2マップデータブロックに分割することと、
同じデータブロックサイズの前記第2マップデータブロックに対して変化が生じている第1マップデータブロックを取得することと、を含む。
【0008】
任意選択的に、変化が生じている前記第1マップレイヤデータをクラウドに送信することは、
前記第1マップレイヤデータを前回送信した際に使用した第1符号化方式を取得することと、
前記第1符号化方式とは異なる第2符号化方式を取得することと、
取得した前記第1マップレイヤデータに対して前記第2符号化方式を利用して符号化を行うことと、
前記第2符号化方式によって符号化された後の第1マップレイヤデータを前記クラウドに送信することと、を含む。
【0009】
任意選択的に、前記第1マップレイヤデータは、マップ標識と、マップレイヤ標識と、データタイプと、データオフセット量と、データ長と、を含む。
【0010】
第2の面では、本願は、クラウドに応用されるマップデータ伝送方法を提供しており、前記方法は、
清掃ロボットが送信した、同じマップレイヤの第2マップレイヤデータに対して変化が生じている第1マップレイヤデータを受信することであって、前記第1マップレイヤデータは、前記清掃ロボットの現在の清掃位置に対応する第1マップデータに対してマップレイヤ抽出を行って得られたものであり、前記第2マップレイヤデータは、前記清掃ロボットの1つ前の清掃位置に対応する第2マップデータに対してマップレイヤ抽出を行って得られたものであり、前記第1マップデータ及び前記第2マップデータはいずれも少なくとも2つのマップレイヤに予め区分されている、ことと、
前記クラウドに第3マップデータが存在するか否か、かつ前記第3マップデータの中に前記第1マップレイヤデータに対応する第3マップレイヤデータが存在するか否かを確定することと、
前記クラウドに第3マップデータが存在し、かつ前記第3マップデータの中に前記第1マップレイヤデータに対応する第3マップレイヤデータが存在する場合、前記第3マップデータの中の前記第3マップレイヤデータを前記第1マップレイヤデータに更新することと、を含む。
【0011】
任意選択的に、前記クラウドの第3マップデータにおいて、前記クラウドに第3マップデータが存在するか否か、かつ前記第3マップデータの中に前記第1マップレイヤデータに対応する第3マップレイヤデータが存在するか否かを確定することが、
前記第1マップレイヤデータの中からマップ標識及びマップレイヤ標識を抽出することと、
前記クラウドに前記マップ標識に対応する第3マップデータが存在するか否かを確定することと、
前記クラウドに前記マップ標識に対応する第3マップデータが存在する場合、前記第3マップデータの中に前記マップレイヤ標識に対応する第3マップレイヤデータが存在するか否かを確定することと、
前記第3マップデータの中に前記マップレイヤ標識に対応する第3マップレイヤデータが存在する場合、前記クラウドに第3マップデータが存在し、かつ前記第3マップデータの中に前記第1マップレイヤデータに対応する第3マップレイヤデータが存在すると確定することと、を含む。
【0012】
任意選択的に、前記方法はさらに、
前記クラウドに第3マップデータが存在し、かつ前記第3マップデータの中に前記第1マップレイヤデータに対応する第3マップレイヤデータが存在しない場合、第1マップレイヤデータに対応する第3マップレイヤデータを作成することと、
前記第3マップデータの中の前記第3マップレイヤデータを第1マップレイヤデータに更新することと、を含む。
【0013】
任意選択的に、前記方法はさらに、
前記クラウドに第3マップデータが存在しない場合、前記第3マップデータを作成することと、
前記第3マップデータの中に前記第1マップレイヤデータに対応する第3マップレイヤデータを作成することと、を含む。
【0014】
前記第3マップデータの中の前記第3マップレイヤデータを前記第1マップレイヤデータに更新することと、を含む。
【0015】
任意選択的に、前記第3マップデータの中の前記第3マップレイヤデータを前記第1マップレイヤデータに更新することは、
前記第1マップレイヤデータの中からデータタイプ、データオフセット位置、データ長及びデータ内容を抽出することと、
前記データタイプが追加/挿入である場合、前記データ長のデータ内容を前記第3マップレイヤデータの前記データオフセット位置に追加/挿入することと、を含む。
【0016】
任意選択的に、前記クラウドに第3マップデータが存在し、かつ前記第3マップデータの中に前記第1マップレイヤデータに対応する第3マップレイヤデータが存在する場合、前記第3マップデータの中の前記第3マップレイヤデータを前記第1マップレイヤデータに更新することは、
前記第1マップレイヤデータの中からデータタイプ、データオフセット位置、データ長及びデータ内容を抽出することと、
前記データタイプが削除である場合、前記第3マップレイヤデータの中の少なくとも一部のデータを削除することと、
前記データタイプが挿入である場合、前記データオフセット位置のデータ内容を前記データ長の距離だけ移動させ、前記データ長のデータ内容を前記第3マップレイヤデータの中の前記データオフセット位置に挿入することと、
前記データタイプが追加である場合、前記データ長のデータ内容を前記第3マップレイヤデータの中の前記データオフセット位置に挿入することと、を含む。
【0017】
任意選択的に、同じ前記マップレイヤの前記第2マップレイヤデータに対して変化が生じている第1マップレイヤデータが画素レイヤの第1マップレイヤデータである場合、前記第3マップデータの中の前記第3マップレイヤデータを前記第1マップレイヤデータに更新することは、
前回受信した第1マップレイヤデータに対して復号化を行う第1復号化方式を取得することと、
前記第1復号化方式とは異なる第2復号化方式を取得することと、
前記第2復号化方式を利用して前記第1マップレイヤデータに対して復号化を行い、復号化された第1マップレイヤデータを得ることと、
前記復号化された第1マップレイヤデータに対して次元変換を行い、第1多次元マップデータを得ることと、
前記第1多次元マップデータを利用して前記第3マップレイヤデータに対して更新を行うことと、を含む。
【0018】
第3の面では、本願は、ユーザ端末に応用されるマップデータ伝送方法を提供しており、前記方法は、
クラウドが送信する第1マップレイヤデータを受信することであって、前記第1マップレイヤデータは前記クラウドが第2マップレイヤデータを前記第1マップレイヤデータに更新した後に送信されたものであり、前記第1マップレイヤデータは同じマップレイヤの第2マップレイヤデータに対して変化を生じており、前記第1マップレイヤデータは、前記清掃ロボットの現在の清掃位置に対応する第1マップデータに対してマップレイヤ抽出を行って得られたものであり、前記第2マップレイヤデータは、前記清掃ロボットの1つ前の清掃位置に対応する第2マップデータに対してマップレイヤ抽出を行って得られたものであり、前記第1マップデータ及び前記第2マップデータはいずれも少なくとも2つのマップレイヤに予め区分されている、ことと、
前記ユーザ端末に第4マップデータが存在するか否か、かつ前記第4マップデータの中に前記第1マップレイヤデータに対応する第4マップレイヤデータが存在するか否かを確定することと、
前記ユーザ端末に第4マップデータが存在し、かつ前記第4マップデータの中に前記第1マップレイヤデータに対応する第4マップレイヤデータが存在する場合、前記第4マップデータの中の前記第4マップレイヤデータを前記第1マップレイヤデータに更新することと、
更新後の前記第4マップデータに対してデータレンダリングを行うことと、を含む。
【0019】
第4の面では、本願は、プロセッサと、通信インターフェースと、メモリと、通信バスと、を含む清掃ロボットを提供しており、プロセッサ、通信インターフェース、メモリは通信バスによって相互間の通信を確立しており、
メモリは、コンピュータプログラムを格納するために用いられ、
プロセッサは、メモリに格納されたプログラムを実行する際に、第1の面のいずれかに記載のマップデータ伝送方法、第2の面のいずれかに記載のマップデータ伝送方法、または第3の面に記載のマップデータ伝送方法を実現するために用いられる。
【0020】
第5の面では、本願は、コンピュータ読取可能記憶媒体を提供しており、前記コンピュータ読取可能記憶媒体にはマップデータ伝送方法のプログラムが記憶されており、前記マップデータ伝送方法のプログラムがプロセッサによって実行されると、第1の面のいずれかに記載のマップデータ伝送方法、第2の面のいずれかに記載のマップデータ伝送方法、または第3の面に記載のマップデータ伝送方法のステップが実現される。
【0021】
本願の実施例で提供する前記の技術手法は、従来技術と比較して、以下のような長所を有している。
【0022】
本発明の実施例では、まず現在の清掃位置に対応する第1マップデータ及び1つ前の清掃位置に対応する第2マップデータを取得し、そのうち、第1マップデータ及び前記第2マップデータは少なくとも2つのマップレイヤに予め区分されており、その後、前記第1マップデータの中から各マップレイヤの第1マップレイヤデータを抽出し、前記第2マップデータの中から各前記マップレイヤの第2マップレイヤデータを抽出し、さらに同じ前記マップレイヤの前記第2マップレイヤデータに対して変化が生じている第1マップレイヤデータを取得し、最後に、変化が生じている前記第1マップレイヤデータをクラウドに送信することができる。本発明の実施例では、同じマップレイヤの第2マップレイヤデータに対して変化が生じている第1マップレイヤデータだけをクラウドに送信することで、すべてのマップデータを伝送することに比べて、マップデータの伝送量を減少させ、マップデータの伝送により占用する帯域幅資源を減少させて、マップデータの伝送遅延を回避することができる。
【0023】
また、本発明の実施例では、清掃ロボットが送信した、同じマップレイヤの第2マップレイヤデータに対して変化が生じている第1マップレイヤデータを受信した際に、第1マップレイヤデータを利用してクラウドの第3マップレイヤデータを更新することによって、マップデータの結合を実現し、また、クラウドでの完全なマップデータの保存を実現しており、すべてのマップデータを伝送することに比べて、マップデータの伝送量を減少させ、マップデータの伝送により占用する帯域幅資源を減少させて、マップデータの伝送遅延を回避することができる。
【0024】
また、本発明の実施例では、クラウドが送信した、同じマップレイヤの第2マップレイヤデータに対して変化が生じている第1マップレイヤデータを受信した際に、第1マップレイヤデータを利用してユーザ端末のローカルの第4マップレイヤデータを更新することによって、ユーザ端末におけるマップデータの結合を実現し、また、ユーザ端末において完全にレンダリングされたマップデータを実現することで、すべてのマップデータを伝送することに比べて、マップデータの伝送量を減少させ、マップデータの伝送により占用する帯域幅資源を減少させて、マップデータの伝送遅延を回避することができる。
【0025】
ここにある図面は明細書に組み込まれ、かつ本明細書の一部を構成しており、本発明の実施例に合致していることを示すとともに、明細書とともに本発明の原理を解釈するために用いられる。
【0026】
本発明の実施例または従来技術における技術手法をより明確に説明するために、以下では、実施例または従来技術の記述において使用する必要がある図面について簡単に紹介しているが、当業者にとって、創造的な労働性を伴わないという前提において、これらの図面に基づいて他の図面を得ることも可能であることは自明である。
【図面の簡単な説明】
【0027】
【
図1】
図1は、本願の実施例で提供しているマップデータ伝送方法のフローチャートである。
【
図2】
図2は、本願の実施例で提供している第1マップデータまたは第2マップデータの概略図である。
【
図3】
図3は、本願の実施例で提供している画素レイヤの概略図である。
【
図4】
図4は、本願の実施例で提供している軌跡レイヤの概略図である。
【
図5】
図5は、本願の実施例で提供している体勢レイヤの概略図である。
【
図6】
図6は、本願の実施例で提供しているルーム区分情報の概略図である。
【
図7】
図7は、本願の実施例で提供している禁止ゾーン情報の概略図である。
【
図8】
図8は、本願の実施例で提供しているバーチャルウォール情報の概略図である。
【
図9】
図9は、本願の実施例で提供しているルーム区分標識の概略図である。
【
図10】
図10は、本願の実施例で提供している1次元マップデータに対する分割の概略図である。
【
図11】
図11は、本願の実施例で提供しているもう1つのマップデータ伝送方法のフローチャートである。
【
図12】
図12は、本願の実施例で提供しているもう1つのマップデータ伝送方法のフローチャートである。
【
図13】
図13は、本願の実施例で提供している第1マップ、第2マップ、第3マップ、及び第4マップの間の関係概略図である。
【
図14】
図14は、本願の実施例で提供している清掃ロボットの構成図である。
【発明を実施するための形態】
【0028】
本願の実施例の目的、技術手法及び長所をより明確にするために、以下では、本願の実施例における図面と併せて、本願の実施例における技術手法について明確に、完全に記述するが、記述している実施例は本願の一部の実施例であって、すべての実施例ではないことは明らかである。本願の実施例に基づいて、当業者が創造的な労働を行わないことを前提に取得したその他のすべての実施例は、本願が保護する範囲に属する。
【0029】
関連技術においては、清掃ロボットがリアルタイムに変化するマップデータを伝送するには大量のネットワーク帯域幅を占用する必要があるが、ネットワーク帯域幅は限られているため、毎回完全なマップデータを伝送するには、大量のネットワーク帯域幅を消費することになるだけでなく、伝送の実効性もかなり低くなり、ユーザのニーズを満たすことができない。このため、本発明の実施例では、マップデータ伝送方法、清掃ロボット及び記憶媒体を提供している。
【0030】
図1に示すように、清掃ロボットに応用可能なマップデータ伝送方法は、以下のステップを含むことができる。
【0031】
ステップS101 現在の清掃位置に対応する第1マップデータ及び1つ前の清掃位置に対応する第2マップデータを取得する。
【0032】
本発明の実施例において、現在の清掃位置とは、現在の清掃時刻に清掃ロボットが所在する位置を指し、1つ前の清掃位置とは、1つ前の清掃時刻に清掃ロボットが所在した位置を指しており、現在の清掃時刻と1つ前の清掃時刻間との間の時間間隔は、実際の応用需要に基づいて、例えば1秒、3秒または10秒などに設定することができる。
【0033】
第1マップデータとは、清掃ロボットが現在の清掃位置で構築したマップデータを指し、第2マップデータとは、清掃ロボットが1つ前の清掃位置で構築したマップデータを指し、毎回、清掃ロボットが完全なマップデータを構築した後、後で使用しやすいよう、構築したマップデータを記憶レコードに記憶することができる。
図2に示すように、第1マップデータまたは第2マップデータの中の未知のユニットは走査されていない領域を表し、自由ユニットは自由に清掃可能な領域を表し、清掃ユニットは清掃済みの領域を表し、障害物は清掃できない領域を表している。
【0034】
第1マップデータ及び第2マップデータは、少なくとも2つのマップレイヤに予め区分されており、少なくとも2つのマップレイヤは、清掃マップのマップパラメータを含むパラメータレイヤと、上記清掃マップにおける各画素点の画素データを含む画素レイヤ(画素データは
図3の通り)と、清掃軌跡の軌跡データを含む軌跡レイヤ(清掃軌跡は
図4の通り)と、清掃体勢の体勢データを含む体勢レイヤ(体勢データは
図5の通り)と、清掃ルーム区分のルーム区分情報(ルーム区分は
図6の通り)と、清掃禁止ゾーンの禁止ゾーン情報(禁止ゾーンは
図7の通り)と、上記清掃マップにおけるマップバーチャルウォールのバーチャルウォール情報(マップバーチャルウォールは
図8の通り)と、上記清掃ルーム区分のルーム標識(ルーム標識は
図9の通り)と、の中の1つまたは複数を含む。各マップレイヤを数字で表すと、パラメータレイヤ:0、画素レイヤ:0~64、軌跡レイヤ:100、ルーム区分:101、禁止ゾーン:102、マップバーチャルウォール:103、体勢レイヤ:104、マップルーム名:105などとなる。
【0035】
各マップレイヤのマップレイヤデータには、いずれもデータヘッド及びマップレイヤデータが含まれており、データヘッドには、マップ標識、マップレイヤ標識、データタイプ、データオフセット量及びデータ長などの情報が含まれている。マップ標識は異なるマップデータを区別するために用いられ、各マップレイヤ標識は異なるマップレイヤデータを区別するために用いられ、データタイプは現在のデータが追加タイプ、削除タイプまたは挿入タイプなどであることを標識するために用いられている。例えば、削除タイプは現在のマップレイヤの一部またはすべてのデータを消去することを示すために用いられる。追加タイプはオフセット位置に基づいてデータを埋め込むことを示すために用いられており、データ長はデータ内容の長さであり、挿入タイプは、オフセット位置におけるデータをデータオフセット量の距離に基づいて移動させ、かつデータ移動後の空白位置に現在のデータを埋め込むことを示すために用いられている。データオフセット量はデータ記憶の位置であり、クラウドはデータオフセット量に基づいて記憶位置を選択することができる。
【0036】
第1マップレイヤデータ及び第2マップレイヤデータのデータヘッドにも、相応に、マップ標識、マップレイヤ標識、データタイプ、データオフセット量及びデータ長などの情報が含まれている。
【0037】
該ステップでは、清掃ロボットが現在の清掃位置に基づいてマップを構築し終わった後、第1マップデータを直接取得し、マップデータの記憶レコード内において1つ前の清掃位置に対応する第2マップデータを取得することができる。
【0038】
ステップS102 上記第1マップデータの中から各マップレイヤの第1マップレイヤデータを抽出し、上記第2マップデータの中から各上記マップレイヤの第2マップレイヤデータを抽出する。
【0039】
本発明の実施例では、第1マップデータ及び第2マップデータに対して少なくとも2つのマップレイヤが予め区分されているので、該ステップでは、第1マップデータの中から各マップレイヤに対応する第1マップマップレイヤデータを抽出し、第2マップデータの中から各マップレイヤに対応する第2マップマップレイヤデータを抽出することができる。
【0040】
ステップS103 同じ上記マップレイヤの上記第2マップレイヤデータに対して変化が生じている第1マップレイヤデータを取得する。
【0041】
該ステップでは、任意のマップレイヤに対して、該マップレイヤの第1マップレイヤデータを第2マップレイヤデータと比較し、第1マップレイヤデータが第2マップレイヤデータと異なる場合には、該第1マップレイヤデータに第2マップレイヤデータに対する変化が生じていると確定し、該第1マップレイヤデータを取得することができる。
【0042】
複数のマップレイヤの第1マップレイヤデータに、同じマップレイヤの第2マップレイヤデータに対して変化が生じている場合は、複数のマップレイヤの第1マップレイヤデータを取得することができる。
【0043】
ステップS104 変化が生じている上記第1マップレイヤデータをクラウドに送信する。
【0044】
本発明の実施例では、各マップレイヤデータのデータ特性に基づいて各マップレイヤデータのデータフォーマットを定義することができる。変化が少なくデータ量が少ないデータ、例えばパラメータレイヤ及び体勢レイヤなどでは全量を直接伝送することができ(つまり全データ伝送)、毎回変動するデータが前回変動したデータと無関係な場合、例えば軌跡レイヤでは、増量伝送の方式(つまり追加した内容のみ伝送)を用いることができ、変動するデータが前回変動したデータと関係する場合、例えば画素レイヤなどには、データ区分全量+差分伝送の方式を採用する(このような伝送方式の詳細は、以下の画素レイヤ伝送に対応する第1マップレイヤデータの実施例を参照されたい)。
【0045】
本発明の実施例では、まず現在の清掃位置に対応する第1マップデータ及び1つ前の清掃位置に対応する第2マップデータを取得する。そのうち、第1マップデータ及び上記第2マップデータは少なくとも2つのマップレイヤに予め区分されている。その後、上記第1マップデータの中から各マップレイヤの第1マップレイヤデータを抽出し、上記第2マップデータの中から各上記マップレイヤの第2マップレイヤデータを抽出し、さらに同じ上記マップレイヤの上記第2マップレイヤデータに対して変化が生じている第1マップレイヤデータを取得する。最後に、変化が生じている上記第1マップレイヤデータをクラウドに送信することができる。
【0046】
本発明の実施例では、同じマップレイヤの第2マップレイヤデータに対して変化が生じている第1マップレイヤデータだけをクラウドに送信することで、すべてのマップデータを伝送することに比べて、マップデータの伝送量を減少させ、マップデータの伝送により占用する帯域幅資源を減少させて、マップデータの伝送遅延を回避することができる。
【0047】
床掃きロボットの分野では、ロボットが自身のセンサを通してマップを構築しており、ロボットは清掃の過程において絶えずマップやマップ画素ユニットを更新している。マップ画素ユニットは、自由ゾーン、障害物ゾーン、未知ゾーン、清掃済みゾーンなどに分けられている。従来のマップ全体の更新方式の伝送では、1枚のマップデータをパッキングして伝送する必要があり、例えばマップの更新が頻繁すぎてマップ全体を頻繁に更新して伝送しなければならない場合は、マップデータ量が大きく、ロボットにかなり大きなネットワーク帯域幅が必要となり、伝送時間もそれに対応して長くなることになる。このため、本発明の別の実施例では、同じ上記マップレイヤの上記第2マップレイヤデータに対して変化が生じている第1マップレイヤデータが画素レイヤの第1マップレイヤデータである場合、完全なマップデータに対して固定サイズ分割を行い、固定サイズのブロックに分割して、マップの更新の際にはデータに変化のあるブロックのみを伝送しており、各ブロックのマップデータが小さくなることで、変化したデータに対して差分比較を行い、差分伝送を行っている。このようなマップ伝送は増量方式と類似しており、マップが変化した部分のみを伝送し、更新することで、マップデータの伝送を大幅に減少させている。
【0048】
具体的には、上記ステップS103で同じ上記マップレイヤの上記第2マップレイヤデータに対して変化が生じている第1マップレイヤデータを取得することは、以下を含む。
【0049】
ステップ201 上記第1マップデータの中から上記画素レイヤの多次元の第1マップレイヤデータを取得し、上記第2マップデータの中から同じ上記画素レイヤの多次元の第2マップレイヤデータを取得する。
【0050】
本発明の実施例では、画素レイヤのマップレイヤデータは完全なグリッドマップデータを含み、マップレイヤデータは2次元マップデータを含み、マップサイズはw*hであり、wはマップの幅、hはマップの高さである。
【0051】
ステップS102では、上記第1マップデータの中から各マップレイヤの第1マップレイヤデータを抽出し、上記第2マップデータの中から各上記マップレイヤの第2マップレイヤデータを抽出しているので、該ステップでは、画素レイヤの第1マップレイヤデータと第2マップレイヤデータを取得することができ、第1マップレイヤデータ及び第2マップレイヤデータはいずれも多次元である。
【0052】
ステップ202 上記多次元の第1マップレイヤデータを次元変換して1次元の第1マップレイヤデータを得、上記多次元の第2マップレイヤデータを次元変換して1次元の第2マップレイヤデータを得る。
【0053】
本発明の実施例では、マップレイヤデータを自由ゾーン、障害物ゾーン、未知ゾーン及び清掃済みゾーンなどに分けることができ、各画素ユニットは自由ゾーン、障害物ゾーン、未知ゾーンまたは清掃済みゾーンの中に位置することができる。
【0054】
P(x,y)=sが多次元のマップレイヤデータの中の画素ユニット、wがマップの幅、hがマップの高さ、xの範囲が0≦x<w、yの範囲が0≦y<h、マップのすべての画素のサイズがsize(P)=w*hであることを利用して、多次元のマップレイヤデータを1次元のマップレイヤデータに変換する。
【0055】
P(x,y)⇒R(i)
【0056】
そのうち、i=x*w+yであり、iは1次元のマップレイヤデータにおける最小単位を表し、複数の最小単位iが1次元のマップレイヤデータを構成している。
【0057】
ステップ203 上記1次元の第1マップレイヤデータを複数のデータブロックサイズの第1マップデータブロックに分割し、上記1次元の第2マップレイヤデータを複数のデータブロックサイズの第2マップデータブロックに分割する。
【0058】
本発明の実施例では、
図10に示すように、データブロックサイズを予めNと定義することができ、下記の式に基づいて1次元のマップレイヤデータをn個に分割することができ、nは以下の式により求めることができる。
【0059】
n=(size(P)+N)/N
【0060】
分割して得られた各マップデータブロックはB(b,k)で表すことができ、そのうち、bはマップデータブロック番号、kはマップデータブロックのサイズを表し、1次元のマップレイヤデータを複数のデータブロックサイズのマップデータブロックに分割する。
【0061】
R(i)⇒B(b,k)
【0062】
R(i)=B(i/N,i%N)
【0063】
bの値の範囲は0≦b<n、kの値の範囲は0≦k<(size(P)+N)%Nである。
【0064】
マップデータブロックのサイズは、8*8、16*16、32*32、64*64などの固定サイズとすることができ、ロボットのマッピングの最大解像度に基づいて決定され、マップが大きくない場合は、比較的小さいマップデータブロックサイズを使用することができる。
【0065】
ステップ204 同じデータブロックサイズの上記第2マップデータブロックに対して変化が生じている第1マップデータブロックを取得する。
【0066】
本発明の実施例では、画素レイヤのマップレイヤデータのうち、同じマップブロックサイズの第2マップデータブロックに対して変化が生じている第1マップデータブロックを取得し、該第1マップデータブロックを画素レイヤの第1マップレイヤデータとすることができる。本発明の実施例では、完全なマップデータに対して固定サイズ分割を行うことにより、固定サイズのブロックに分割し、マップを更新する際には、データに変化のあるブロックのみを伝送しており、各ブロックのマップデータが小さくなることで、変化したデータに対して差分比較を行い、差分伝送を行っている。このようなマップ伝送は増量方式に類似しており、マップが変化した部分のみを伝送し、更新することで、マップデータの伝送を大幅に減少させている。
【0067】
本発明のもう1つの実施例では、ステップS104において変化が生じている上記第1マップレイヤデータをクラウドに送信することは、以下を含む。
【0068】
ステップ301 前回、上記第1マップレイヤデータを送信した際に使用した第1符号化方式を取得する。
【0069】
本発明の実施例では、清掃ロボットは、クラウドに第1マップレイヤデータを送信する度に第1マップレイヤデータに対して使用した第1符号化方式を記録することができ、第1符号化方式は、全量データ符号化方式または差分データ符号化方式を指すことができる。
【0070】
該ステップにおいて、その回が第1マップレイヤデータをクラウドに送信する初回である場合は、全量データ符号化方式を第1符号化方式として確定することができ、その回が第1マップレイヤデータをクラウドに送信する初回でない場合は、前回第1マップレイヤデータを送信した際に使用した記録済みの第1符号化方式を取得することができる。
【0071】
ステップ302 上記第1符号化方式とは異なる第2符号化方式を取得する。
【0072】
本発明の実施例では、第1マップレイヤデータに対して符号化を行うための符号化方式を予めいくつか設定することができ、第1符号化方式とは異なる第2符号化方式を取得する必要がある場合には、若干の符号化方式の中から第1符号化方式以外の符号化方式を探し出し、該探し出した符号化方式を第2符号化方式として確定する。
【0073】
例示的に、全量データ符号化方式BP及び差分データ符号化方式DPを予め定義することができ、前回使用した第1符号化方式がBPであれば、第2符号化方式はDPとなり、前回使用した第1符号化方式がDPであれば、第2符号化方式はBPとなり、このようにして、BP+DP+BP+DPの伝送メカニズムを実現している。
【0074】
ステップ303 取得した上記第1マップレイヤデータに対して上記第2符号化方式を用いて符号化を行う。
【0075】
本発明の実施例では、以下のような方式で第1マップレイヤデータに対する符号化を行うことができる。
【0076】
データパッケージ方式:マップデータブロック番号b+メッセージタイプ+全量データ/差分データ。
【0077】
メッセージタイプは、フル/差分に分けられる。データ内容が全量データまたは差分データに対して第2符号化方式の符号化を行い、全量データであれば、セグメント圧縮方式を採用することができる。
【0078】
ステップ304 上記第2符号化方式によって符号化された後の第1マップレイヤデータを上記クラウドに送信する。
【0079】
本発明の実施例では、第1マップレイヤデータに対して第2符号化方式の符号化を行うことができる。該第2符号化方式は前回第1マップレイヤデータを送信した際に使用した第1符号化方式とは異なり、隣り合う2回で第1マップレイヤデータの送信に異なる符号化方式を採用しているので、隣り合う回で送信した第1マップレイヤデータを互いに参照しやすい。マップデータが変化した場合は、対応するマップデータブロック部分を更新して伝送するだけでよく、変化していないマップデータブロックは伝送しないので、2つの隣り合う変化分割ユニットのデータ変化が比較的小さく、対応する差分パケットのみを伝送するので、一括全量伝送が減少し、マップデータ伝送の流量が減少する。
【0080】
本発明のもう1つの実施例ではさらに、クラウドに応用されるマップデータ伝送方法が提供されており、
図11に示すように、上記方法は以下を含む。
【0081】
ステップS401 清掃ロボットが送信した第1マップレイヤデータを受信する。
【0082】
本発明の実施例では、上記第1マップレイヤデータは同じマップレイヤの第2マップレイヤデータに対して変化が生じており、上記第1マップレイヤデータは上記清掃ロボットの現在の清掃位置に対応する第1マップデータに対してマップレイヤ抽出を行って得られたものである。上記第2マップレイヤデータは、上記清掃ロボットの1つ前の清掃位置に対応する第2マップデータに対してマップレイヤ抽出を行って得られたものであり、上記第1マップデータ及び上記第2マップデータはいずれも少なくとも2つのマップレイヤに予め区分されている。
【0083】
ステップS402 上記クラウドに第3マップデータが存在するか否か、かつ上記第3マップデータの中に上記第1マップレイヤデータに対応する第3マップレイヤデータが存在するか否かを確定する。
【0084】
本発明の実施例では、第3マップレイヤデータは前回清掃ロボットから受信したマップデータであり、第3マップレイヤデータのデータ内容は第2マップレイヤデータと同じであってよい。
【0085】
ステップS403 上記クラウドに第3マップデータが存在し、かつ上記第3マップデータの中に上記第1マップレイヤデータに対応する第3マップレイヤデータが存在する場合、上記第3マップデータの中の上記第3マップレイヤデータを上記第1マップレイヤデータに更新する。
【0086】
第1マップレイヤデータを用いて第3マップデータの中の第3マップレイヤデータと入れ替える、即ち、もとの第3マップレイヤデータを削除し、第1マップレイヤデータを保留して、マップレイヤデータの更新を実現することができる。
【0087】
本発明の実施例では、清掃ロボットが送信した、同じマップレイヤの第2マップレイヤデータに対して変化が生じている第1マップレイヤデータを受信した際に、第1マップレイヤデータを利用してクラウドの第3マップレイヤデータを更新することによって、マップデータの結合を実現し、また、クラウドでの完全なマップデータの保存を実現しており、すべてのマップデータを伝送することに比べて、マップデータの伝送量を減少させ、マップデータの伝送により占用する帯域幅資源を減少させて、マップデータの伝送遅延を回避することができる。
【0088】
本発明のもう1つの実施例では、上記クラウドに第3マップデータが存在するか否か、かつ上記第3マップデータの中に上記第1マップレイヤデータに対応する第3マップレイヤデータが存在するか否かを確定することは、以下を含む。
【0089】
ステップ501 上記第1マップレイヤデータの中からマップ標識及びマップレイヤ標識を抽出する。
【0090】
上記クラウドにおいて上記マップ標識に対応する第3マップデータを探し出す。
【0091】
ステップ502 上記クラウドに上記マップ標識に対応する第3マップデータが存在するか否かを確定する。
【0092】
ステップ503 上記クラウドに上記マップ標識に対応する第3マップデータが存在する場合、上記第3マップデータの中に上記マップレイヤ標識に対応する第3マップレイヤデータが存在するか否かを確定する。
【0093】
ステップ504 上記第3マップデータの中に上記マップレイヤ標識に対応する第3マップレイヤデータが存在する場合、上記クラウドに第3マップデータが存在し、かつ上記第3マップデータの中に上記第1マップレイヤデータに対応する第3マップレイヤデータが存在すると確定する。
【0094】
第1マップレイヤデータの中にマップ標識及びマップレイヤ標識が携帯されているので、本発明の実施例では、マップ標識に基づいて、クラウドにおいて相応の第3マップデータを確定し、また第3マップデータにおいて相応の第3マップレイヤデータを確定することができるので、マップレイヤデータの更新を実現しやすくすることができる。
【0095】
本発明のもう1つの実施例では、上記クラウドの第3マップデータにおいて、上記第1マップレイヤデータに対応する第3マップレイヤデータを探し出すことは、以下を含む。
【0096】
ステップ601 上記クラウドに第3マップデータが存在し、かつ上記第3マップデータの中に上記第1マップレイヤデータに対応する第3マップレイヤデータが存在しない場合、第1マップレイヤデータに対応する第3マップレイヤデータを作成する。
【0097】
ステップ602 上記第3マップデータの中の上記第3マップレイヤデータを上記第1マップレイヤデータに更新する。
【0098】
本発明の実施例では、クラウドにマップレイヤ標識に対応する第3マップレイヤデータが存在しない場合、第1マップレイヤデータに対応する第3マップレイヤデータを作成しており、こうすることで、クラウドにおいて第1マップレイヤデータに対応する第3マップレイヤデータが存在することになり、マップレイヤデータの更新を実現しやすくすることができる。
【0099】
本発明のもう1つの実施例では、上記クラウドの第3マップデータにおいて、上記第1マップレイヤデータに対応する第3マップレイヤデータを探し出すことは、以下を含む。
【0100】
ステップ701 上記クラウドに第3マップデータが存在しない場合、上記第3マップデータを作成する。
【0101】
ステップ702 上記第3マップデータにおいて上記第1マップレイヤデータに対応する第3マップレイヤデータを作成する。
【0102】
ステップ703 上記第3マップデータの中の上記第3マップレイヤデータを上記第1マップレイヤデータに更新する。
【0103】
本発明の実施例では、クラウドにマップ標識に対応する第3マップデータが存在しない場合、マップ標識に対応する第3マップデータ及び第1マップレイヤデータに対応する第3マップレイヤデータを作成しており、こうすることで、クラウドにおいてマップ標識に対応するマップデータ及び第1マップレイヤデータに対応する第3マップレイヤデータが存在することになり、マップレイヤデータの更新を実現しやすくすることができる。
【0104】
本発明のもう1つの実施例では、上記クラウドに第3マップデータが存在し、かつ上記第3マップデータの中に上記第1マップレイヤデータに対応する第3マップレイヤデータが存在しない場合、または、上記クラウドに第3マップデータが存在しない場合、上記第3マップデータの中の上記第3マップレイヤデータを上記第1マップレイヤデータに更新することは、以下を含む。
【0105】
ステップ801 上記第1マップレイヤデータの中からデータタイプ、データオフセット位置、データ長及びデータ内容を抽出する。
【0106】
ステップ802 上記データタイプが追加/挿入である場合、上記データ長のデータ内容を上記第3マップレイヤデータの上記データオフセット位置に追加/挿入する。
【0107】
本発明の実施例では、追加とは第3マップレイヤデータの末尾(即ちデータオフセット位置)にデータ内容を追加することを指し、挿入とはデータの適当な位置に基づいて第3マップレイヤデータの中間にデータ内容を挿入することを指す。
【0108】
第1マップレイヤデータの中にはデータタイプ、データオフセット位置、データ長及びデータ内容が携帯されているので、上記クラウドに第3マップデータが存在し、かつ上記第3マップデータの中に上記第1マップレイヤデータに対応する第3マップレイヤデータが存在しない場合、または、上記クラウドに第3マップデータが存在しない場合、第1マップレイヤデータを利用して第3マップレイヤデータを更新する際には、直接、第1マップレイヤデータに基づいて、作成したマップレイヤデータの相応の内容を更新し、クラウドがマップデータの結合を実現することを実現し、またクラウドにおいて完全なマップデータを保存することを実現することができる。本発明の実施例では、変化が生じている第1マップレイヤデータだけを伝送しているので、すべてのマップデータを伝送することに比べて、マップデータの伝送量を減少させ、マップデータの伝送で占用する帯域幅資源を減少させて、マップデータの伝送遅延を回避することができる。
【0109】
本発明のもう1つの実施例では、上記クラウドに第3マップデータが存在し、かつ上記第3マップデータの中に上記第1マップレイヤデータに対応する第3マップレイヤデータが存在する場合、上記第3マップデータの中の上記第3マップレイヤデータを上記第1マップレイヤデータに更新することは、以下を含む。
【0110】
ステップ901 上記第1マップレイヤデータの中からデータタイプ、データオフセット位置、データ長及びデータ内容を抽出する。
【0111】
ステップ902 上記データタイプが削除である場合、上記第3マップレイヤデータの少なくとも一部のデータを削除するステップであって、例示的には、削除する第3マップレイヤデータは、部分データであってもよいし、すべてのデータであってもよい。
【0112】
本実施例では、上記データタイプが挿入である場合、上記データオフセット位置のデータ内容を上記データ長の距離だけ移動させ、上記データ長のデータ内容を上記第3マップレイヤデータの中の上記データオフセット位置に挿入する。
【0113】
上記データタイプが追加である場合は、上記データ長のデータ内容を上記第3マップレイヤデータの中の上記データオフセット位置に挿入する。
【0114】
本発明の実施例では、削除とは第3マップレイヤデータ内のすべての内容を削除することを指し、追加とは第3マップレイヤデータの末尾(データオフセット位置に相当)にデータ内容を追加することを指し、挿入とはデータオフセット位置に基づいて第3マップレイヤデータの中間にデータ内容を挿入することを指す。
【0115】
第1マップレイヤデータにはデータタイプ、データオフセット位置、データ長及びデータ内容が携帯されており、クラウドには第3マップレイヤデータがもともと存在しているので、第1マップレイヤデータを利用して第3マップレイヤデータを更新する場合は、直接、第1マップレイヤデータに基づいて、クラウドの第3マップレイヤデータ内の相応の内容を更新し、クラウドがマップデータの結合を実現することを実現し、またクラウドにおいて完全なマップデータを保存することを実現することができる。本発明の実施例では、変化が生じている第1マップレイヤデータだけを伝送しているので、すべてのマップデータを伝送することに比べて、マップデータの伝送量を減少させ、マップデータの伝送で占用する帯域幅資源を減少させて、マップデータの伝送遅延を回避することができる。
【0116】
本発明のもう1つの実施例では、上記第3マップデータの中の上記第3マップレイヤデータを上記第1マップレイヤデータに更新することは、以下を含む。
【0117】
ステップ1001 前回受信した第1マップレイヤデータに対して復号化を行う第1復号化方式を取得する。
【0118】
ステップ1002 上記第1符号化方式とは異なる第2符号化方式を取得する。
【0119】
ステップ1003 上記第2復号化方式を利用して上記第1マップレイヤデータに対して復号化を行い、復号化された第1マップレイヤデータを得る。
【0120】
ステップ1004 上記復号化された第1マップレイヤデータに対して次元変換を行い、第1多次元マップデータを得る。
【0121】
ステップ1005 上記第1多次元マップデータを利用して上記第3マップレイヤデータに対して更新を行う。
【0122】
本発明の実施例では、第1マップレイヤデータに対して第2復号化方式の復号化を行うことができる。該第2復号化方式は前回の第1マップレイヤデータの復号化に使用した第1復号化方式とは異なり、隣り合う2回で第1マップレイヤデータの送信に異なる復号化方式を採用しているので、隣り合う回で送信した第1マップレイヤデータを互いに参照しやすい。マップデータが変化した場合は、対応するマップデータブロック部分を更新して伝送するだけでよく、変化していないマップデータブロックは伝送しないので、2つの隣り合う変化区分ユニットのデータ変化が比較的小さく、対応する差分パケットのみを伝送するので、一括全量伝送が減少し、マップデータ伝送の流量が減少する。
【0123】
本発明のもう1つの実施例では、さらに、ユーザ端末に応用されるマップデータ伝送方法が提供されており、
図12に示すように、上記方法は以下を含む。
【0124】
ステップ1101 クラウドが送信した第1マップレイヤデータを受信する。
【0125】
本発明の実施例では、上記第1マップレイヤデータは上記クラウドが第2マップレイヤデータを上記第1マップレイヤデータに更新した後に送信したものである。上記第1マップレイヤデータは同じマップレイヤの第2マップレイヤデータに対して変化を生じており、上記第1マップレイヤデータは、上記清掃ロボットの現在の清掃位置に対応する第1マップデータに対してマップレイヤ抽出を行って得られたものであり、上記第2マップレイヤデータは、上記清掃ロボットの1つ前の清掃位置に対応する第2マップデータに対してマップレイヤ抽出を行って得られたものであり、上記第1マップデータ及び上記第2マップデータはいずれも少なくとも2つのマップレイヤに予め区分されている。
【0126】
ステップ1102 上記ユーザ端末に第4マップデータが存在するか否か、かつ上記第4マップデータの中に上記第1マップレイヤデータに対応する第4マップレイヤデータが存在するか否かを確定する。
【0127】
ステップ1103 上記ユーザ端末に第4マップデータが存在し、かつ上記第4マップデータの中に上記第1マップレイヤデータに対応する第4マップレイヤデータが存在する場合、上記第4マップデータの中の上記第4マップレイヤデータを上記第1マップレイヤデータに更新する。
【0128】
ステップ1104 更新後の上記第4マップデータに対してデータレンダリングを行う。
【0129】
本発明の実施例では、クラウドが送信した、同じマップレイヤの第2マップレイヤデータに対して変化が生じている第1マップレイヤデータを受信した際に、第1マップレイヤデータを利用してユーザ端末のローカルの第4マップレイヤデータを更新することによって、ユーザ端末におけるマップデータの結合を実現し、また、ユーザ端末において完全にレンダリングされたマップデータを実現することで、すべてのマップデータを伝送することに比べて、マップデータの伝送量を減少させ、マップデータの伝送により占用する帯域幅資源を減少させて、マップデータの伝送遅延を回避することができる。
【0130】
以上の実施例に基づき、理解しやすいように、
図13には、実際の応用における第1マップ、第2マップ、第3マップ及び第4マップの間の関係概略図を示している。清掃ロボットは、1つ前の清掃位置において第2マップデータを構築し、現在の清掃位置において第1マップデータを構築し、第1マップデータに第2マップデータに対する変化が生じると、第2マップデータに対して変化の生じた第1マップデータのマップレイヤデータをクラウドに送信する。クラウドにはもともと第3マップデータが記憶されており、変化の生じたマップレイヤデータを受信すると、該変化の生じたマップレイヤデータを利用して第3マップデータに対する更新を行い、その後、クラウドが変化の生じたマップレイヤデータをユーザ端末に送信する。ユーザ端末にはもともと第4マップデータが記憶されており、変化の生じたマップレイヤデータを受信すると、該変化の生じたマップレイヤデータを利用して第4マップデータに対する更新を行い、最後にユーザ端末が更新後の第4マップデータに対してレンダリング表示を行うことができる。
【0131】
本発明のもう1つの実施例では、さらに、プロセッサと、通信インターフェースと、メモリと、通信バスと、を含む清掃ロボットを提供しており、そのうち、プロセッサ、通信インターフェース、メモリは通信バスによって相互間の通信を確立しており、
メモリは、コンピュータプログラムを格納するために用いられ、
プロセッサは、メモリに格納されたプログラムを実行する際に、清掃ロボットに応用されるいずれかの方法実施例に記載のマップデータ伝送方法、クラウドに応用されるいずれかの方法実施例に記載のマップデータ伝送方法、またはユーザ端末に応用される方法実施例に記載のマップデータ伝送方法を実現するために用いられる。
【0132】
本発明の実施例で提供する清掃ロボットは、床掃きロボットであっても、床拭きロボットであっても、また掃き拭き一体型ロボットであってもよく、ここでは1つに限定していない。プロセッサは、まず現在の清掃位置に対応する第1マップデータ及び1つ前の清掃位置に対応する第2マップデータを取得し、そのうち、第1マップデータ及び上記第2マップデータは少なくとも2つのマップレイヤに予め区分されている。その後、上記第1マップデータの中から各マップレイヤの第1マップレイヤデータを抽出し、上記第2マップデータの中から各上記マップレイヤの第2マップレイヤデータを抽出し、さらに同じ上記マップレイヤの上記第2マップレイヤデータに対して変化が生じている第1マップレイヤデータを取得し、最後に、変化が生じている上記第1マップレイヤデータをクラウドに送信することができる。本発明の実施例では、同じマップレイヤの第2マップレイヤデータに対して変化が生じている第1マップレイヤデータだけをクラウドに送信することで、すべてのマップデータを伝送することに比べて、マップデータの伝送量を減少させ、マップデータの伝送により占用する帯域幅資源を減少させて、マップデータの伝送遅延を回避することができる。
【0133】
または、本発明の実施例では、清掃ロボットが送信した、同じマップレイヤの第2マップレイヤデータに対して変化が生じている第1マップレイヤデータを受信した際に、第1マップレイヤデータを利用してクラウドの第3マップレイヤデータを更新することによって、マップデータの結合を実現し、また、クラウドでの完全なマップデータの保存を実現しており、すべてのマップデータを伝送することに比べて、マップデータの伝送量を減少させ、マップデータの伝送により占用する帯域幅資源を減少させて、マップデータの伝送遅延を回避することができる。
【0134】
または、本発明の実施例では、クラウドが送信した同じマップレイヤの第2マップレイヤデータに対して変化が生じている第1マップレイヤデータを受信した際に、第1マップレイヤデータを利用してユーザ端末のローカルの第4マップレイヤデータを更新することによって、ユーザ端末におけるマップデータの結合を実現し、また、ユーザ端末において完全にレンダリングされたマップデータを実現することで、すべてのマップデータを伝送することに比べて、マップデータの伝送量を減少させ、マップデータの伝送により占用する帯域幅資源を減少させて、マップデータの伝送遅延を回避することができる。
【0135】
上記の清掃ロボットで言及している通信バス1140は、ペリフェラル・コンポーネント・インターコネクト(Peripheral Component Interconnect、略称PCI)バスであってもよいし、またはエクステンディッド・インダストリ・スタンダード・アーキテクチャ(Extended Industry Standard Architecture、略称EISA)バスなどであってもよい。該通信バス1140は、アドレスバス、データバス、コントロールバスなどに分けることができる。表示しやすいように、
図14では1本の太線のみで表しているが、1本のバスまたは1種類のバスしかないことを表しているわけではない。
【0136】
通信インターフェース1120は、上記の清掃ロボットと他の設備との間の通信に用いられる。
【0137】
メモリ1130は、ランダムアクセスメモリ(Random Access Memory、略称RAM)を含むことができ、また例えば少なくとも1つのディスクメモリのような不揮発性メモリ(non-volatile memory)を含むこともできる。任意選択的に、メモリは、上記プロセッサから離れた所に位置する少なくとも1つの記憶装置であってもよい。
【0138】
上記のプロセッサ1110は、中央処理装置(Central Processing Unit、略称CPU)、ネットワークプロセッサ(Network Processor、略称NP)などを含む汎用プロセッサであってよく、またデジタル信号プロセッサ(Digital Signal Processing、略称DSP)、特定用途向け集積回路(Application Specific Integrated Circuit、略称ASIC)、フィールドプログラマブルゲートアレイ(Field-Programmable Gate Array、略称FPGA)またはその他のプログラマブルロジックデバイス、個別ゲートまたはトランジスタロジックデバイス、個別ハードウェアアセンブリであってもよい。
【0139】
本発明のもう1つの実施例では、さらに、マップデータ伝送方法のプログラムが記憶されたコンピュータ読取可能記憶媒体を提供しており、上記マップデータ伝送方法のプログラムがプロセッサによって実行されると、清掃ロボットに応用されるいずれかの方法実施例に記載のマップデータ伝送方法、クラウドに応用されるいずれかの方法実施例に記載のマップデータ伝送方法、またはユーザ端末に応用される方法実施例に記載のマップデータ伝送方法のステップが実現される。
【0140】
説明しておかなければならないが、本文中では、「第1」及び「第2」などの関係用語は、1つの実体または操作ともう1つの実体または操作とを区別するために用いられているにすぎず、これらの実体または操作の間に何らかの実質的な関係や順序が存在することを必ずしも要求または暗示しているわけではない。また、用語の「包括」、「包含」またはその他の任意の変形は、非排他的な包含をカバーすることを意味しており、それにより、一連の要素のプロセス、方法、物品または設備を含むことが、それらの要素を含むだけでなく、明確に列記されていないその他の要素も含んだり、または、そのようなプロセス、方法、物品または設備に固有の要素を含んだりすることもある。より多くの制限がない情況においては、語句の「1つの....を含む」により限定される要素は、上記の要素を含むプロセス、方法、物品または設備の中に別の同じ要素が存在することを排除するものではない。
【0141】
上で述べているのは、当業者に本発明を理解または実現させることができるための、本発明の具体的な実施形態にすぎない。これらの実施例に対する様々な修正は、当業者にとって自明であり、本文中で定義している一般的な原理は、本発明の主旨または範囲から逸脱しない情況で、その他の実施例において実施することができる。したがって、本発明は、本文に示されているこれらの実施例によって限定されるものではなく、本文で請求している原理及び新規の特徴と一致する最も広い範囲に合致していなければならない。
【符号の説明】
【0142】
1110 プロセッサ
1120 通信インターフェース
1130 メモリ
1140 通信バス