(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-02-20
(45)【発行日】2025-03-03
(54)【発明の名称】飛行ロボット
(51)【国際特許分類】
B64U 60/20 20230101AFI20250221BHJP
B64U 10/14 20230101ALI20250221BHJP
B64U 60/55 20230101ALI20250221BHJP
【FI】
B64U60/20
B64U10/14
B64U60/55
(21)【出願番号】P 2022546225
(86)(22)【出願日】2021-08-19
(86)【国際出願番号】 JP2021030429
(87)【国際公開番号】W WO2022050070
(87)【国際公開日】2022-03-10
【審査請求日】2023-12-26
(32)【優先日】2020-09-03
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390029805
【氏名又は名称】THK株式会社
(74)【代理人】
【識別番号】110002860
【氏名又は名称】弁理士法人秀和特許事務所
(72)【発明者】
【氏名】星出 薫
(72)【発明者】
【氏名】渋谷 雅樹
(72)【発明者】
【氏名】川▲崎▼ 純
(72)【発明者】
【氏名】古川 知成
(72)【発明者】
【氏名】アブヅル,ダイエム,アブダラ
【審査官】近藤 利充
(56)【参考文献】
【文献】中国特許出願公開第110834722(CN,A)
【文献】米国特許出願公開第2019/0127052(US,A1)
【文献】韓国登録特許第10-2077969(KR,B1)
【文献】特表2018-510805(JP,A)
【文献】米国特許出願公開第2017/0355453(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B64U 60/20
B64U 10/14
B64U 60/55
(57)【特許請求の範囲】
【請求項1】
本体部と、
回転翼の駆動により推進力を発生させる推進ユニットを複数有し、該複数の推進ユニットは前記本体部に設けられている推進部と、
前記本体部を支持する複数の脚部であって、該複数の脚部のそれぞれは少なくとも一つの関節を有し各脚部の姿勢を変形可能に構成される、複数の脚部と、
飛行状態から着陸面に着陸するときに前記複数の脚部を制御する制御部と、
を備え、
前記複数の脚部の夫々は、第一リンク部と、前記第一リンク部よりも前記本体部側に設けられる第二リンク部とを備え、
前記関節は、前記第一リンク部と前記第二リンク部とを回転可能に接続する第一関節と、前記第二リンク部と前記本体部とを回転可能に接続する第二関節とを備え、
前記制御部は、
前記複数の脚部のうち少なくとも1つの脚部が前記着陸面に接触してから該着陸面への着陸が完了するまでに、該少なくとも1つの脚部の前記第一関節及び前記第二関節の角度を制御し前記本体部の傾きを調整
し、
前記飛行状態から前記着陸面に着陸するために前記推進部により前記本体部を下降させる過程において、前記複数の脚部のうち該着陸面に最初に接触した脚部を第一脚部と認識する第一処理と、
前記第一処理の後に、前記第一脚部と前記着陸面との接触を維持して該第一脚部の前記関節を動かしながら、更に前記本体部を下降させて他の前記脚部を該着陸面に接触させる第二処理と、
を実行し、
前記第二処理における前記本体部の下降速度を、前記第二処理の実行開始前の前記本体部の下降速度よりも低くする、
飛行ロボット。
【請求項2】
本体部と、
回転翼の駆動により推進力を発生させる推進ユニットを複数有し、該複数の推進ユニットは前記本体部に設けられている推進部と、
前記本体部を支持する複数の脚部であって、該複数の脚部のそれぞれは少なくとも一つ
の関節を有し各脚部の姿勢を変形可能に構成される、複数の脚部と、
飛行状態から着陸面に着陸するときに前記複数の脚部を制御する制御部と、
を備え、
前記複数の脚部の夫々は、第一リンク部と、前記第一リンク部よりも前記本体部側に設けられる第二リンク部とを備え、
前記関節は、前記第一リンク部と前記第二リンク部とを回転可能に接続する第一関節と、前記第二リンク部と前記本体部とを回転可能に接続する第二関節とを備え、
前記制御部は、
前記複数の脚部のうち少なくとも1つの脚部が前記着陸面に接触してから該着陸面への着陸が完了するまでに、該少なくとも1つの脚部の前記第一関節及び前記第二関節の角度を制御し前記本体部の傾きを調整し、
前記飛行状態から前記着陸面に着陸するために前記推進部により前記本体部を下降させる過程において、前記複数の脚部のうち該着陸面に最初に接触した脚部を第一脚部と認識する第一処理と、
前記第一処理の後に、前記第一脚部と前記着陸面との接触を維持して該第一脚部の前記関節を動かしながら、更に前記本体部を下降させて他の前記脚部を該着陸面に接触させる第二処理と、
を実行し、
前記第二処理が行われている間の前記第一脚部における前記関節の角度に基づいて、前記他の脚部の前記着陸面への接触のための前記本体部の下降の継続可否を判断する第三処理を実行する、
飛行ロボット。
【請求項3】
前記第三処理において前記本体部の下降を継続できないと判断された場合、前記制御部は、前記第一脚部が前記着陸面に接触した状態を維持しつつ、前記第一脚部における前記関節の角度を、前記第一脚部が前記着陸面に最初に接触した第1接触時の状態に戻しながら、前記推進部が、前記本体部を該第1接触時の位置まで上昇させる、
請求項
2に記載の飛行ロボット。
【請求項4】
前記制御部は、
前記第二処理において、前記着陸面に接触した前記他の脚部と前記着陸面との接触を維持して、前記他の脚部の前記関節を動かしながら、前記本体部を下降させる、
請求項
1から3の何れか1項に記載の飛行ロボット。
【請求項5】
前記制御部により前記第二処理が行われている間、前記推進部は、前記本体部が水平状態に維持されるように前記複数の推進ユニットを駆動する、
請求項1から4の何れか1項に記載の飛行ロボット。
【請求項6】
前記複数の脚部のそれぞれ先端には、各脚部が前記着陸面に接触したときの圧力を検知可能な圧力センサが設けられ、
前記制御部は、前記第一処理では、前記第一脚部の設けられた前記圧力センサからの接触に関する出力の有無に基づいて、該第一脚部の認識を行い、
前記制御部は、更に、前記複数の脚部のそれぞれに設けられた前記圧力センサのそれぞれの出力値が、所定の相関状態になっているときに、前記飛行ロボットの前記着陸面への着陸が完了したとの判定をする第四処理を実行する、
請求項
1から5の何れか1項に記載の飛行ロボット。
【請求項7】
本体部と、
回転翼の駆動により推進力を発生させる推進ユニットを複数有し、該複数の推進ユニットは前記本体部に設けられている推進部と、
前記本体部を支持する複数の脚部であって、該複数の脚部のそれぞれは少なくとも一つの関節を有し各脚部の姿勢を変形可能に構成される、複数の脚部と、
飛行状態から着陸面に着陸するときに前記複数の脚部を制御する制御部と、
前記本体部の傾きを検知する検知部と、
を備え、
前記複数の脚部の夫々は、第一リンク部と、前記第一リンク部よりも前記本体部側に設けられる第二リンク部とを備え、
前記関節は、前記第一リンク部と前記第二リンク部とを回転可能に接続する第一関節と、前記第二リンク部と前記本体部とを回転可能に接続する第二関節とを備え、
前記制御部は、
前記複数の脚部のうち少なくとも1つの脚部が前記着陸面に接触してから該着陸面への着陸が完了するまでに、該少なくとも1つの脚部の前記第一関節及び前記第二関節の角度を制御し前記本体部の傾きを調整し、
前記複数の脚部が所定の姿勢となっている状態で前記飛行状態から前記着陸面に接触したときに、前記検知部により前記本体部の水平状態からの傾きを検知すると、前記少なくとも1つの脚部を制御して該本体部を水平状態に近付け、
前記脚部における前記関節の角度に基づいて、前記本体部の下降の継続可否を判断する、
飛行ロボット。
【請求項8】
前記制御部は、
前記着陸面に接触した前記脚部と前記着陸面との接触を維持して、前記脚部の前記関節を動かしながら、前記本体部を下降させる、
請求項
7に記載の飛行ロボット。
【請求項9】
前記制御部が前記本体部の下降を継続できないと判断した場合、前記制御部は、前記複数の脚部のうち前記着陸面に最初に接触した脚部である第一脚部が前記着陸面に接触した状態を維持しつつ、前記第一脚部における前記関節の角度を、前記第一脚部が前記着陸面に最初に接触した第1接触時の状態に戻しながら、前記推進部が、前記本体部を該第1接触時の位置まで上昇させる、
請求項
7または8に記載の飛行ロボット。
【請求項10】
前記複数の脚部は、前記着陸面への着陸が完了した後に前記飛行ロボットを歩行させる複数の脚部を兼ねる、
請求項1から
9の何れか1項に記載の飛行ロボット。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、飛行ロボットに関する。
【背景技術】
【0002】
近年では、無人飛行体が様々な用途に利用され、その開発が盛んに行われている。無人飛行体としては、無線操縦される無人ヘリコプタや、いわゆるドローンが利用されている。ここで、ヘリコプタを傾斜地に着陸させる際に、着陸支持体の長さを調整することにより、ヘリコプタを水平に支持する技術が知られている(例えば、特許文献1参照。)。また、飛行体の本体部に独立変位可能に着陸脚を接続し、不整地への着陸時に本体部を水平に支持する技術が知られている(例えば、特許文献2参照。)。
【先行技術文献】
【特許文献】
【0003】
【文献】特表2015-530318号公報
【文献】特開2019-206333号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来では、傾斜した平面に着陸することを想定しているが、凹凸がある場所に着陸することは想定されていない。そのため、従来の飛行体では、凹凸がある場所に着陸する際にバランスを崩す虞がある。
【0005】
本発明は、上記したような種々の実情を鑑みてなされたものであり、その目的は、より安定した着陸を可能とすることにある。
【課題を解決するための手段】
【0006】
本発明の態様の一つは、本体部と、回転翼の駆動により推進力を発生させる推進ユニットを複数有し、該複数の推進ユニットは前記本体部に設けられている推進部と、前記本体部を支持する複数の脚部であって、該複数の脚部のそれぞれは少なくとも一つの関節を有し各脚部の姿勢を変形可能に構成される、複数の脚部と、飛行状態から着陸面に着陸するときに前記複数の脚部を制御する制御部と、を備え、前記制御部は、前記複数の脚部のうち少なくとも1つの脚部が前記着陸面に接触してから該着陸面への着陸が完了するまでに、該少なくとも1つの脚部の一部又は全部を制御し前記本体部の傾きを調整する、飛行ロボットである。
【発明の効果】
【0007】
本発明によれば、より安定した着陸が可能となる。
【図面の簡単な説明】
【0008】
【
図1】実施形態に係る飛行ロボットの概略構成の一例を示す図である。
【
図2】実施形態に係る本体部に含まれる各機能部を示すブロック図の一例である。
【
図3】実施形態に係る飛行ロボットの着陸時の脚部の状態を示した図である。
【
図4】実施形態に係る飛行ロボットが上昇したときの飛行ロボットと障害物との関係の一例を示した図である。
【
図5】第1実施形態に係る着陸制御のフローチャートの一例である。
【
図6】第1実施形態の変形例に係る飛行ロボットの着陸時の脚部の状態を示した図である。
【
図7】第2実施形態に係る着陸制御のフローチャートの一例である。
【発明を実施するための形態】
【0009】
本発明の態様の一つである飛行ロボットは、本体部と、推進部と、脚部と、制御部とを備える。推進部は、推進ユニットを複数有する。複数の推進ユニットは、例えば、個別に回転翼の回転数を変化させることで、推進力を個別に変化させることができ、これにより、飛行ロボットの姿勢を変化させることができる。例えば、複数の推進ユニットの推進力に差を与えることにより、飛行ロボットを傾かせて、所望の方向に移動させたり、姿勢制御を行ったりすることができる。また、複数の推進ユニットの推進力を同時に変化させることにより、垂直方向に移動することができる。
【0010】
複数の脚部の先端部は、飛行ロボットの着陸時に着陸面に接触する部位である。ここで、不整地に着陸する場合には、複数の脚部の全てが同時に着陸面に接触するとは限らない。そして、例えば、着陸面に凹凸があって、一つの脚部が最初に着陸面に接触すると、この接触部を中心に飛行ロボットが傾く虞がある。すなわち、一つの脚部が着陸面に接触すると、その脚部が着陸面からの反力を受けることにより、飛行ロボットが傾いてしまう。これに対し、本開示における脚部は、少なくとも一つの関節を有している。ここで、脚部が着陸面に接して脚部に力が加わったときに、その脚部の関節を動かすことにより、脚部の先端部と基端部との垂直方向の距離を変化させることができる。これにより、着陸面から受ける反力を低減することができる。そし前記複数の脚部のうち少なくとも1つの脚部が着陸面に接触してから該着陸面への着陸が完了するまでに、該少なくとも1つの脚部の一部又は全部を制御し本体部の傾きを調整することで、着陸時に姿勢を崩すことを抑制できる。なお、着陸が完了するとは、例えば、推進部の推進力を停止させることが可能な状態になっていることをいう。着陸が完了するまでは、飛行状態であるとしてもよい。なお、複数の脚部は、例えば、飛行ロボットの着陸後に当該飛行ロボットが歩行可能なように構成されていてもよい。すなわち、複数の脚部は、着陸するときの脚としての機能と、着陸した後に歩行するときの脚としての機能とを有していてもよい。このように、着陸するときの脚と、着陸した後に歩行するときの脚とを兼用することができる。ただし、複数の脚部において、歩行する機能は必須ではない。
【0011】
また、前記制御部は、前記飛行状態から前記着陸面に着陸するために前記推進部により前記本体部を下降させる過程において、前記複数の脚部のうち該着陸面に最初に接触した脚部を第一脚部と認識する第一処理と、前記第一処理後に、前記第一脚部と前記着陸面との接触を維持して該第一脚部の前記関節を動かしながら、更に前記本体部を下降させて他の前記脚部を該着陸面に接触させる第二処理と、を実行してもよい。
【0012】
本体部の下降は、第一脚部が着陸面に接触した後も続く。したがって、本体部を下降させる過程には、脚部が着陸面に接触した後に本体部が下降しているときも含んでいる。第一処理では、着陸面に最初に接触した脚部を第一脚部と認識する。各脚部が着陸面に接触したか否かは、例えば、各脚部の先端部に圧力センサを備えておき、この圧力センサの出力値の変化に基づいて判定可能である。また、別法として、例えば、各脚部の関節に加わる力を検出してもよい。この検出には、関節に備わるアクチュエータに流れる電流の変化を利用してもよい。さらに、別法として、例えば、本体部の傾きに応じて、第一脚部を認識してもよい。例えば、本体部が傾いたときに、基端部が最も上側に位置する脚部を第一脚部と認識してもよい。
【0013】
第二処理では、第一脚部の関節を動かしながら、更に本体部を下降させる。第一脚部の関節を動かすことにより、本体部を更に下降させても、着陸面からの反力を低減させることができるため、本体部が傾くことを抑制できる。そして、本体部を更に下降させることにより、第一脚部以外の他の脚部が着陸面に接触し得る。このように第二処理により、本体部が傾くことを抑制しつつ、第一脚部以外の他の脚部を着陸面に接触させることができる。
【0014】
また、前記制御部は、前記第二処理において、前記着陸面に接触した前記他の脚部と前記着陸面との接触を維持して、前記他の脚部の前記関節を動かしながら、前記本体部を下降させてもよい。これにより、他の脚部を着陸面に接触させることができる。このように、複数の脚部を順次着陸面に接触させ、着陸面に接触した脚部の関節を動かすことにより、本体部の姿勢を崩さずに複数の足部を着陸面に接触させることができる。
【0015】
また、前記制御部により前記第二処理が行われている間、前記推進部は、前記本体部が水平状態に維持されるように前記複数の推進ユニットを駆動してもよい。すなわち、脚部が着陸面に接触したときに、関節を動かしつつ複数の推進ユニットの推進力を個別に変化させることにより、本体部を水平状態に容易に近づけることができる。
【0016】
また、前記制御部は、更に、前記第二処理が行われている間の前記第一脚部における前記関節の角度に基づいて、前記他の脚部の前記着陸面への接触のための前記本体部の下降の継続可否を判断する第三処理を実行してもよい。第一脚部の関節を動かしつつ本体部を下降させるときに、他の脚部と着陸面との距離が長いと、第一脚部の関節を動かしていくうちに関節の可動範囲の上限に達することもあり得る。例えば、第一脚部が接触した着陸面が突出している場合や、他の脚部の下方向の着陸面に穴が開いている場合には、他の脚部が着陸面に接触する前に、第一脚部の関節が可動範囲の上限に達してしまう。この場合、本体部を更に下降させようとすると、第一脚部が着陸面から受ける反力を低減することができなくなるため、第一脚部と着陸面と接触部を中心に本体部が傾く虞がある。そこで制御部は、本体部の下降の継続の可否を判断する。このような第三処理を実行することにより、本体部の水平状態を維持可能か否か判定することができるため、不安定な状態で着陸することを抑制できる。
【0017】
また、前記第三処理において前記本体部の下降を継続できないと判断された場合、前記制御部は、前記第一脚部が前記着陸面に接触した状態を維持しつつ、前記第一脚部における前記関節の角度を、前記第一脚部が前記着陸面に最初に接触した第1接触時の状態に戻しながら、前記推進部が、前記本体部を該第1接触時の位置まで上昇させてもよい。第三処理において本体部の下降を継続できないと判断された場合には、第一脚部の関節の可動範囲の上限を超えて本体部が傾いている場合もあり得る。本体部が傾いたまま推進部の推進力を増加させると、機体が垂直方向から傾いた方向に向かって上昇する虞がある。そして、機体が上昇する方向に障害物があると、その障害物に接触する虞がある。そこで制御部は、第一脚部における関節の角度を、第一脚部が着陸面に最初に接触した第1接触時の状態に戻しながら、推進部が、本体部を該第1接触時の位置まで上昇させる。第一接触時の状態であれば、第一脚部の関節は可動範囲内にあるため、本体部を水平状態に維持することができる。そして、本体部を水平状態に維持しているときであれば、推進部が推進ユニットの推進力を増加させたとしても、垂直方向に上昇可能であるため、例え近くに障害物があったとしても接触することを抑制できる。また、第一脚部が着陸面に接触した状態を維持しつつ本体部を上昇させることにより、本体部を安定させることができる。
【0018】
また、前記複数の脚部のそれぞれ先端には、各脚部が前記着陸面に接触したときの圧力を検知可能な圧力センサが設けられ、前記制御部は、前記第一処理では、前記第一脚部の設けられた前記圧力センサからの接触に関する出力の有無に基づいて、該第一脚部の認識を行い、前記制御部は、更に、前記複数の脚部のそれぞれに設けられた前記圧力センサのそれぞれの出力値が、所定の相関状態になっているときに、前記飛行ロボットの前記着陸面への着陸が完了したとの判定をする第四処理を実行してもよい。すなわち、着陸面に脚部が接触すると、当該脚部に設けられている圧力センサの出力が変化する。したがって、各脚部に設けられる圧力センサの出力が変化した場合に、脚部が着陸面に接触したと判断可能である。その後も、他の脚部が着陸面に接触すれば、着陸面に接触した脚部に設けられる圧力センサの出力が変化する。このようにして、各脚部に設けられる圧力センサの出力の有無に基づいて、着陸面に接触している脚部を判断することができる。そして、飛行ロボットの着陸が完了した場合には、各脚部に設けられる圧力センサの出力は、着陸の完了に応じた出力になる。例えば、各圧力センサにより検出される圧力の総計が、飛行ロボットの質量と相関する値になり得る。したがって、所定の相関状態とは、飛行ロボットの着陸が完了したと判定可能な状態である。第四処理は、例えば、推進部による上方向の推進力と、飛行ロボットの質量とを考慮して実行してもよい。着陸が完了した場合には、推進部が推進ユニットによる推進力の発生を停止させても、本体部の傾きは抑制される。
【0019】
また、前記本体部の傾きを検知する検知部を、更に備え、前記制御部は、前記複数の脚部が所定の姿勢となっている状態で前記飛行状態から前記着陸面に接触したときに、前記検知部により前記本体部の水平状態からの傾きを検知すると、前記少なくとも1つの脚部を制御して該本体部を水平状態に近付けてもよい。上記の所定の姿勢とは、例えば、飛行ロボットが飛行状態のときに脚部がとり得る姿勢である。上記のように脚部が着陸面に接触すると、本体部が傾く。この傾きを検知した場合に、制御部は、少なくとも1つの脚部を制御してもよい。例えば、本体部が傾いたときに、基端部が最も上側に位置する脚部は、着陸面に接触している可能性が高いので、該脚部の関節を動かすようにしてもよい。このように、本体部の傾きに応じて関節を制御することにより、飛行ロボットが着陸時にバランスを崩すことを抑制できる。
【0020】
また、前記制御部は、前記着陸面に接触した前記脚部と前記着陸面との接触を維持して、前記脚部の前記関節を動かしながら、前記本体部を下降させてもよい。着陸面に接触した脚部と着陸面との接触を維持しつつ本体部を下降させることにより、他の脚部も順次着陸面と接触させ得る。
【0021】
また、前記制御部は、更に、前記脚部における前記関節の角度に基づいて、前記本体部の下降の継続可否を判断してもよい。本体部を水平状態に近づけるために脚部の関節を動かしていくと、可動範囲の上限に達することもあり得る。可動範囲の上限に達した後にさらに本体部を下降させると、本体部を水平状態に近づけることが困難になり得る。このような場合には、本体部の下降の継続ができないと判断可能である。このように判断することで、本体部の下降を停止させれば、本体部が傾くことを抑制できる。
【0022】
また、前記制御部が前記本体部の下降を継続できないと判断した場合、前記制御部は、前記第一脚部が前記着陸面に接触した状態を維持しつつ、前記第一脚部における前記関節の角度を、前記第一脚部が前記着陸面に最初に接触した第1接触時の状態に戻しながら、前記推進部が、前記本体部を該第1接触時の位置まで上昇させてもよい。このようにして、飛行ロボットが斜め方向に上昇することを抑制できるので、例えば、近くに障害物が存在している場合であっても、障害物との接触を抑制できる。
【0023】
以下に図面を参照して、本発明を実施するための形態を説明する。ただし、この実施形態に記載されている構成部品の寸法、材質、形状、その相対配置などは、特に記載がない限りは、この発明の範囲をそれらのみに限定する趣旨のものではない。また、以下の実施形態は可能な限り組み合わせることができる。
【0024】
<第1実施形態>
ここで、本実施例に係る飛行ロボット1について、
図1に基づいて説明する。
図1は、本実施形態に係る飛行ロボット1の概略構成の一例を示す図である。飛行ロボット1は、本体部2を含んで構成される。本体部2は、複数の推進ユニット23を有している。なお、
図1に示す例では、4つの推進ユニット23が本体部2に搭載されているが、本体部2の飛行が可能な限りにおいては、推進ユニット23の搭載数は複数であれば4つに限られない。推進ユニット23は、回転翼であるプロペラ21とそれを回転駆動するためのアクチュエータ22を有している。本体部2に搭載されている推進ユニット23は、全て同種類のユニットであるが、それぞれの推進ユニット23においてアクチュエータ22は独立して制御可能である。そのため、各推進ユニット23により得られる推進力を適宜制御することが可能であり、以て、本体部2及び飛行ロボット1における飛行姿勢や飛行速度等を適宜制御することが可能となる。なお、推進ユニット23による飛行本体部等の飛行制御については、後述する。
【0025】
ここで本体部2では、概ねその中央にボディ25を有し、そこから放射状にブリッジ24を介して、その先端側に推進ユニット23が設けられている。4つの推進ユニット23は、ボディ25を中心として円周上に等間隔で配列されている。
【0026】
また、本体部2には、本体部2を支持する4つの脚部30が接続されている。4つの脚部30は、ボディ25を中心として円周上に等間隔で配列されている。脚部30は、着陸するときに先端部が着陸面に接触する第一リンク部31と、第一リンク部31よりもボディ25側に設けられる第二リンク部32と、第一リンク部31と第二リンク部32とを回転可能に接続する第一関節33と、第二リンク部32とブリッジ24とを回転可能に接続する第二関節34と、第一関節33及び第二関節34を駆動するアクチュエータ(不図示)とを有する。第一関節33は、第一リンク部31の基端部と、第二リンク部32の先端部を接続している。第二関節34は、第二リンク部32の基端部と、ボディ25とを接続している。これらの各関節は、不整地への着陸時に回転するようにその回転方向が設計されている。例えば、第一関節33及び第二関節34は、水平方向に回転軸を有し、且つ、同一の脚部30において、第一関節33の回転軸と、第二関節34の回転軸とが平行になるように設計される。なお、本実施形態では、4つの脚部30を備えているが、脚部30の数はこれに限らず、3つ以上であればよい。また、本実施形態では1つの脚部30に対して2つの関節を有しているが、これに限らず関節は1つ以上有していればよい。
【0027】
また、ボディ25には、各推進ユニット23のアクチュエータ22に駆動電力を供給するためのバッテリ28(
図2を参照)や、当該バッテリ28からアクチュエータ22への電力供給等を制御する制御装置200(
図2を参照)が搭載されている。制御装置200は、バッテリ28からアクチュエータへ電力供給し、脚部30の関節も制御する。制御装置200は、各第一関節33及び各第二関節34を、夫々独立して制御する。また、第一リンク部31の先端部であって、着陸時に着陸面と接触する位置には、圧力を検出する圧力センサ31Aが設けられている。制御装置200による本体部2に関する制御については、その詳細は後述する。
【0028】
<飛行ロボット1の制御部>
次に、飛行ロボット1が有する本体部2の制御的な構成について、
図2に基づいて説明する。
図2は、本実施形態に係る本体部2に含まれる各機能部を示すブロック図の一例である。本体部2は、飛行に関する飛行制御及び着陸に関する着陸制御等を行うために制御装置200を有している。制御装置200は、演算処理装置及びメモリを有するコンピュータであり、機能部として、制御部210を有している。制御部210は、制御装置200において所定の制御プログラムが実行されることで形成される。
【0029】
制御部210は、本体部2が飛行する場合に、その飛行のための推進力を発生すべく推進ユニット23を制御する機能部である。制御部210は、本体部2等の飛行状態に関連する情報であってセンサ27によって検出される環境情報に基づいて、4つの推進ユニット23の推進力を制御する。当該環境情報としては、不図示の3軸(ヨー軸、ピッチ軸、ロール軸)に対応したジャイロセンサにより検出される本体部2の角速度や、不図示の同3軸に対応した加速度センサにより検出される本体部2の傾き等に関する情報が例示できる。制御部210は、これらのセンサから取得された環境情報を利用して、本体部2等の傾きをその飛行に適した状態となるようにフィードバック制御する。更に、環境情報には、地軸の向きを基準としたときに、絶対座標系における飛行本体部の向きである方位角を含めてもよく、当該方位角は、方位角センサにより検出できる。なお、センサ27は、検知部の一例である。
【0030】
本体部2等を前後左右に移動させる場合には、制御部210は、進行方向の推進ユニット23のアクチュエータ22の回転数を下げて、進行方向とは反対側の推進ユニット23のアクチュエータ22の回転数を上げることで、本体部2等は、進行方向に対して前かがみの姿勢となり、所望の方向に進行する。また、本体部2等を回転移動させる場合には、制御部210は、プロペラ21の回転方向による出力を、本体部2等の回転方向に基づいて行う。例えば、本体部2等を右回転させる場合には、制御部210は、右回転しているプロペラ21に対応するアクチュエータ22の出力を下げるとともに、左回転しているプロペラ21に対応するアクチュエータ22の出力を上げる。
【0031】
また、制御部210は、飛行ロボット1の着陸時に着陸制御を実行する機能部でもある。着陸制御では、制御部210が、推進ユニット23、及び、脚部30を制御する。制御部210は、着陸時に、センサ27及び圧力センサ31Aの検出値に基づいて、第一関節33及び第二関節34に設けられているアクチュエータを制御する。脚部30の各関節に設けられたアクチュエータには、それぞれの回転状態に関する状態量(アクチュエータの回転軸の回転位置や回転速度等)を検出するエンコーダ(不図示)が設けられている。そして、各アクチュエータのエンコーダによって検出された各アクチュエータの状態量に基づいて、各関節の回転角度等が着陸に適した状態となるように、制御部210は脚部30のアクチュエータをサーボ制御する。
【0032】
ここで、
図3に基づいて、飛行ロボット1の着陸時の脚部30の状態について説明する。
図3は、本実施形態に係る飛行ロボット1の着陸時の脚部30の状態を示した図である。
図3では、飛行ロボット1の一部の構造を省略している。3001は、飛行ロボット1が飛行状態の場合の脚部30の状態を示している。飛行状態の場合には、例えば、前後左右方向の移動時における空気抵抗が最も小さくなるように、脚部30を折り曲げるように脚部30の関節が固定される。例えば、第一関節33は、第一リンク部31の軸方向が水平方向に近付くように、且つ、第一リンク部31先端側が本体部2の中心軸に近付くように回転される。なお、飛行状態のときの脚部30の状態はこれに限らない。例えば、空気抵抗の他にも、飛行ロボット1の重心を考慮して、飛行ロボット1の飛行を安定させるような状態にしてもよい。
【0033】
3002は、飛行ロボット1が着陸態勢に入った場合の脚部30の状態を示している。例えば、センサ27にGNSS(Global Navigation Satellite System / 全球測位衛星システム)センサが含まれている場合には、当該GNSSセンサにより目的地点の上空に飛行ロボット1が位置していることを検出すると、飛行ロボット1が着陸態勢に入る。このときには、各第二リンク部32が、水平方向に放射状に広がるように、第二関節34が動かされる。さらに、第一リンク部31の先端部が下側を向き且つ第一リンク部31の中心軸が垂直方向になるように、第一関節33が動かされる。すなわち、第一リンク部31は、第二リンク部32に対して直角に曲がり、且つ、先端部が垂直方向下側を向くように、各関節部が制御される。着陸面A1には凹凸があり、各脚部の先端部と着陸面A1との距離L1が脚部30ごとに異なる。この状態から、次の3003の状態になるまで、推進ユニット23の推進力を制御して、飛行ロボット1を垂直方向に下降させる。
【0034】
3003は、飛行ロボット1が下降して、最初に1つの脚部(第一脚部)が着陸面A1に接触したときの状態を示している。ここでは、複数の脚部30のうち着陸面A1に最初に接触した脚部30を第一脚部10Aと認識する第一処理が実行されている。制御部210は、例えば、各脚部30に設けられる圧力センサ31Aの出力に基づいて、着陸面A1に最初に接触した第一脚部10Aを認識する。制御部210は、第一脚部10Aを認識後も、飛行ロボット1を更に下降させる。第一処理によれば、その後に第一関節33及び第二関節34を動かす必要のある第一脚部10Aを認識することができる。
【0035】
3004は、第一脚部10Aを認識した後に、更に、飛行ロボット1が下降された状態を示している。このときには、第二処理が実行されている。第二処理は、第一処理後に、第一脚部10Aと着陸面A1との接触を維持して該第一脚部10Aの第一関節33及び第二関節34を動かしながら、更に本体部2を下降させて他の脚部30を着陸面A1に接触させる処理である。3004に示すように、第一脚部10Aにおいては、第一関節33が、第一リンク部31と第二リンク部32とのなす角がより小さくなるように、且つ、第二関節34が、第二リンク部32を第二関節34から斜め上方向に移動するように、制御部210が各関節を制御する。第二処理が行われている間、制御部210は、本体部2が水平状態に維持されるように複数の推進ユニット23を駆動している。このように、本体部2の下降に応じて、第一脚部10A第一関節33及び第二関節34を動かすことにより、本体部2は水平状態を維持しながら、且つ、第一脚部10Aと着陸面A1との接触を維持しながら、本体部2を下降させることができる。
【0036】
3005は、制御部210が第一脚部10Aを認識した後、さらに他の脚部30が着陸面A1に接触した状態を示している。制御部210は、他の脚部30が着陸面A1に接触したことを、各脚部30の先端部に設けられる圧力センサ31Aの出力に基づいて判定する。着陸面A1に接触した脚部30における第一関節33及び第二関節34は、第一脚部10Aの関節と同様に、本体部2の下降に応じて動かされる。このようにして、4つの脚部30を順次着陸面A1に接触させる。この間も、本体部2の下降は継続される。このように、本体部2の水平を維持しつつ複数の脚部30を着陸面A1に接触させることができる。
【0037】
そして、4つの脚部30が全て着陸面A1に接触した場合、制御部210は、着陸面A1への着陸が完了したとの判定をする第四処理を実行する。制御部210は、例えば、複数の脚部30のそれぞれに設けられた圧力センサ31Aのそれぞれの出力値が、所定の相関状態になっているときに、飛行ロボット1の着陸面A1への着陸が完了したとの判定をする。所定の相関状態とは、例えば、飛行ロボット1のバランスがとれている状態であり、推進ユニット23の推進力を停止させても、飛行ロボット1が傾くことを抑制し得る状態である。例えば、各圧力センサ31Aで検出される圧力の総計が、飛行ロボット1の質量に対応する圧力になっていれば、着陸が完了したと判定してもよい。なお、このときには、推進ユニット23の推進力の影響により、飛行ロボット1の実際の質量に対応する圧力よりも低い圧力が検出されるので、制御部210は、推進ユニット23の推進力を考慮した判定を行う。制御部210は、着陸が完了したと判定した場合に、推進ユニット23を停止させてもよいし、飛行ロボット1が離陸しない程度にプロペラ21を回転させておいてもよい。
【0038】
3006は、第一脚部10Aを認識した後、さらに他の脚部30が着陸面A1に接触するまで本体部2を下降させている途中に、第一関節33の角度が許容範囲の上限に達した状態を示している。第一関節33の角度の許容範囲の上限は、例えば、第一関節33の構造又は脚部30の構造に起因して物理的にそれ以上曲がらない角度としてもよく、その角度にある程度のマージンを加えた角度としてもよい。また、別法として、第一関節33の角度の許容範囲の上限は、脚部30と他の部位(例えば、プロペラ21)との接触を避けるために必要となる角度としてもよい。第一脚部10Aの第一関節33の角度が許容範囲の上限に達した場合は、それ以上、本体部2の水平を維持したまま本体部2を下降させることができなくなる。なお、第二関節34についても同様に扱うことができる。本体部2の下降中にはこのような事態も起こり得るため、制御部210は、第二処理が行われている間の第一脚部10Aにおける第一関節33または第二関節34の角度に基づいて、他の脚部30の着陸面A1への接触のための本体部2の下降の継続可否を判断する第三処理を実行する。例えば、制御部210は、第一脚部10Aの第一関節33の角度が許容範囲の上限に達した場合に、本体部2の下降を継続できないと判断する。一方、制御部210は、第一脚部10Aの第一関節33の角度が許容範囲の上限に達するまでは、本体部2の下降を継続できると判断する。
【0039】
そして、第三処理において本体部2の下降を継続できないと判断された場合に、制御部210は、着陸をやり直す処理を実行する。まず、制御部210は、本体部2の下降を停止させるように推進ユニット23の推進力を調整する。次に、制御部210は、第一脚部10Aが着陸面A1に接触した状態を維持しつつ、第一脚部10Aにおける第一関節33の角度を、第一脚部10Aが着陸面A1に最初に接触した第1接触時の状態に戻す。このときに、推進ユニット23が、本体部2を第1接触時の位置まで上昇させる。第1接触時の位置とは、3003に示される位置である。このようにして、本体部2が水平状態になるように推進ユニット23及び第一脚部10Aが制御される。ここで、第三処理において本体部2の下降を継続できない状態になると、本体部2に傾きが生じている虞がある。仮に、この状態ですぐに上昇しようとすると、本体部2が傾いた状態で上昇させることになる。そうすると、飛行ロボット1が斜め方向に上昇する虞があり、近くに障害物が存在していると、その障害物に接触する虞がある。
【0040】
ここで、
図4は、本実施形態に係る飛行ロボット1が上昇したときの飛行ロボット1と障害物A2との関係の一例を示した図である。4001は、本体部2が傾いた状態で飛行ロボット1を上空に上昇させた場合を示している。一方、4002は、第一脚部10Aが着陸面A1に接触した状態を維持しつつ、第一脚部10Aにおける第一関節33の角度を、第一脚部10Aが着陸面A1に最初に接触した第1接触時の状態に戻した後に、飛行ロボット1を上空に上昇させた場合を示している。4001に示すように、本体部2が傾いた状態のまま飛行ロボット1が上空に上昇すると、障害物A2に接触する虞がある。一方、4002に示すように、第一脚部10Aにおける第一関節33の角度を、第1接触時の状態に戻した後であれば、本体部2を水平状態に戻すことができるため、その後に飛行ロボット1が上昇しても、障害物A2への接触を抑制できる。
【0041】
3006の状態から3003の状態に移行した後は、制御部210が推進ユニット23の推進力を増加させて、第一脚部10Aが着陸面A1から離れるように飛行ロボット1を上昇させる。そして、飛行ロボット1が上空へ上昇した後に、制御部210は、例えば、推進ユニット23を制御して、着陸地点を所定距離だけずらす、または、その場で本体部をヨー方向に所定角度回転させる。すなわち、各脚部30と着陸面A1との相対位置を変化させる。その後、3002の状態に移行する。そして、制御部210は、再度の着陸を試みる。
【0042】
複数の脚部30は、着陸するときの脚としての機能と、着陸した後に歩行するときの脚としての機能とを有している。制御部210は、飛行ロボット1の着陸完了後に飛行ロボット1が歩行する場合に、その歩行のために脚部30に設けられているアクチュエータを制御する機能部でもある。制御部210は、センサ27によって検出される環境情報に基づいて脚部30を制御する。また、脚部30の各関節に設けられたアクチュエータのエンコーダによって検出された各アクチュエータの状態量に基づいて、本体部2の傾き等が歩行に適した状態となるように、制御部210は脚部30のアクチュエータをサーボ制御する。
【0043】
<着陸制御>
ここで、
図5に基づいて、飛行ロボット1が着陸する際に実行される制御である着陸制御について説明する。
図5は、第1実施形態に係る着陸制御のフローチャートの一例である。着陸制御は、本体部2において所定の制御プログラムが実行されることで実現される。なお、本実施形態では、飛行ロボット1が着陸する地点を示す情報を本体部2が受信しているものとする。
図5に示したルーチンは、飛行ロボット1が着陸地点の上空に到着したときに開始される。
【0044】
ステップS101では、制御部210は、着陸する位置の上空でホバリングして位置を固定する。このときの飛行ロボット1の状態は、
図3の3001の状態が対応している。制御部210は、飛行ロボット1が着陸地点上空でホバリングするように、推進ユニットを制御する。次に、ステップS102では、制御部210が、脚部30を着陸前状態にする。着陸前状態は、
図3の3002に対応する脚部30の状態である。制御部210は、第一リンク部31の中心軸が垂直方向となり、第二リンク部32の中心軸が水平方向となるように、全ての脚部30の第一関節33及び第二関節34を動かす。
【0045】
ステップS103では、制御部210は、本体部2の下降を開始させる。制御部210は、推進ユニット23の推進力を低下させることにより、本体部2を下降させる。このときには、本体部2が水平に近づくように推進力を制御しつつ、本体部2を下降させる。なお、本ステップS103では、既に本体部2が下降状態である場合には、継続して本体部2を下降させる。ステップS104では、制御部210は、圧力センサ31Aの出力値に基づいて、何れかの脚部30が着陸面A1に接触したか否か判定する。例えば、圧力センサ31Aの出力値が、予め設定しておいた着陸閾値以上となった場合に、その圧力センサ31Aが備わる脚部30が着陸面A1に接触したと判定される。ステップS104で肯定判定された場合にはステップS105へ進み、否定判定された場合にはステップS103へ戻って引き続き本体部2を下降させる。なお、ステップS104において肯定判定されたときの飛行ロボット1の状態は、
図3の3003に示した状態に対応する。
【0046】
ステップS105では、制御部210が第一脚部10Aを特定する。制御部210は、圧力センサ31Aの出力値が最初に着陸閾値以上となった脚部30を、第一脚部10Aとして特定する。ステップS106では、制御部210が、第一脚部10Aが着陸面A1に接触したときの本体部2の高度を記憶する。制御部210は、例えば、センサ27に含まれる高度計から取得した高度を記憶してもよいし、センサ27に含まれるレーダなどで測定した着陸面A1との距離を記憶してもよい。高度の測定に必要なセンサ等を、本体部2に適宜設けてもよい。
【0047】
そして、ステップS107では、制御部210が、本体部の下降速度を低下させる。この後に、第一関節33及び第二関節34を動かして本体部2の姿勢を調整するため、このときに調整をし易くするために下降速度を低下させている。これにより、本体部2の水平状態を維持しやすくなる。さらに、ステップS108では、制御部210が、着陸面A1に接触している脚部30の第一関節33及び第二関節34を動かして、本体部2の水平状態を維持する。このときの飛行ロボット1の状態は、
図3の3004に示した状態に対応する。制御部210は、本体部2の下降に応じて、着陸面A1に接触している全ての脚部30の第一関節33及び第二関節34を動かす。制御部210は、例えば、圧力センサ31Aの出力値が所定値以下となるように第一関節33及び第二関節34を動かしてもよい。所定値は、本体部2が傾かない値として設定される。なお、別法として、制御部210は、本体部2の高度に応じて第一関節33及び第二関節34を動かしてもよい。
【0048】
ステップS109では、制御部210が、全ての脚部30の着陸面A1との接触を検出したか否か判定する。制御部210は、例えば、全ての脚部30の圧力センサ31Aの出力値が着陸閾値以上となった場合に、全ての脚部30の着陸面A1との接触を検出したと判定する。ステップS109で肯定判定された場合にはステップS110へ進み、否定判定された場合にはステップS112へ進む。なお、ステップS109で肯定判定されたときの飛行ロボット1の状態は、
図3の3005に示した状態に対応する。このときには、制御部210は、例えば、センサ27により検出される環境情報、及び、逆運動学を利用して、本体部2が水平に近づくように、第一関節33及び第二関節34を制御する。
【0049】
ステップS110では、全ての圧力センサ31Aの出力値が所定の相関状態になっているか否か判定する。例えば、全ての圧力センサ31Aの出力値が、飛行ロボット1の質量から所定質量を減算した値に対応しているか否か判定される。所定質量は、推進ユニット23の推進力による飛行ロボット1の質量の見かけ上の減少分である。ステップS110で肯定判定された場合にはステップS111へ進み、否定判定された場合にはステップS114へ進む。そして、ステップS111では、制御部210が、プロペラ21を停止させて着陸が完了する。
【0050】
一方、ステップS109で否定判定された場合には、ステップS112へ進み、制御部210は、第一脚部10Aの第一関節33または第二関節34の角度を取得する。なお、以下では、第一脚部10Aの第一関節33の角度に基づいた制御を行う場合について説明する。第二関節34の角度に基づいた制御を行う場合にも、第一関節33と同様に考えることができる。第一関節33の角度は、例えば、エンコーダによって検出される回転角度に基づいて取得される。次に、ステップS113では、第一関節33の角度が上限値よりも大きくなったか否か判定される。上限値は、第一関節33の可動範囲の上限値として設定される。なお、このときの第一関節33の角度は、第一リンク部31と第二リンク部32との角度が直角の状態からの折れ曲がる角度としてもよい。本ステップS113では、第一関節33がこれ以上動かすことができない状態であるか否か判定すればよい。ステップS113で肯定判定された場合にはステップS114へ進む。なお、ステップS113で肯定判定されたときの飛行ロボット1の状態は、
図3の3006に示した状態に対応する。一方、ステップS113で否定判定された場合にはステップS108へ進み、制御部210は、関節を動かしつつ本体部2の下降を継続させる。
【0051】
ステップS114では、制御部210は、本体部2の高度を元の位置まで戻す。ここでいう元の位置とは、ステップS106で記憶された高度に相当する位置であり、第一接触時の位置に相当する。本ステップS114では、着陸をやり直すために、本体部2の高度を上げている。ただし、このときには、第一脚部10Aの着陸面A1との接触を維持したまま、本体部2の高度を上げるように、第一脚部10Aの関節を元に戻しながら本体部2の高度を上げている。このようにして、飛行ロボット1が、障害物A2に接触することを抑制する。
【0052】
ステップS115では、制御部210は、本体部2を更に上昇させ、更に、着陸位置を変更する。このときに、制御部210は、第一脚部10Aと着陸面A1との接触を解消させる。そして、例えば、所定距離だけ上昇し、その後に、ヨー方向に飛行ロボット1を所定角度だけ回転させる。そして、ステップS101へ戻って、着陸制御をやり直す。
【0053】
このように脚部30に第一関節33または第二関節34を有する飛行ロボット1によれば、不整地などに着陸するときに、脚部30ごとに第一関節33または第二関節34を動かすことにより、本体部2を水平状態に維持することができる。したがって、飛行ロボット1がバランスを崩すことを抑制しつつ、不整地等に着陸することができる。また、第一脚部10Aが着陸面A1に接触した後に、第一脚部10Aの関節の角度が許容範囲の上限に達した場合には、着陸をやり直すことにより、飛行ロボット1がバランスを崩すことを抑制できる。そして、着陸をやり直すときには、第一脚部10Aが着陸面A1に接触した高度まで本体部2を上昇させ、このときに第一脚部10Aと着陸面A1との接触を維持するように関節を動かすことにより、飛行ロボット1が障害物A2に接触することを抑制できる。
【0054】
<第1実施形態の変形例>
第1実施形態では、着陸面A1に接触した脚部30の関節を動かしている。すなわち、夫々の脚部30では、着陸面A1に接触するまでは、関節を動かしていない。一方、別法として、第一脚部10Aが着陸面A1に接触した後に、他の脚部30の関節をうごかしてもよい。このときに、第一リンク部31が下方向移動するように第一関節33または第二関節34を動かしてもよい。例えば、第一リンク部31の中心軸が垂直方向を向くように、第一関節33及び第二関節34を動かしてもよい。ここで、第一脚部10Aが着陸面A1に接触したときには、他の脚部30の下側の着陸面A1も他の脚部30に近い位置にあることが多い。このような場合に、他の脚部30が下方向に移動するように、第一関節33及び第二関節34を動かすことにより、他の脚部30を早期に着陸面A1に接触させることができる。これにより、例えば、飛行ロボット1のバランスがとりやすくなる。また、飛行ロボット1の着陸に要する時間を短縮することができる。
【0055】
ここで、
図6を用いて、本実施形態の変形例における着陸制御を説明する。
図6は、本変形例に係る飛行ロボット1の着陸時の脚部30の状態を示した図である。3001,3002,3003については
図3と同じため説明を省略する。3014は、第一脚部10Aを認識した後に、更に、飛行ロボット1が下降した状態を示している。このときには、着陸面A1に接触した脚部30以外の他の脚部30を、着陸面A1の方向に近付けるように、第一関節33及び第二関節34を動かしている。すなわち、本体部2を下降させつつ、他の脚部30がボディ25に対して相対的に着陸面A1の方向に移動するように関節を動かしている。3014に示すように、他の脚部30の第一関節33は、第一リンク部31と第二リンク部32とのなす角が90度よりも大きくなるように、且つ、第二関節34は、第二リンク部32が第二関節34を中心に下方向に回転するように、各関節が動かされる。このときには、第一リンク部31の中心軸が垂直方向を向くように、第一関節33及び第二関節34を動かしている。この間も、制御部210は、本体部2が水平に近づくように複数の推進ユニット23、及び、接地している脚部30の関節を制御している。このように、水平状態を維持しながら、他の脚部30を下方向に移動させることにより、着陸面A1との接触を早めることができる。
【0056】
3015は、第一脚部10Aを認識した後、さらに他の脚部30が着陸面A1に接触した状態を示している。制御部210は、他の脚部30が着陸面A1に接触したことも、各脚部30の先端部に設けられる圧力センサ31Aの出力に基づいて判定する。なお、3015において、4つの脚部30が全て着陸面A1に接触しているものとする。この場合、制御部210は、着陸面A1への着陸が完了したと判定する。着陸の判定方法については、上記の3005の状態と同じである。
【0057】
なお、全ての脚部30が着陸面A1に接触するまで、本体部2を下降させつつ他の脚部30の関節を動かしてもよい。すなわち、着陸面A1に接触した脚部30の第一関節33及び第二関節34を動かしつつ、且つ、着陸面A1に接触していない他の脚部30を下方向に移動させるように、他の脚部30の第一関節33及び第二関節34を動かしつつ、本体部2を下降させてもよい。このように、複数の脚部30を順次着陸面A1に接触させることにより、本体部2の水平を維持しつつ複数の脚部30で着陸が可能となる。
【0058】
3016は、第一脚部10Aを認識した後、さらに他の脚部30が着陸面A1に接触するまで本体部2を下降させている途中に、第一関節33の角度が許容範囲の上限に達し、且つ、他の脚部30の第一関節33及び第二関節34の角度が許容範囲の上限に達した状態を示している。3016の例でいうと、第一脚部10Aの第一関節33の角度が、許容範囲の屈曲方向の上限に達し、他の脚部30の第一関節33の角度が、許容範囲の伸展方向の上限値に達している。各脚部30の関節の角度が許容範囲の上限に達した場合は、それ以上、本体部2の水平を維持したまま本体部2を下降させることができなくなり、他の脚部30を下方向に移動させることもできなくなる。本体部2の下降中にはこのような事態も起こり得るため、制御部210は、本体部2の下降中の第一脚部10Aにおける第一関節33または第二関節34の角度、及び、他の脚部30における第一関節33または第二関節34の角度に基づいて、他の脚部30の着陸面A1への接触のための本体部2の下降の継続可否を判断する。例えば、制御部210は、第一脚部10Aの第一関節33の角度が許容範囲の上限に達し、且つ、他の脚部30の第一関節33の角度が許容範囲の上限に達した場合に、本体部2の下降を継続できないと判断する。一方、制御部210は、第一脚部10Aの第一関節33の角度及び他の脚部30の第一関節33の角度が共に許容範囲の上限に達するまでは、本体部2の下降を継続できると判断する。本変形例では、他の脚部30を下方向に移動させるので、上記第1実施形態よりも着陸面A1の高低差が大きい場合であっても飛行ロボット1の着陸が可能となる。
【0059】
そして、本体部2の下降を継続できないと判断された場合に、制御部210は、着陸をやり直す処理を実行する。まず、制御部210は、本体部2の下降を停止させるように推進ユニット23の推進力を調整する。次に、制御部210は、第一脚部10Aが着陸面A1に接触した状態を維持しつつ、第一脚部10Aにおける第一関節33の角度を、第一脚部10Aが着陸面A1に最初に接触した第1接触時の状態に戻す。このときに、推進ユニット23が、本体部2を第1接触時の位置まで上昇させる。また、このときに、他の脚部30における第一関節33及び第二関節34の各角度も、第一脚部10Aが着陸面A1に最初に接触した第1接触時の状態に戻す。制御部210は、飛行ロボット1が第一接触時の状態に戻った後、第一脚部10Aの先端部が着陸面A1から離れるように、本体部2の水平を維持しつつ、本体部2を垂直上方向に上昇させる。
【0060】
本変形例の着陸制御について、上記の
図5に基づいて説明する。
図5のステップS108において、制御部210は、第一脚部10Aの関節を動かしつつ、他の脚部30の関節も動かす。また、ステップS112において、制御部210は、第一脚部10Aの関節の角度の他に、他の脚部30の関節の角度も取得し、ステップS113において、各関節の角度が上限値を超えたか否か判定する。
【0061】
以上説明したように、本変形例によれば、高低差がより大きな着陸面A1へ着陸することができる。
【0062】
<第2実施形態>
第1実施形態では、脚部30に備わる圧力センサ31Aの出力値に基づいて脚部30と着陸面A1との接触を判定しているが、これに代えて、本第2実施形態では、飛行ロボット1の本体部2の傾きが検出された場合に、脚部30が着陸面A1に接触したと判定する。したがって、本第2実施形態では、脚部30に圧力センサ31Aを設ける必要はない。飛行ロボット1の本体部の傾きは、センサ27に含まれるジャイロセンサや加速度センサによって検出される。ここで、不整地に着陸する場合に高度を下げていくと、最初に着陸面A1に接触した脚部30の先端部を中心として本体部2が傾く。したがって、本体部2が傾いたことをもって、脚部30が着陸面A1に接触したと判定することができる。また、着陸面A1に接触した脚部30に応じて本体部2が傾く方向が異なるため、本体部2が傾いた方向に基づいて、着陸面A1に接触した脚部30を特定することができる。
【0063】
本実施形態では、本体部2の傾きが検出された場合に、本体部2の傾きに応じて着陸面A1に接触している脚部30を特定し、該脚部30の第一関節33または第二関節34を、本体部2が水平状態に近づくように動かす。第一脚部10Aが特定された後も、本体部を更に下降させつつ、本体部2が水平状態に近づくように第一脚部10Aの第一関節33及び第二関節34を動かしている。その後、本体部2を下降させる過程において、例えば、第一脚部10Aの関節を動かしただけでは本体部2の水平を維持できなくなった場合には、他の脚部30が着陸面A1に接触したと判定する。このときにも、本体部2が傾いた方向に基づいて、着陸面A1に接触した他の脚部30を特定する。このように、本体部2の傾きを修正しつつ着陸面A1に接触した脚部30を特定していき、全ての脚部30が着陸面A1に接地したと判定されると、飛行ロボット1の着陸が完了する。
【0064】
次に、上記の
図3を用いて、本実施形態における着陸制御を説明する。3001,3002については第1実施形態と同じため説明を省略する。本実施形態では、3003に示した状態のときに、制御部210が、例えば、センサ27により検出される本体部2の傾きが閾値を超えた場合に、脚部30が着陸面A1に接触したと認識する。また、本体部2が傾いた方向に基づいて、第一脚部10Aを認識する。例えば、本体部2の傾きの上側に位置する脚部30を第一脚部10Aとして認識する。制御部210は、第一脚部10Aを認識後も、飛行ロボット1を更に下降させる。
【0065】
また、3004に示される状態、すなわち、第一脚部10Aを認識した後に、更に、飛行ロボット1が下降された状態では、第一脚部10Aと着陸面A1との接触を維持するように該第一脚部10Aの第一関節33及び第二関節34を動かしつつ、更に本体部2を下降させて他の脚部30を着陸面A1に接触させる処理が実行される。この処理には、センサ27により本体部2の傾きを検出し、本体部2の傾きが小さくなるように第一脚部10Aの第一関節33または第二関節34を動かす処理も含まれる。さらに、制御部210は、本体部2が水平状態に維持されるように複数の推進ユニット23を駆動している。このように、制御部210は、本体部2が水平状態になるように関節及び推進ユニット23を制御しつつ本体部2を下降させている。
【0066】
3005に示される状態、すなわち、他の脚部30が着陸面A1に接触した状態では、制御部210は、他の脚部30が着陸面A1に接触したことも、センサ27により検出される本体部2の傾きに基づいて判定する。例えば、本体部2が水平状態になるように関節及び推進ユニット23を制御していても、本体部2に傾きが生じる場合には、他の脚部30が着陸面A1に接触したと判定する。また、このときに本体部2が傾いた方向に基づいて、着陸面A1に接触した他の脚部30を特定する。そして、全ての脚部30が着陸面A1に接触するまで、本体部2の水平状態を維持するように、着陸面A1に接触している脚部30の関節を動かしつつ、本体部2を下降させる。そして、制御部210は、例えば、全ての脚部30が着陸面A1に接触しており、且つ、本体部2が水平状態のときに着陸可能であると判定して、プロペラ21の回転を停止させる。
【0067】
一方、3006に示した状態、すなわち、他の脚部30が着陸面A1に接触するまで本体部2を下降させている途中に、第一関節33の角度が許容範囲の上限に達した状態になると、制御部210は、第1実施形態と同様に、飛行ロボット1を第一接触時の状態まで戻して、着陸をやり直す。
【0068】
<着陸制御>
ここで、
図7に基づいて、飛行ロボット1が着陸する際に実行される制御である着陸制御について説明する。
図7は、第2実施形態に係る着陸制御のフローチャートの一例である。着陸制御は、本体部2において所定の制御プログラムが実行されることで実現される。なお、本実施形態では、飛行ロボット1が着陸する地点を示す情報を本体部2が受信しているものとする。
図7に示したルーチンは、飛行ロボット1が着陸地点の上空に到着したときに開始される。
図5に示したルーチンを同じ処理が実行されるステップについては、同じ符号を付して説明を省略する。
【0069】
図7に示したフローチャートでは、ステップS103の処理が終了すると、ステップS201へ進む。ステップS201では、制御部210は、本体部2の傾きを検出したか否か判定する。例えば、制御部210は、センサ27により検出された本体部2の傾きが閾値を超えているか否か判定する。閾値は、脚部30が着陸面A1に接触したときの傾きである。この閾値は、風などの影響によって本体部2が傾いたときよりも大きな値である。ステップS201で肯定判定された場合にはステップS105へ進み、否定判定された場合にはステップS103へ戻る。なお、ステップS201において肯定判定されたときの飛行ロボット1の状態は、
図3の3003に示した状態に対応する。
【0070】
また、
図7に示したフローチャートでは、ステップS107の処理が完了した場合、または、ステップS113で否定判定がなされた場合には、ステップS202へ進む。ステップS202では、制御部210が、着陸面A1に接触している脚部30の第一関節33及び第二関節34を動かして、本体部2の水平状態を維持する。このときの飛行ロボット1の状態は、
図3の3004に示した状態に対応する。制御部210は、例えば、センサ27により本体部2の傾きが検出された場合に、傾きが解消するように、第一関節33及び第二関節34を動かす。このときには、フィードバック制御を行ってもよい。制御部210は、ステップS202の処理が実行されると、その後の処理においても、本体部2の水平状態を維持するように、脚部30の関節を動かす。
【0071】
また、
図7に示したフローチャートでは、ステップS109で肯定判定された場合にはステップS111へ進んで、制御部210が、プロペラを停止させる。なお、プロペラ21を停止させるまでの過程で、本体部2に傾きが生じた場合には、関節を動かすことにより、本体部2を水平状態に近づけてもよい。また、制御部210は、プロペラ21の回転数を低下させる過程において本体部2を水平状態に近づけることができない場合には、ステップS114に進んで、着陸をやり直してもよい。
【0072】
このように、本体部2の傾きを検出するセンサの検出値に応じて第一関節33または第二関節34を動かすことにより、本体部2を水平状態に維持することができる。したがって、飛行ロボット1がバランスを崩すことを抑制しつつ、不整地等に着陸することができる。
【0073】
なお、第1実施形態の変形例のように、第一脚部10Aが着陸面A1に接触した後に、他の脚部30が下方向に移動するように、各関節を動かしてもよい。これにより、高低差がより大きな着陸面A1に着陸することが可能となる。
【符号の説明】
【0074】
1・・・飛行ロボット、2・・・本体部、30・・・脚部、31・・・第一リンク部、32・・・第二リンク部、33・・・第一関節、34・・・第二関節、210・・・制御部