(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024089312
(43)【公開日】2024-07-03
(54)【発明の名称】カートロボット
(51)【国際特許分類】
B65G 1/04 20060101AFI20240626BHJP
B65G 1/137 20060101ALI20240626BHJP
【FI】
B65G1/04 503
B65G1/137 G
【審査請求】未請求
【請求項の数】3
【出願形態】OL
(21)【出願番号】P 2022204596
(22)【出願日】2022-12-21
(71)【出願人】
【識別番号】591280485
【氏名又は名称】ソフトバンクグループ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】孫 正義
【テーマコード(参考)】
3F022
3F522
【Fターム(参考)】
3F022AA13
3F022AA15
3F022FF01
3F022JJ11
3F022KK11
3F022KK18
3F022KK20
3F022MM07
3F022MM11
3F022MM36
3F022NN22
3F022NN38
3F022NN55
3F022PP03
3F022QQ17
3F522AA02
3F522BB01
3F522BB24
3F522BB27
3F522BB35
3F522CC01
3F522DD34
3F522EE15
3F522GG03
3F522GG05
3F522GG22
3F522GG32
3F522GG39
3F522JJ02
3F522JJ04
3F522KK08
3F522LL22
3F522LL33
3F522LL52
3F522LL59
(57)【要約】
【課題】走行性能を向上させること。
【解決手段】実施形態に係るカートロボットは、走行車体と、第1車軸と、複数の第2車軸と、車輪と、第1駆動部と、第2駆動部と、制御装置とを備える。走行車体と、第1車軸は、走行車体に設けられる。複数の第2車軸は、第1車軸の先端部から第1車軸の径方向に延びる。車輪は、複数の第2車軸の先端部にそれぞれ設けられる。第1駆動部は複数の第2車軸を、第1車軸の周方向に回転させる。第2駆動部は、第2車軸に対して、車輪を回転させる。制御装置は、第1駆動部、および、第2駆動部を制御する。制御装置は、走行車体に載せられた荷物の重量に応じて、路面に接する車輪の数を変更する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
走行車体と、
前記走行車体に設けられる第1車軸と、
前記第1車軸の先端部から前記第1車軸の径方向に延びる複数の第2車軸と、
前記複数の第2車軸の先端部にそれぞれ設けられる車輪と、
前記複数の第2車軸を、前記第1車軸の周方向に回転させる第1駆動部と、
前記第2車軸に対して、前記車輪を回転させる第2駆動部と、
前記第1駆動部、および、前記第2駆動部を制御する制御装置と
を備え、
前記制御装置は、
前記走行車体に載せられる荷物の重量に応じて、路面に接する前記車輪の数を変更する、カートロボット。
【請求項2】
前記制御装置は、前記走行車体に載せられる荷物の重量が所定重量以上である場合、前記走行車体に載せられる荷物の重量が前記所定重量未満である場合よりも、路面に接する前記車輪の数を多くする、請求項1に記載のカートロボット。
【請求項3】
前記第2車軸を前記径方向に伸縮させる第3駆動部
を備え、
前記第1車軸は、複数設けられ、
前記複数の第2車軸は、前記径方向に伸縮可能であり、
前記制御装置は、前記走行車体が水平になるように、前記第1車軸に設けられる各第2車軸の長さを制御する、請求項1または2に記載のカートロボット。
【発明の詳細な説明】
【技術分野】
【0001】
開示の実施形態は、カートロボットに関する。
【背景技術】
【0002】
従来、物品の所定の集荷計画に基づいて自律走行し、棚からアームによって荷物を取り出すカートロボットが知られている(たとえば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、従来の技術のカートロボットは、走行中に路面に接する車輪の数は一定であり、カートロボットの走行性について改善の余地がある。
【0005】
本発明は、上記に鑑みてなされたものであって、走行性を向上させるカートロボットを提供することを目的とする。
【課題を解決するための手段】
【0006】
実施形態の一態様に係るカートロボットは、走行車体と、第1車軸と、複数の第2車軸と、車輪と、第1駆動部と、第2駆動部と、制御装置とを備える。第1車軸は、走行車体に設けられる。複数の第2車軸は、第1車軸の先端部から第1車軸の径方向に延びる。車輪は、複数の第2車軸の先端部にそれぞれ設けられる。第1駆動部は複数の第2車軸を、第1車軸の周方向に回転させる。第2駆動部は、第2車軸に対して、車輪を回転させる。制御装置は、第1駆動部、および、第2駆動部を制御する。制御装置は、走行車体に載せられた荷物の重量に応じて、路面に接する車輪の数を変更する。
【発明の効果】
【0007】
実施形態の一態様によれば、走行性を向上させることができる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施形態に係るカートロボットの概略を示す側面図である。
【
図2】
図2は、実施形態に係る情報処理装置の制御系ブロック図である。
【
図3】
図3は、カートロボットが平坦な走行路を走行する状態を示す図である。
【
図4】
図4は、走行車体に載せられる荷物の重量が、所定重量未満である場合のカートロボットを示す図である。
【
図5】
図5は、カートロボットが階段を走行する状態を示す図である。
【
図6】
図6は、実施形態に係るカートロボットの走行状態の切替処理を説明するフローチャートである。
【
図7】
図7は、変形例に係るカートロボットが平坦な走行路を走行する状態を示す図である。
【
図8】
図8は、情報処理装置として機能するコンピュータハードウェア構成の一例を概略的に示す図である。
【発明を実施するための形態】
【0009】
以下、実施形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0010】
実施形態に係るカートロボット1について、
図1を参照し説明する。
図1は、実施形態に係るカートロボット1の概略を示す側面図である。
【0011】
カートロボット1は、荷物を搬送する。カートロボット1は、載置された荷物を搬送する。カートロボット1は、設定された走行経路に沿って走行する。走行経路は、変更可能であってもよい。
【0012】
カートロボット1は、たとえば、倉庫内の荷物を取り出して搬送する。カートロボット1は、倉庫内における使用に限定されることはない。カートロボット1は、ビル、たとえば、オフィスビル内において使用されてもよい。荷物は、品物、および、書類などを含む。以下では、アーム4を有するカートロボット1を一例として説明するが、これに限られることはない。カートロボット1は、アーム4を有さないものであってもよい。
【0013】
カートロボット1は、走行車体2と、駆動機構3と、アーム4と、検出部5と、情報処理装置6とを備える。走行車体2は、たとえば、上方が開口する箱形に形成される。走行車体2には、荷物が載置可能である。
【0014】
駆動機構3は、走行車体2に設けられる。駆動機構3は、第1車軸10、第2車軸11と、車輪12と、第1駆動部13と、第2駆動部14と、第3駆動部15と、第1ロック部16と、第2ロック部17とを備える。
【0015】
第1車軸10は、走行車体2に設けられる。第1車軸10は、走行車体2に回転自在に支持される。第1車軸10は、複数設けられる。すなわち、駆動機構3は、複数設けられる。第1車軸10は、走行車体2に偶数個設けられる。第1車軸10は、たとえば、走行車体2に4つ設けられる。第1車軸10の数は、4つに限られることはない。第1車軸10の数は、2つでもよく、6つでもよい。第1車軸10は、走行車体2の左右方向に延びるように構成される。第1車軸10が2つである場合、2つの第1車軸10は、前後方向に並んで設けられる。
【0016】
第2車軸11は、第1車軸10の先端部から第1車軸10の径方向に延びるように構成される。第2車軸11は、第1車軸10の径方向に伸縮可能である。第2車軸11は、第1車軸10に対して複数設けられる。複数の第2車軸11は、それぞれ第1車軸10の径方向に伸縮可能である。第2車軸11は、たとえば、1つの第1車軸10に対して4つ設けられる。第2車軸11は、第1車軸10の周方向に沿って等間隔に設けられる。第2車軸11は、第1車軸10が回転された場合、第1車軸10と一体となり回転する。第2車軸11の数は、4つに限られることはない。第2車軸11の数は、3つ以上である。
【0017】
車輪12は、第2車軸11の先端部に設けられる。車輪12は、第2車軸11に対してそれぞれ設けられる。すなわち、車輪12は、1つの第1車軸10に対して複数設けられる。車輪12は、たとえば、1つの第1車軸10に対して4つ設けられる。車輪12は、第2車軸11に対して回転可能となるように設けられる。車輪12は、第2車軸11に回転自在に支持される。
【0018】
第1駆動部13は、複数の第2車軸11を、第1車軸10の周方向に回転させる。第1駆動部13は、第1車軸10を回転させることで、第2車軸11を第1車軸10の周方向に回転させる。第1駆動部13は、複数の第1車軸10に対してそれぞれ設けられる。すなわち、第1駆動部13は、複数設けられる。たとえば、第1駆動部13は、4つ設けられる。第1駆動部13は、モータである。
【0019】
第2駆動部14は、車輪12を回転させる。第2駆動部14は、車輪12毎に設けられる。第2駆動部14は、たとえば、1つの第1車軸10に対して4つ設けられる。第2駆動部14は、モータである。
【0020】
第3駆動部15は、第2車軸11を第1車軸10の径方向に伸縮させる。第3駆動部15は、たとえば、1つの第1車軸10に対して1つ設けられる。第3駆動部15は、第1車軸10に設けられた第2車軸11を第1車軸10の径方向に伸縮させる。第3駆動部15は、第2車軸11毎に設けられてもよい。第2車軸11は、第1車軸10の径方向における長さをそれぞれ変更可能であってもよい。第3駆動部15は、モータと、モータによる回転運動(回動運動)を直進運動に変換する変換機構とを含む。
【0021】
第1ロック部16は、第1車軸10の周方向への第2車軸11の回転を規制可能となるように構成される。第1ロック部16は、第1車軸10の周方向への第2車軸11の回転状態を切り替える。回転状態は、回転が許容される非ロック状態と、回転が規制、具体的には、禁止されるロック状態とを含む。
【0022】
すなわち、第1ロック部16は、第1車軸10の周方向への第2車軸11の回転を禁止させることができる。第1ロック部16がロック状態である場合、第1車軸10が走行車体2に対して回転しないように、第1車軸10が固定される。これにより、第1車軸10の周方向への第2車軸11の回転が禁止される。
【0023】
第1ロック部16が非ロック状態である場合、第1車軸10の固定が解除される。これにより、走行車体2に対して第1車軸10が回転可能となり、第1車軸10の周方向への第2車軸11の回転が許容される。
【0024】
第1ロック部16は、第1車軸10毎に設けられる。第1ロック部16は、たとえば、第1車軸10に係合して、第1車軸10の回転を禁止させる係合部材と、係合部材を動作させるアクチュエータとを含む。アクチュエータは、たとえば、モータなどを含む。
【0025】
第2ロック部17は、車輪12の回転を規制可能となるように構成される。第2ロック部17は、車輪12の回転状態を切り替える。第2ロック部17は、車輪12の回転を禁止させることができる。第2ロック部17がロック状態である場合、車輪12が回転しないように、車輪12が第2車軸11に固定される。これにより、第2車軸11に対する車輪12の回転が禁止される。
【0026】
第2ロック部17が非ロック状態である場合、第2車軸11に対する車輪12の固定が解除される。これにより、第2車軸11に対する車輪12の回転が許容される。
【0027】
第2ロック部17は、車輪12毎、すなわち、第2車軸11毎に設けられる。第2ロック部17は、たとえば、第2車軸11と車輪12とを連結して、第2車軸11に対する車輪12の回転を禁止させる連結部材と、連結部材を動作させるアクチュエータとを含む。
【0028】
アーム4は、走行車体2に取り付けられる。アーム4の基端部が、走行車体2に取り付けられることで、アーム4は、走行車体2に固定される。たとえば、アーム4の基端部は、走行車体2の上端に取り付けられる。アーム4は、走行車体2に対して複数設けられる。たとえば、アーム4は、2つ設けられる。なお、アーム4の数は、これに限られることはない。アーム4は、1つ設けられてもよく、3つ以上設けられてもよい。
【0029】
アーム4は、走行車体2の前端、および、走行車体2の後端に取り付けられる。アーム4は、走行車体2の左右方向の中央付近に取り付けられる。
【0030】
アーム4は、複数の棒部4aと、複数の関節部4bを有する。関節部4bは、たとえば、2つの棒部4aとの間に設けられ、2つの棒部4aを相対的に回転可能とする。各関節部4bは、モータを有する。各関節部4bによって、棒部4aが相対的に回転することで、アーム4は、伸縮し、360度回転可能となる。
【0031】
アーム4の先端部には、把持部4cが設けられる。把持部4cは、たとえば、複数の指部4dを備える。把持部4cに対する指部4dの数は、3本、または、5本である。把持部4cに対する指部4dの数は、これに限られることはない。把持部4cに対する指部4dの数は、2本以上である。アーム4は、複数の指部4dを動かすことで、荷物を把持する。把持部4cは、吸引によって荷物を把持してもよい。
【0032】
検出部5は、第1検出部20と、第2検出部21と含む。第1検出部20は、走行車体2に取り付けられる。第1検出部20は、たとえば、走行車体2の前端に取り付けられる。第1検出部20は、走行車体2の進行方向における走行路の形状を検出する。走行路は、平坦な走行路、および、段差がある走行路、たとえば、階段を含む。走行路の形状は、階段の高さ、階段の奥行き、および、階段の角度を含む。
【0033】
第1検出部20は、カメラである。カメラは、例えばCCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)などの撮像素子と、レンズとを備える。第1検出部20は、ソリッドステートLiDAR(light detection and ranging)、マルチカラーレーザ同軸変位計、又はその他様々なセンサの少なくとも1つを含んでもよい。第1検出部20は、MoPU(Motion Processing Unit)を含んでもよい。MoPUは、高解像度カメラによる動きを検知するユニットである。MoPUは、例えば1000フレーム/秒以上のフレームレートで撮影された物体の画像から、撮影された物体の動きを示す動き情報を、例えば1000フレーム/秒以上のフレームレートで出力する。更に、物体の存在位置を示す点の、所定の座標軸に沿った動きのベクトル情報を動き情報として出力する。すなわち、MoPUから出力される動き情報には、撮影された物体が何であるか(例えば、人なのか、障害物なのか)を識別するために必要な情報は含まれておらず、当該物体の中心点(又は重心点)などの座標軸(x軸、y軸、z軸)上の動き(移動方向と移動速度)を示す情報のみが含まれている。
【0034】
第2検出部21は、アーム4の先端側の動きを検出する。第2検出部21は、たとえば、アーム4に取り付けられる。たとえば、第2検出部21は、アーム4の先端部に取り付けられる。
【0035】
第2検出部21は、カメラである。第2検出部21は、ソリッドステートLiDAR、マルチカラーレーザ同軸変位計、又はその他様々なセンサの少なくとも1つを含んでもよい。第2検出部21は、MoPUを含んでもよい。
【0036】
情報処理装置6は、
図2に示すように、情報取得部30と、制御部31と、情報蓄積部32とを備える。
図2は、実施形態に係る情報処理装置6の制御系ブロック図である。
【0037】
情報取得部30は、第1検出部20、および、第2検出部21によって検知された情報を取得する。情報取得部30は、カートロボット1の動作を指示するコントロールセンタなどから送信される信号を取得する。コントロールセンタなどから送信される信号は、カートロボット1の走行経路に関する情報などを含む。コントロールセンタなどから送信される信号は、荷物に関する情報を含んでもよい。
【0038】
情報取得部30は、重量センサ25(
図1参照)によって計測された荷物の重量に関する情報を取得する。重量センサ25は、走行車体2に設けられる。重量センサ25は、走行車体2に載せられる荷物の重量を計測する。走行車体2に載せられる荷物の重量は、走行車体2に載せられる荷物の総重量である。たとえば、走行車体2に載せられる荷物が、2つである場合、走行車体2に載せられる荷物の重量は、2つの荷物の重量が加算された重量である。
【0039】
制御部31は、コントロールセンタなどから送信され、情報取得部30によって取得された信号に基づいて、アーム4、および、走行車体2の動作を制御する。また、制御部31は、第1検出部20、および、第2検出部21における検知結果に基づいて、アーム4、および、走行車体2の動作を制御する。制御部31は、駆動機構3の各駆動部13~15、および、各ロック部16、17を制御することで、走行車体2の動作を制御する。制御部31は、重量センサ25における計測結果に基づいて、駆動機構3を制御する。
【0040】
制御部31は、第1検出部20による検知結果に基づいて、カートロボット1が走行する走行路が、平坦な走行路であるか、段差、たとえば、階段であるか判定する。制御部31は、第1検出部20による検知結果と、たとえば、AI(Artificial intelligence)とを用いて、カートロボット1が走行する走行路が、平坦な走行路であるか、段差、たとえば、階段であるか判定する。
【0041】
制御部31は、第1ロック部16による規制を制御する。制御部31は、第1車軸10の周方向への第2車軸11の回転状態を切り替える。制御部31は、第1ロック部16によるロック状態、および、非ロック状態を切り替える。
【0042】
制御部31は、第2ロック部17による規制を制御する。制御部31は、車輪12の回転状態を切り替える。制御部31は、第2ロック部17によるロック状態、および、非ロック状態を切り替える。
【0043】
制御部31は、第1駆動部13における第1車軸10の回転速度を制御する。制御部31は、各第1車軸10の回転速度をそれぞれ制御可能である。たとえば、制御部31は、各第1車軸10のうち、少なくとも1つの第1車軸10の回転速度を、他の第1車軸10と異なる回転速度に制御可能である。制御部31は、各第1車軸10の回転方向をそれぞれ制御可能である。
【0044】
制御部31は、第2駆動部14における車輪12の回転速度を制御する。制御部31は、各車輪12の回転速度をそれぞれ制御可能である。たとえば、制御部31は、各車輪12のうち、少なくとも1つの車輪12の回転速度を、他の車輪12と異なる回転速度に制御可能である。
【0045】
制御部31は、第1車軸10の径方向における第2車軸11の伸縮を制御する。制御部31は、第3駆動部15を制御することで、第1車軸10の径方向における第2車軸11の伸縮を制御する。制御部31は、各第2車軸11の伸縮をそれぞれ制御可能である。たとえば、制御部31は、各第2車軸11の少なくとも1つの第2車軸11の長さを、他の第2車軸11と異なる長さに制御可能である。
【0046】
たとえば、制御部31(
図2参照)は、
図3に示すように、カートロボット1が走行する走行路が、平坦な走行路である場合、第1ロック部16(
図1参照)をロック状態にし、第1車軸10を回転させない。
図3は、カートロボット1が平坦な走行路を走行する状態を示す図である。制御部31は、第1車軸10の回転位置を調整した後に、第1車軸10が回転しないように固定する。たとえば、制御部31は、回転角度センサによって、第1車軸10の回転角度を検出し、第1車軸10の回転位置を調整する。
【0047】
また、制御部31は、カートロボット1が走行する走行路が、平坦な走行路である場合、第2ロック部17(
図1参照)を非ロック状態にする。制御部31は、第2駆動部14による車輪12の回転速度を制御することで、カートロボット1を走行させる。
【0048】
制御部31は、カートロボット1が走行する走行路が、平坦な走行路である場合、走行車体2に載せられる荷物の重量に応じて、路面に接する車輪12の数を変更する。
【0049】
なお、重量センサ25は、アーム4に設けられてもよい。この場合、制御部31は、計測された荷物の重量を加算することで、走行車体2に載せられる荷物の重量を算出する。
【0050】
また、走行車体2に載せられる荷物の重量は、荷物毎に登録された重量の合計であってもよい。すなわち、走行車体2に載せられる荷物の重量は、カートロボット1が受け取る荷物毎に登録された重量の合計であってもよい。この場合、各荷物の重量は、各荷物の情報として各荷物の情報に紐付けられる。制御部31は、たとえば、カートロボット1が荷物を受け取った場合に、各荷物の情報から、荷物の重量に関する情報を読み出す。そして、制御部31は、走行車体2に載せられる荷物の重量を計算する。
【0051】
また、制御部31は、走行車体2に載せられる予定の荷物の重量に応じて、路面に接する車輪12の数を変更してもよい。すなわち、走行車体2に載せられる荷物の重量は、走行車体2に載せられる予定の重量を含む。この場合、走行車体2に載せられる予定の荷物の重量に応じて、路面に接する車輪12の数が、予め設定される。
【0052】
制御部31は、走行車体2に載せられる荷物の重量が重い場合、路面に接する車輪12の数を多くする。制御部31は、走行車体2に載せられる荷物の重量が、所定重量以上である場合、走行車体2に載せられる荷物の重量が、所定重量未満である場合よりも、路面に接する車輪12の数を多くする。
【0053】
所定重量は、予め設定された重量である。所定重量は、路面に接する車輪12の数を変更するための閾値である。
【0054】
制御部31は、走行車体2に載せられる荷物の重量が、所定重量未満である場合、たとえば、
図4に示すように、各駆動機構3において、路面に接する車輪12の数がそれぞれ1つとなるように、各駆動機構3を制御する。
図4は、走行車体2に載せられる荷物の重量が、所定重量未満である場合のカートロボット1を示す図である。この場合、カートロボット1は、4つの車輪12が路面に接した状態で走行する。制御部31は、第1駆動部13、および、第2駆動部14を制御することで、路面に接する車輪12の数を変更する。
【0055】
制御部31は、走行車体2に載せられる荷物の重量が、所定重量以上である場合、たとえば、
図3に示すように、各駆動機構3において、路面に接する車輪12の数がそれぞれ2つとなるように、各駆動機構3を制御する。この場合、カートロボット1は8つの車輪12が路面に接した状態で走行する。制御部31は、第1駆動部13、および、第2駆動部14を制御することで、路面に接する車輪12の数を変更する。
【0056】
制御部31は、荷物の重量の計測を、所定の計測タイミングで行う。所定の計測タイミングは、予め設定されたタイミングである。たとえば、所定の計測タイミングは、数分毎である。なお、所定の計測タイミングは、数十秒毎などであってもよい。
【0057】
荷物の重量が所定重量前後で変動する場合に、制御部31は、荷物の重量の計測を所定の計測タイミングで行うことで、路面に接する車輪12の数が繰り返し変更されることを抑制することができる。すなわち、制御部31は、ヒステリシス制御を実行しつつ、荷物の重量に応じて路面に接する車輪12の数を変更する。これにより、制御部31は、車輪12の数が短い時間に繰り返し変更されるハンチングの発生を抑制することができる。
【0058】
たとえば、制御部31(
図2参照)は、
図5に示すように、カートロボット1が走行する走行路が、階段である場合、第2ロック部17(
図1参照)をロック状態にし、第2車軸11に対して車輪12を回転させない。
図5は、カートロボット1が階段を走行する状態を示す図である。
【0059】
また、制御部31は、カートロボット1が走行する走行路が、階段である場合、第1ロック部16(
図1参照)を非ロック状態にする。制御部31は、第1駆動部13による第1車軸10の回転速度を制御することで、第1車軸10、第2車軸11、および、車輪12を一体的に回転させて、カートロボット1を走行させる。
【0060】
カートロボット1が階段を走行する場合に、第2車軸11に対して車輪12が回転せずに固定され、第2車軸11、および、車輪12が一体となり回転することで、カートロボット1は、階段を昇降することができる。
【0061】
制御部31は、カートロボット1が走行する走行路が、階段である場合、階段の形状(階段の高さ、階段の奥行き、階段の角度)に応じて、第2車軸11を伸縮させる。具体的には、制御部31は、階段の形状に合わせて第2車軸11の長さを調整する。これにより、カートロボット1は、階段における走行姿勢を安定させることができる。また、カートロボット1は、形状が異なる階段を昇降することができる。
【0062】
制御部31は、第2検出部21による検知結果に応じてアーム4の動作を制御し、荷物を受け渡す。荷物の受け渡しは、荷物の取り出しを含む。
【0063】
制御部31がアーム4の動作を制御することで、カートロボット1は、エレベータによって異なるフロア間を移動可能であってもよい。制御部31は、第2検出部21による検知結果に基づいて、アーム4を制御し、アーム4によってエレベータの行先階のボタンを押す。これにより、エレベータがある建物において、カートロボット1は、階段を使わずに階をまたいだ移動が可能となる。
【0064】
情報蓄積部32は、たとえば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子などの記憶媒体によって実現される。情報蓄積部32は、制御部31によって実行される各種のプログラムを記憶する。情報蓄積部32は、情報取得部30によって取得された情報を記憶する。
【0065】
次に、実施形態に係るカートロボット1の走行状態の切替処理について、
図6のフローチャートを用いて説明する。
図6は、実施形態に係るカートロボット1の走行状態の切替処理を説明するフローチャートである。切替処理は、カートロボット1が平坦な走行路を走行している場合の処理である。
【0066】
情報処理装置6は、走行車体2に載せられる荷物の重量を計測する(S100)。情報処理装置6は、重量センサ25によって走行車体2に載せられる荷物の重量を計測する。
【0067】
情報処理装置6は、走行車体2に載せられる荷物の重量が、所定重量以上であるか否かを判定する(S101)。
【0068】
情報処理装置6は、走行車体2に乗せられる荷物の重量が、所定重量以上である場合(S101:Yes)、路面に接する車輪12の数が多くなるように、各駆動機構3を制御する(S102)。たとえば、情報処理装置6は、各駆動機構3において路面に2つの車輪12が接するように、各駆動機構3を制御する。なお、すでに、各駆動機構3において路面に2つの車輪12が接するように、各駆動機構3が制御されている場合、ステップS102の処理はスキップされる。
【0069】
情報処理装置6は、走行車体2に載せられる荷物の重量が、所定重量未満である場合(S101:No)、路面に接する車輪12の数が少なくなるように、各駆動機構3を制御する(S103)。たとえば、情報処理装置6は、各駆動機構3において路面に1つの車輪12が接するように、各駆動機構3を制御する。なお、すでに、各駆動機構3において路面に1つの車輪12が接するように、各駆動機構3が制御されている場合、ステップS103の処理はスキップされる。
【0070】
カートロボット1は、走行車体2と、第1車軸10と、複数の第2車軸11と、車輪12と、第1駆動部13と、第2駆動部14と、情報処理装置6とを備える。第1車軸10は、走行車体2に設けられる。複数の第2車軸11は、第1車軸10の先端部から第1車軸10の径方向に延びる。車輪12は、複数の第2車軸11の先端部にそれぞれ設けられる。第1駆動部13は、複数の第2車軸11を、第1車軸10の周方向に回転させる。第2駆動部14は、第2車軸11に対して、車輪12を回転させる。情報処理装置6は、第1駆動部13、および、第2駆動部14を制御する。情報処理装置6は、走行車体2に載せられる荷物の重量に応じて、路面に接する車輪12の数を変更する。
【0071】
これにより、カートロボット1は、走行車体2に載せられる荷物の重量に応じて変更される車輪12が路面に接した状態で走行する。そのため、カートロボット1は、走行車体2に載せられる荷物の重量に適した車輪12の数によって走行することができ、走行性を向上させることができる。
【0072】
情報処理装置6は、走行車体2に載せられる荷物の重量が所定重量以上である場合、走行車体2に載せられる荷物の重量が所定重量未満である場合よりも、路面に接する車輪12の数を多くする。
【0073】
これにより、カートロボット1は、走行車体2に載せられる荷物の重量が重い場合に、多くの車輪12が路面に接した状態で走行する。そのため、カートロボット1は、安定した姿勢で走行することができる。また、カートロボット1は、走行車体2に載せられる荷物の重量が軽い場合に、少ない車輪12が路面に接した状態で走行する。そのため、カートロボット1は、旋回半径を小さくすることができ、小回りすることができる。
【0074】
なお、情報処理装置6の制御部31は、走行車体2の前後方向に配置された駆動機構3において、路面に接する車輪12の数が異なるように、各駆動機構3を制御してもよい。たとえば、制御部31は、
図7に示すように、前方側の各駆動機構3において、路面に接する車輪12の数を1つにし、かつ、後方側の各駆動機構3において、路面に接する車輪12の数を2つにする。
図7は、変形例に係るカートロボット1が平坦な走行路を走行する状態を示す図である。
【0075】
この場合、制御部31は、走行車体2が水平になるように、各駆動機構3を制御する。具体的には、制御部31は、第3駆動部15を制御し、第2車軸11を伸縮させることで、走行車体2を水平にする。なお、路面に接する車輪12が取り付けられた第2車軸11のみを伸縮させてもよい。
【0076】
これにより、カートロボット1は、走行車体2に搭載される荷物の重量に応じて、駆動機構3において路面に接する車輪12の数を変更しつつ、走行車体2を水平に保つことができる。そのため、カートロボット1は、走行車体2内で荷物が動くことを抑制することができる。
【0077】
制御部31は、上記するように、荷物の重量の計測を所定の計測タイミングで行ってもよい。これにより、制御部31は、荷物の重量が所定重量前後で変動する場合に、第2車軸11の伸縮が繰り返し実行されることを抑制することができる。たとえば、荷物の重量が所定重量を跨ぐように変化した場合であっても、第2車軸11は、荷物の重量の計測が行われる所定の計測タイミングに応じて、第2車軸11を伸縮させる。これにより、制御部31は、車輪12の伸縮が短い時間に繰り返し変更されるハンチングの発生を抑制することができる。
【0078】
また、所定重量は、複数設定されてもよい。たとえば、所定重量は、第1所定重量、第2所定重量を含む。第2所定重量は、第1所定重量よりも重い重量である。制御部31は、走行車体2に載せられる荷物の重量に応じて、段階的に、路面に接する車輪12の数を変更する。
【0079】
たとえば、制御部31は、走行車体2に載せられる荷物の重量が、第1所定重量未満である場合、各駆動機構3において、路面に接する車輪12の数がそれぞれ1つとなるように、各駆動機構3を制御する。
【0080】
制御部31は、走行車体2に載せられる荷物の重量が、第1所定重量以上であり、かつ、第2所定重量未満である場合、前方側の各駆動機構3において、路面に接する車輪12の数が1つとなり、各駆動機構3を制御する。また、制御部31は、走行車体2に載せられる荷物の重量が、第1所定重量以上であり、かつ、第2所定重量未満である場合、後方側の各駆動機構3において、路面に接する車輪12の数が2つとなるように、各駆動機構3を制御する。なお、制御部31は、前方側の各駆動機構3において、路面に接する車輪12の数を2つとし、かつ、後方側の各駆動機構3において、路面に接する車輪12の数を1つとしてもよい。
【0081】
制御部31は、走行車体2に載せられる荷物の重量が、第2所定重量以上である場合、各駆動機構3において、路面に接する車輪12の数がそれぞれ2つとなるように、各駆動機構3を制御する。
【0082】
図8は、情報処理装置6として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す図である。コンピュータ1200にインストールされたプログラムは、コンピュータ1200を、本実施形態に係る装置の1又は複数の「部」として機能させ、又はコンピュータ1200に、本実施形態に係る装置に関連付けられるオペレーション又は当該1又は複数の「部」を実行させることができ、および/又はコンピュータ1200に、本実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャートおよびブロック図のブロックのうちのいくつか又は全てに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。
【0083】
本実施形態によるコンピュータ1200は、CPU1212、RAM1214、およびグラフィックコントローラ1216を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、記憶装置1224、DVDドライブ、およびICカードドライブのような入出力ユニットを含み、それらは入出力コントローラ1220を介してホストコントローラ1210に接続されている。DVDドライブは、DVD-ROMドライブおよびDVD-RAMドライブ等であってよい。記憶装置1224は、ハードディスクドライブおよびソリッドステートドライブ等であってよい。コンピュータ1200はまた、ROM1230およびキーボードのような入出力ユニットを含み、それらは入出力チップ1240を介して入出力コントローラ1220に接続されている。
【0084】
CPU1212は、ROM1230およびRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ1216は、RAM1214内に提供されるフレームバッファ等又はそれ自体の中に、CPU1212によって生成されるイメージデータを取得し、イメージデータがディスプレイデバイス1218上に表示されるようにする。
【0085】
通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。記憶装置1224は、コンピュータ1200内のCPU1212によって使用されるプログラムおよびデータを格納する。DVDドライブは、プログラム又はデータをDVD-ROM等から読み取り、記憶装置1224に提供する。ICカードドライブは、プログラムおよびデータをICカードから読み取り、および/又はプログラムおよびデータをICカードに書き込む。
【0086】
ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、および/又はコンピュータ1200のハードウェアに依存するプログラムを格納する。入出力チップ1240はまた、様々な入出力ユニットをUSBポート、パラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ1220に接続してよい。
【0087】
プログラムは、DVD-ROM又はICカードのようなコンピュータ可読記憶媒体によって提供される。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもある記憶装置1224、RAM1214、又はROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ1200の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
【0088】
例えば、通信がコンピュータ1200および外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、記憶装置1224、DVD-ROM、又はICカードのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、又はネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
【0089】
また、CPU1212は、記憶装置1224、DVDドライブ(DVD-ROM)、ICカード等のような外部記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。
【0090】
様々なタイプのプログラム、データ、テーブル、およびデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、当該複数のエントリの中から、第1の属性の属性値が指定されている条件に一致するエントリを検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0091】
上記したプログラム又はソフトウエアモジュールは、コンピュータ1200上又はコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワーク又はインターネットに接続されたサーバシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
【0092】
本実施形態におけるフローチャートおよびブロック図におけるブロックは、オペレーションが実行されるプロセスの段階又はオペレーションを実行する役割を持つ装置の「部」を表してよい。特定の段階および「部」が、専用回路、コンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、および/又はコンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタルおよび/又はアナログハードウェア回路を含んでよく、集積回路(IC)および/又はディスクリート回路を含んでよい。プログラマブル回路は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、およびプログラマブルロジックアレイ(PLA)等のような、論理積、論理和、排他的論理和、否定論理積、否定論理和、および他の論理演算、フリップフロップ、レジスタ、並びにメモリエレメントを含む、再構成可能なハードウェア回路を含んでよい。
【0093】
コンピュータ可読記憶媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読記憶媒体は、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読記憶媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読記憶媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0094】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、および「C」プログラミング言語又は同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかを含んでもよい。
【0095】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路が、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を生成するために当該コンピュータ可読命令を実行すべく、ローカルに又はローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路に提供されてよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0096】
以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。そのような変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0097】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0098】
1 カートロボット
2 走行車体
3 駆動機構
4 アーム
6 情報処理装置(制御装置)
10 第1車軸
11 第2車軸
12 車輪
13 第1駆動部
14 第2駆動部
15 第3駆動部
25 重量センサ
30 情報取得部
31 制御部
32 情報蓄積部