首页 > 运动玩具 专利正文
控制系统、控制方法和程序与流程

时间:2022-02-24 阅读: 作者:专利查询

控制系统、控制方法和程序与流程

1.本发明涉及控制系统、控制方法和程序。


背景技术:

2.例如,存在诸如赛车游戏的游戏,其中输出诸如汽车和障碍物的对象的图像,并且用户通过查看其图像来操纵他或她自己的对象。通过程序虚拟地检测由用户操纵的对象与另一对象和障碍物之间的诸如碰撞的交互的存在或不存在,并且其检测结果反映在图像或声音输出中。
3.ptl 1公开了由使用者在垫子上操纵的自推进设备的行进。
4.[引用列表]
[0005]
[专利文献]
[0006]
[ptl 1]
[0007]
pct专利公开号wo2018/025467


技术实现要素:

[0008]
[技术问题]
[0009]
本发明人等创造了一种游戏,其中包括诸如马达的驱动机构的移动装置基于用户操纵而移动,并且创造了另一种游戏,其中除了由用户操纵的用于比赛的装置之外,还提供通过程序移动的移动装置。在移动真实装置的情况下,必须考虑实际的物理现象。物理现象包括例如在不同位置处替换由程序移动的装置和由用户操纵的装置、这些装置的倾翻、这些装置与障碍物或由程序移动的另一对象的碰撞、以及由于外部原因以及移动装置的物理移动而发生的其它现象。由于仅通过控制驱动机构来精确地控制移动装置存在困难,因此不容易检测由程序移动的移动装置和由用户操纵的装置之间的物理位置关系。由于这些物理现象,很难正确地控制游戏。
[0010]
本发明鉴于上述情况而提出,其目的在于提供一种在通过用户的操纵或其他手段使实际的对象移动的情况下,能够处理物理现象的技术。
[0011]
[问题解决方案]
[0012]
为了解决上述问题,根据本发明的控制系统包括移动装置、操纵获取装置、行进控制装置、位置检测装置、确定装置和执行装置,移动装置是在布置有指示坐标的图像的片材上移动的装置,并且具有用于拍摄片材的一部分的相机,操纵获取装置适于获取用户的操纵,行进控制装置适于以移动装置根据用户的操纵行进的方式执行控制,位置检测装置适于基于由包括在移动装置中的相机拍摄的图像来检测移动装置的位置,确定装置适于基于位置检测装置的位置检测来确定移动装置是否已经以基于用户的操纵估计的方式移动,执行装置适于在确定移动装置没有以估计的方式移动的情况下执行预定的过程。
[0013]
另外,根据本发明的控制方法包括:获取用户的操纵的步骤;根据用户的操纵,使具有对配置有表示坐标的图像的片材的一部分进行拍摄的相机的移动装置在片材上移动
的步骤;根据移动装置中包括的相机所拍摄的图像,检测移动装置的位置的步骤;根据移动装置的位置检测,确定移动装置是否以基于用户的操纵而估计的方式移动的步骤;以及在确定移动装置不以估计的方式移动的情况下,执行预定的过程的步骤。
[0014]
另外,本发明的程序使计算机作为:获取用户的操纵获取装置、根据用户的操纵使具有对配置有表示坐标的图像的片材的一部分进行拍摄的相机的移动装置在片材上移动的移动控制装置、根据移动装置中包括的相机所拍摄的图像来控制移动装置的位置检测控制装置、根据位置检测控制装置的位置检测来确定移动装置是否以基于用户的操纵而估计的方式移动的确定装置、以及在确定为移动装置未以估计的方式移动的情况下执行预定的过程的执行装置。
[0015]
在本发明的实施例中,确定装置可以基于由位置检测装置检测到的位置,确定移动装置是否已经以基于用户的操纵而估计的方式移动。
[0016]
在本发明的实施例中,移动装置还可以包括传感器,其适于检测移动装置是否已经与另一对象碰撞,确定装置可以基于传感器的输出来确定移动装置是否已经与另一对象碰撞,并且执行装置可以在确定移动装置没有以估计的方式移动并且移动装置已经与另一对象碰撞的情况下执行预定的过程。
[0017]
在本发明的实施例中,在确定移动装置没有以估计的方式移动并且移动装置已经与另一对象碰撞的情况下,执行装置可以以移动装置被旋转并且在移动装置旋转之后移动装置的取向落入片材上的预定方向范围内的方式执行控制。
[0018]
在本发明的实施例中,控制系统还包括另一移动装置,其具有用于拍摄片材的一部分的相机。位置检测装置可以基于由包括在另一移动装置中的相机拍摄的图像来检测另一移动装置的位置。
[0019]
在本发明的实施例中,确定装置可以基于由用户操纵的移动装置的位置和另一移动装置的位置来确定移动装置和另一移动装置是否彼此接近,在确定移动装置没有以估计的方式移动、移动装置已经与另一对象碰撞、以及移动装置和另一移动装置彼此接近的情况下,执行装置可以执行第一过程,并且在确定移动装置没有以估计的方式移动、移动装置已经与另一对象碰撞、以及移动装置和另一移动装置没有彼此接近的情况下,执行装置可以执行不同于第一过程的第二过程。
[0020]
在本发明的实施例中,确定装置可以基于位置检测装置对另一移动装置的另一位置的检测,确定移动装置是否以基于用户的操纵而估计的方式移动,执行装置在确定另一移动装置以估计的方式移动的情况下,基于用户的操纵的移动装置的位置与另一移动装置的位置的接近度,移动另一移动装置。
[0021]
在本发明的实施例中,确定装置可以确定位置检测装置是否检测到移动装置的位置,执行装置在位置检测装置未检测到移动装置的位置的情况下,输出用于指示用户将移动装置安排在片材上的消息,并可以基于位置检测装置检测到的移动装置的最后的位置来计算片材上的返回范围,执行装置在已经输出了指示消息后,在位置检测装置检测到的移动装置的位置不在返回范围内的情况下,输出错误消息。
[0022]
在本发明的实施例中,执行装置可以在片材上印刷多个返回范围,并且执行装置可以基于由位置检测装置检测出的移动装置的最后的位置,从多个返回范围中选择返回范围,并输出指示所选择的返回范围的指令消息。
[0023]
另外,根据本发明的另一控制系统包括第一装置和第二装置,每个装置是在布置有指示坐标的图像的片材上行进的装置,并且每个装置具有用于拍摄片材的一部分的相机,适于获取用户的操纵的操纵获取装置,适于以第一装置根据用户的操纵行进的方式执行控制的第一行进控制装置,适于基于由包括在第一装置中的相机拍摄的图像来检测第一装置的位置并且基于由包括在第二装置中的相机拍摄的图像来检测第二装置的位置的位置检测装置,以及适于基于由位置检测装置检测的第一装置的位置和第二装置的位置来决定第二装置的目的地,并且基于决定的目的地来控制第二装置的行进的第二行进控制装置。
[0024]
在本发明的实施例中,第二装置还可以包括适于检测与另一对象的碰撞的传感器,并且第二行进控制装置还可以基于传感器的信号来控制第二装置的行进。
[0025]
根据本发明,可以解决在通过用户操纵或通过其它手段移动实际对象的情况下的物理现象。
附图说明
[0026]
图1是示出根据本发明的实施例的控制系统的示例的图。
[0027]
图2是示出控制系统的硬件配置的图。
[0028]
图3是示出车的示例的图。
[0029]
图4是示出片材的示例的图。
[0030]
图5是示出由控制系统实现的功能的框图。
[0031]
图6是示出由控制系统执行的处理的示例的流程图。
[0032]
图7是示出返回处理的示例的流程图。
[0033]
图8是示出了被操纵车的正常行进控制处理的示例的流程图。
[0034]
图9是示出受控车的正常行进控制处理的示例的流程图。
[0035]
图10是描述对受控车的控制的图。
[0036]
图11是示出受控车和被操纵车的计划行进路径之间的关系的示例的图。
[0037]
图12是示出受控车和被操纵车的计划行进路径之间的关系的另一示例的图。
[0038]
图13是描述在第一碰撞处理中的旋转运动的图。
[0039]
图14是示出第一碰撞处理的示例的流程图。
[0040]
图15是示出片材的另一示例的图。
具体实施方式
[0041]
下面将基于附图给出本发明的实施例的描述。在出现的部件中,具有相同功能的部件将由相同的附图标记表示,并且将省略对它们的描述。在本发明的实施例中,根据用户操纵而移动的移动装置在片材上移动。
[0042]
图1是示出根据本发明的实施例的控制系统的示例的图。根据本发明的控制系统包括设备控制装置10、车20a和20b、控制器17和盒式存储器18。车20a和20b中的每一个是包括相机24的自推进移动设备,并且两个车具有相同的功能。在以下描述中,除非特别需要区分车20a和车20b,否则将这两个车表示为车20。设备控制装置10以无线方式控制车20,设备控制装置10具有凹部32,在车20嵌入凹部32时,设备控制装置10对车20进行充电。控制器17
是用于获取用户操纵的输入装置,通过电缆与设备控制装置10连接。盒式存储器18包括非易失性存储器。
[0043]
图2是示出根据本发明实施例的控制系统的硬件配置的图。设备控制装置10包括处理器11、存储部分12、通信部分13和输入/输出部分14。每个车20包括处理器21、存储部分22、通信部分23、相机24、两个马达25和加速度传感器26。设备控制装置10可以是已经被优化以控制车20的专用装置,或者可以是通用计算机。
[0044]
处理器11根据存储在存储部分12中的程序进行操作,并且控制通信部分13、输入/输出部分14等。处理器21根据存储在存储部分22中的程序进行操作,并且控制通信部分23、相机24、马达25等。尽管在盒式存储器18中的诸如闪存的计算机可读存储介质中存储和提供了上述程序,但是也可以通过诸如因特网的网络提供上述程序。
[0045]
存储部分12包括在设备控制装置10中内置的动态随机存取存储器(dram)和非易失性存储器、以及盒式存储器18中的非易失性存储器等。存储部分22包括dram、非易失性存储器等。存储部分12和22存储上述程序。此外,存储部分12和22存储从处理器11和21、通信部分13和23等输入的信息和计算结果。
[0046]
通信部分13和23中的每一个包括用于与其它设备通信的集成电路、天线等。通信部分13和23具有例如根据蓝牙(注册商标)协议彼此通信的功能。通信部分13和23在处理器11和21的控制下,将从其它装置接收的信息输入到处理器11和21以及存储部分12和22,并将信息发送到其它装置。应当注意,通信部分13可以具有经由诸如局域网(lan)的网络与其它装置通信的功能。
[0047]
输入/输出部分14包括用于从诸如控制器17的输入设备获取信息的电路和用于控制诸如声音输出设备和图像显示设备的输出设备的电路。输入/输出部分14从输入设备取得输入信号,将对该输入信号进行变换而得到的信息输入到处理器11和存储部分12。此外,输入/输出部分14在处理器11等的控制下使扬声器输出声音并且使显示设备输出图像。
[0048]
马达25是所谓的伺服马达,其方向、旋转量和旋转速度由处理器21控制。两个马达25分别配置有车轮254,马达25驱动所配置的车轮254。
[0049]
相机24被布置成对车20下方的区域拍照,并且对印刷在其上放置有车20的片材31(参见图4)上的图案拍照。在本实施例中,在红外频率域中识别的图案被印刷在片材31上,并且相机24拍摄其红外图像。
[0050]
加速度传感器26测量施加在车20上的加速度,加速度传感器26输出测量的加速度值。应当注意,加速度传感器26可以与陀螺传感器集成。
[0051]
图3是示出了车20的示例的图。图3是从下面看的车20的视图。车20还包括电源开关250、开关222和两个轮子254。
[0052]
图4是示出了其上布置有车20的片材31的示例的图。不仅用户可以视觉识别的图像而且相机24可以拍摄的图案也被印刷在片材31上。
[0053]
在图4所示的示例中,在片材31上以视觉上可识别的方式印刷环形的允许行进区域35、禁止行进区域36和区号37。允许行进区域35是车20能够行进的区域。在片材31上的区域中,禁止行进区域36是除了允许行进区域35之外的区域,并且车20被控制系统以使得不在该区域中行进的方式控制。在图4中,用虚线将允许行进区域35分割成多个部分区域,在每个分割区域中印刷用于识别每个分割区域的区号37。图4示出了在片材31上行进的被操
纵车20c和受控车20d,被操纵车20c是根据用户的转向操纵和加速/减速操纵行进的车20。受控车20d是基于当前位置和被操纵车20c的位置由程序控制的车。
[0054]
将给出印刷在片材31上的图案等的详细描述。给定尺寸(例如,0.2mm见方)的单元图案以矩阵形状布置在片材31上。每个单元图案是通过对每个图案布置的位置的坐标进行编码而获得的图像。在可以由编码坐标表示的坐标空间中,将与片材31的尺寸相对应的区域分配给片材31。
[0055]
在根据本实施例的控制系统中,通过车20的相机24拍摄印刷在片材31等上的单元图案,并且车20或设备控制装置10通过对单元图案进行解码来获取坐标。这允许识别车20在片材31等上的位置。另外,车20或设备控制装置10还通过检测由相机24拍摄的图像中的单元图案的取向来计算车20的取向。
[0056]
该控制系统通过使用印刷在片材31等上的图案,而不使用诸如立体相机的任何其它装置,能够以高精度识别车20在片材31等上的位置。
[0057]
下面将给出该控制系统的操作的描述。图5是示出由控制系统实现的功能的框图。该控制系统在功能上具有操纵获取部分51、行进控制部分52、位置检测部分53、运动确定部分54、运动处理部分55。操纵获取部分51、行进控制部分52、位置检测部分53、运动确定部分54、运动处理部分55主要通过设备控制装置10中包括的处理器11执行存储部分12中存储的程序,并经由通信部分13控制车20来实现。位置检测部分53、行进控制部分52等的一些功能通过车20中包括的处理器21执行存储部分22中存储的程序,并通过通信部分23与设备控制装置10进行数据交换,并控制相机24、马达25来实现。
[0058]
操纵获取部分51通过输入/输出部分14从控制器17获取用户操纵。所获取的用户操纵例如是控制器的倾斜、是否按下了按钮、以及轻推转盘位置。操纵获取部分51获取这些操作,例如,作为车的转向操作、加速操作和制动操作。
[0059]
行进控制部分52以这样的方式执行控制,使得被操作的车20c根据用户操纵行进。被操纵车20c是车20中的任何一个,并且行进控制部分52根据与用户的转向操纵对应的用户操纵来改变被操纵车20c的行进取向,并且根据与加速操纵和制动操纵对应的用户操纵来增加和减小被操纵车20c的行进速度。
[0060]
位置检测部分53从由车20的相机24拍摄的图像,识别对坐标进行编码而得到的图案。位置检测部分53根据由图案指示的坐标来检测车20所处的坐标(位置)及其取向。另外,设备控制装置10中包括的处理器11通过执行用于实现位置检测部分53的一部分功能的应用程序,从而执行控制,使得基于拍摄图像检测坐标(位置)和取向,并且在检测成功的情况下,处理器11获取检测到的坐标(位置)和取向,并将其存储在存储部分12中。应该注意,可以由车20来执行基于图像的位置和取向的检测。或者,可以作为由设备控制装置10中包括的处理器来执行存储在存储部分12中的固件的结果来执行检测。
[0061]
运动确定部分54基于位置检测部分53的位置检测来确定车20是否以由行进控制部分52执行的控制所估计的方式移动。也就是说,在被操纵车20c的情况下,等同于通过运动确定部分54来确定被操纵车20c是否以基于用户操纵所估计的方式移动。更具体而言,运动确定部分54基于由位置检测部分53检测出的位置,确定车20是否以根据行进控制部分52执行的控制而估计的方式移动,并且运动确定部分54确定车20的位置是否由位置检测部分53检测出。
[0062]
在确定车20不以估计的方式移动的情况下,运动处理部分55执行预定的过程。
[0063]
下面将给出由该控制系统执行的处理的更详细的描述。图6是示出由控制系统执行的处理的示例的流程图。图6所示的处理对多个车20中的每一个定期重复。在下面的描述中,将被处理的车20表示为自己车。
[0064]
首先,位置检测部分53根据由相机24拍摄的图像,检测自己车的当前坐标(位置)和取向(步骤s101)。此外,位置检测部分53在上述检测成功的情况下,获取所检测到的位置和取向。
[0065]
然后,运动确定部分54基于上述执行的检测中的图像确定是否检测出自己车的位置(步骤s102)。在不能基于图像检测自己车的位置的情况下(步骤s102中的否),自己车已经被手动移除、已经离开路线、或者倾倒。因此,运动处理部分55执行用于将自己车带回到片材31上(期望地进入允许行进区域35中)的返回处理(步骤s103)。
[0066]
这里,将详细描述返回处理。图7是示出返回处理的示例的流程图。首先,运动处理部分55从自相机24获取的图像中获取最后检测的坐标(先前坐标)(步骤s201)。接下来,运动处理部分55基于最后检测到的坐标来识别返回区域(步骤s202)。要识别的返回区域是车20要被带回的区域,并且可以是例如通过划分图4中的允许行进区域35而获得的部分区域之一,并且运动处理部分55可以将包括最后检测到的坐标的部分区域识别为返回区域。应当注意,运动处理部分55可以将具有半径r并且以最后检测到的坐标为中心的圆形区域识别为返回区域。
[0067]
当识别出返回区域时,运动处理部分55输出包括指示所识别的返回区域的信息的消息声音(步骤s203)。表示所识别的返回区域的信息可以是例如印刷在被识别为返回区域的部分区域中的区域码37。应当注意,该消息可以不包括指示返回区域的信息。
[0068]
然后,运动处理部分55等待,直到位置检测部分53从由自己车的相机24拍摄的图像中检测到坐标(步骤s204)。当位置检测部分53检测到坐标时,运动处理部分55确定检测到的坐标是否位于识别出的返回区域内(步骤s205)。在检测到的坐标位于识别的返回区域内的情况下(步骤s205中的是),假定车已经被成功带回,则处理终止,之后,图6中所示的处理重新开始。同时,在检测到的坐标不位于识别的返回区域内的情况下(步骤s205中的否),很可能发生作弊或者车被带回到其上的位置是错误的。因此,运动处理部分55以声音或其它形式输出错误消息(步骤s206)。
[0069]
由于将指示返回区域的信息作为消息输出,用户可以通过将车20布置在正确的区域中容易地恢复比赛。
[0070]
下面将描述图6所示的步骤s102和后续步骤中的处理。在基于图像成功地检测到自己车的位置的情况下(步骤s102中的否),运动确定部分54基于在前一处理期间获取的坐标和由行进控制部分52执行的对自己车的移动的最近控制(步骤s104),来估计在不存在异常的情况下自己车所处的坐标范围。然后,运动确定部分54确定由位置检测部分53检测的坐标是否位于估计坐标范围内(步骤s105)。
[0071]
在检测到的坐标位于估计坐标范围内的情况下(步骤s105中的是),自己车在由外部原因引起的移动上没有困难。因此,行进控制部分52执行正常行进控制处理(步骤s106)。稍后将描述正常行进控制处理。
[0072]
在检测到的坐标位于估计坐标范围之外的情况下(步骤s105中的是),运动确定部
分54还执行以下处理以分析外部原因。首先,运动确定部分54获取装入自己车的加速度传感器26的输出(加速度矢量)(步骤s107)。然后,运动确定部分54基于从加速度传感器26获取的加速度矢量的大小是否大于给定阈值,确定加速度传感器26的输出是否指示发生自己车与另一对象的碰撞(步骤s108)。应当注意,可以基于加速度矢量在除垂直方向以外的方向上的分量的大小来判断是否发生了碰撞。
[0073]
在加速度传感器26的输出没有表示发生了与其他对象的碰撞的情况下(步骤s106中的否,行进控制部分52进行通常行进控制处理(步骤s106)。另一方面,在加速度传感器26的输出表示发生了与其他对象的碰撞的情况下(步骤s106的中的是),运动确定部分54进一步确定是否发生了与其他车的碰撞(步骤s109)。可以仅基于自己车和另一车20是否接近(它们之间的距离是否小于距离阈值)或者进一步基于另一车20的运动矢量是否取向接近自己车的方向来确定在自己车与另一车20之间是否发生碰撞。
[0074]
在确定为与其他车20发生了碰撞的情况下(步骤s109中的是),运动处理部分55执行第一碰撞处理(步骤s110),在确定为未与其他车20发生碰撞的情况下(步骤s109中的否),运动处理部分55执行第二碰撞处理(步骤s111)。稍后将详细描述第一处理和第二碰撞处理。
[0075]
应当注意,运动确定部分54可以确定自己车是否以与步骤s104和s105中的处理不同的方式以估计的方式移动。例如,运动确定部分54可以基于由行进控制部分52执行的对自己车的移动的最近控制来计算估计移动矢量,根据当前坐标和在先前处理期间获取的坐标来计算实际移动矢量,并且进一步确定估计移动矢量与实际移动矢量之间的差是否落入容许范围内。此外,运动确定部分54可以基于在行进控制部分52对自己车的移动执行的最近控制和最后处理期间获取的坐标来估计在不存在异常的情况下,自己车位于的坐标,并且运动确定部分54可以确定所估计的坐标与所检测的当前坐标之间的差是否落入容许范围内。
[0076]
接下来将给出正常行进控制处理的描述。正常行进控制处理在通过用户操纵而行进的被操纵车20c和由程序控制的受控车20d之间是不同的。
[0077]
图8是示出了被操纵车20c的正常行进控制处理的示例的流程图。在自己车是被操纵车20c的情况下,操纵获取部分51获取用户操纵(转向操纵和加速/减速操纵)(步骤s301),并且行进控制部分52基于所获取的用户操纵来决定被操纵车20c移动的速度和方向。行进控制部分52控制被操纵车20c的马达,使得被操纵车20c以所决定的速度和方向行进(步骤s302)。在自己车是被操纵车20c的情况下,被操纵车20c移动的速度和方向由用户操纵决定。因此,在图6的步骤s104中估计的自己车的移动(这里的坐标范围)基于用户操纵。
[0078]
图9是示出受控车20d的正常行进控制处理的示例的流程图。在自己车是受控车20d的情况下,行进控制部分52首先获取自己车的坐标(步骤s351)。这些坐标可以是在步骤s101中检测到的坐标。接着,行进控制部分52选择从自己车观察时位于路线前方的标记42(参照图10)中的一个(步骤s352)。
[0079]
图10是描述对受控车20d的行进的控制的图。在片材31上的允许行进区域35中行进的受控车20d所采取的标准路线被预先确定,并且在图10中虚拟地描绘为参考线41。而且,该路线由布置在该路线上的多个虚拟标记42限定。实际上,标记42作为点坐标的信息存
储在存储部分12中,参考线41是顺序连接多个标记42的线段,标记42是受控车20d行进期间的目标点,并且在理想环境中,受控车20d被控制为顺序通过多个标记42。应当注意,在步骤s351中选择的标记42可以是位于最靠近受控车20d的给定数量的标记42(例如,三个)的最前位置的标记42。或者,可以通过获得从自己车延伸到标记42的矢量的取向(第一取向)和该标记42与其前方和与其相邻的标记42的连接取向(第二取向),并且通过确保在第一取向和第二取向之间形成的角度小于给定值并且从自己车延伸到标记42的矢量不通过禁止行进区域36,来选择标记42。
[0080]
当标记42被选择时,行进控制部分52确定自己车和另一车20(例如,被操纵车20c)之间的距离是否等于或小于控制阈值(步骤s353)。在距离大于控制阈值的情况下(步骤s353中的否),将所选择的标记设置为目标点(步骤s354)。
[0081]
同时,在距离等于或小于控制阈值的情况下(步骤s353中的否),行进控制部分52确定其他车20是否位于路径的后方(步骤s356)。例如,可以通过确定在从最靠近自己车的标记42延伸到其前面的标记的矢量与从自己车延伸到另一车20的矢量之间形成的角度的绝对值是否大于给定值(例如,大于90度但小于180度的常数)来确定另一车20是否位于路线的后面。
[0082]
在其他车20位于路线后方的情况下(步骤s356中的否),行进控制部分52决定目标点44,以便使其成为妨碍其他车20行进的状态(步骤s357)。
[0083]
图11是示出受控车20d和被操纵车20c的计划行进路径之间的关系的示例的图。受控车20d对应于自己车,而受控车20c对应于其他车20。在步骤s357中,例如,行进控制部分52基于检测到的其他车20的坐标的变化来计算当前运动矢量,并从该运动矢量预测其他车20的运动路径。然后,行进控制部分52将更接近预测移动路径并且距选择标记42的距离小于阈值的点决定为目标点44。作为决定目标点44的结果,还决定行进路径43。
[0084]
另外,在其他车20不是位于行程的后方的情况下(步骤s356中的否),行进控制部分52以自己车避开其他车20的方式决定目标点44(步骤s359)。
[0085]
图12是示出受控车20d和被操纵车20c的计划行进路径之间的关系的另一示例的图。例如,在步骤s359中,行进控制部分52计算其它车20的当前移动矢量,并根据该移动矢量预测其它车20的移动路径。然后,行进控制部分52将与预测移动路径相距预定距离并且与所选标记42的距离小于阈值的点确定为目标点44。
[0086]
应注意,在步骤s357中,行进控制部分52还可以以使自己车避开另一辆车20的方式决定目标点44。步骤s357和s359中的操作可以根据用户指令作为受控车20d的特征而改变。
[0087]
当设定或决定了目标点44时,行进控制部分52控制自己车的马达,使得自己车取向目标点44(步骤s360)。
[0088]
如上所述,即使在通过获取通过拍摄自己车(受控车20d)和另一车20(被操纵车20c)的片材31而检测到的坐标,并通过基于该坐标控制受控车20d的移动,使真实车20行进而不是控制虚拟车作为图像输出的情况下,也可以容易地检测位置关系,并根据多个车20之间的位置关系执行复杂控制。
[0089]
接下来将给出第一碰撞处理的描述。图14是描述第一碰撞处理中的旋转运动的图。在本实施方式中,在确定为发生了碰撞的情况下,使车20进行使碰撞夸张的动作。在第
一碰撞处理中,运动处理部分55以进行如路径75所示的作为夸张运动的旋转运动(转动)的方式控制车20。这里,如果在旋转运动之后车的取向73取向用户(落在方向范围dr之外),则存在用户可能混淆并且在相反方向上执行操纵的情况。应当注意,方向范围dr是参照片材31设置的,并且与碰撞之前车20的取向无关。在本实施方式中,运动处理部分55切换第一旋转运动和第二旋转运动来防止该现象。将给出对这些运动的控制的详细描述。
[0090]
图13是示出第一碰撞处理的示例的流程图。首先,运动处理部分55获取自己车在片材31上的当前取向(步骤s401)。该方向可以是在步骤s101中检测的方向。
[0091]
然后,运动处理部分55估计第一旋转动作后的自己车的取向(步骤s402)。运动处理部分55可以将由旋转运动引起的取向的变化预先存储在存储部分12中,并且通过将该变化加到当前取向来估计自己车的取向。
[0092]
然后,在估计的取向落入方向范围dr内的情况下(步骤s403中的是),运动处理部分55执行第一旋转运动(步骤s404)。应当注意,在这种情况下,由于第一旋转运动,车20很可能不面向用户。
[0093]
另一方面,在估计的取向处于方向范围dr外的情况下(步骤s403中的否),运动处理部分55在动作后进行使取向处于方向范围dr内的第二旋转动作(步骤s405)。这里,第一旋转运动和第二旋转运动的旋转量不同。第一旋转运动和第二旋转运动之间的旋转量的差为(360度-dr)或更大。
[0094]
尽管在步骤s402和s403中估计了旋转运动之后的取向,但是可以以不同的方式进行该确定。例如,可以通过在存储部分12中预先存储通过将由旋转运动引起的变化加到方向范围dr而获得的确定方向范围,并且确定当前取向是否落入确定方向范围内来进行该确定。
[0095]
应该注意,运动处理部分55也可以进一步在碰撞的取向与行进方向的关系满足给定条件的情况下执行控制,使得代替第一旋转动作和第二旋转动作而执行第三旋转动作和第四旋转动作。
[0096]
当执行第一旋转动作或第二旋转动作时,运动处理部分55确定运动后位置是否落入允许行进区域35内(步骤s406)。在该位置处于允许行进区域之外的情况下(步骤s406中的否),运动处理部分55使自己车移动到允许行进区域35内(步骤s407)。
[0097]
第二碰撞处理在旋转运动和输出声音方面不同于第一碰撞处理。在处理本身中仅有微小的差别。因此,将省略对处理过程的描述。
[0098]
如到此为止已经描述的,基于车20的相机24对坐标的检测并且基于从到此为止对车的马达等的控制估计的车的移动,可以确定是否由于外部物理原因而在车20上发生了某种事件,并且采取与该事件相称的动作。此外,通过加速度传感器检测碰撞,能够采取更精细的动作,并且能够更适当地控制使实车行进的游戏。
[0099]
应当注意,片材31可以至少部分地被分成如迷宫中的格子。图15是示出片材31的另一示例的图。在图15所示的片材31的一部分中,以组合以格子形式划分的区域的方式设置允许行进区域35和禁止行进区域36。即使允许行进区域35的形状如此,也可以通过本实施例中描述的处理或类似处理来控制车20的运动。