WO2023085027A1 - 装置及びシステム - Google Patents

装置及びシステム Download PDF

Info

Publication number
WO2023085027A1
WO2023085027A1 PCT/JP2022/039015 JP2022039015W WO2023085027A1 WO 2023085027 A1 WO2023085027 A1 WO 2023085027A1 JP 2022039015 W JP2022039015 W JP 2022039015W WO 2023085027 A1 WO2023085027 A1 WO 2023085027A1
Authority
WO
WIPO (PCT)
Prior art keywords
drone
information processing
processing device
user
application
Prior art date
Application number
PCT/JP2022/039015
Other languages
English (en)
French (fr)
Inventor
晃一 畠山
Original Assignee
ソニーグループ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Priority to CN202280074282.2A priority Critical patent/CN118215622A/zh
Publication of WO2023085027A1 publication Critical patent/WO2023085027A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64CAEROPLANES; HELICOPTERS
    • B64C13/00Control systems or transmitting systems for actuating flying-control surfaces, lift-increasing flaps, air brakes, or spoilers
    • B64C13/02Initiating means
    • B64C13/16Initiating means actuated automatically, e.g. responsive to gust detectors
    • B64C13/20Initiating means actuated automatically, e.g. responsive to gust detectors using radiated signals
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64CAEROPLANES; HELICOPTERS
    • B64C39/00Aircraft not otherwise provided for
    • B64C39/02Aircraft not otherwise provided for characterised by special use
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions

Definitions

  • the present disclosure relates to devices and systems.
  • Technology for remotely controlling mobile objects is known.
  • a technology is known that allows a user to remotely control a drone using a smartphone.
  • the remote control when remotely controlling a drone, the remote control is performed in either a non-visual line of sight flight in which the drone cannot be directly confirmed, or a visual line of sight flight in which the drone can be directly confirmed.
  • drones When flying drones beyond visual line of sight, more advanced autonomous flight is required. Specifically, drones are required to have the ability to avoid obstacles faster without deviating from a preset flight route, for example.
  • the present disclosure provides a mechanism that can more easily realize high performance of moving bodies.
  • a device of the present disclosure is a device that is mounted on a mobile object and controls the mobile object.
  • the device includes a holding section and a control section.
  • the holding unit holds an information processing device that controls the moving body.
  • the control unit acquires control information for controlling the moving object from the information processing device, and controls the moving object based on the control information.
  • FIG. 1 is a diagram illustrating a configuration example of a mobile system according to an embodiment of the present disclosure
  • FIG. It is a figure showing an example of a control device concerning an embodiment of this indication.
  • 1 is a block diagram showing an example of a hardware configuration of a drone-side information processing device according to an embodiment of the present disclosure
  • FIG. 1 is a diagram showing an example of a software configuration of a drone-side information processing device according to an embodiment of the present disclosure
  • FIG. 2 is a block diagram showing a functional configuration example of an external device according to an embodiment of the present disclosure
  • FIG. FIG. 4 is a diagram for explaining an example of control of a drone by an external device according to an embodiment of the present disclosure
  • FIG. 5 is a diagram for explaining another example of drone control by an external device according to an embodiment of the present disclosure; It is a figure which shows an example of the software configuration of the user side information processing apparatus which concerns on embodiment of this indication.
  • FIG. 4 is a diagram showing an example of a display image displayed on the monitor of the user-side information processing device according to the embodiment of the present disclosure;
  • FIG. 2 is a functional block diagram for explaining an example of functions of a server device according to an embodiment of the present disclosure;
  • FIG. It is a block diagram showing an example of hardware constitutions of a server device concerning an embodiment of this indication.
  • FIG. 4 is a sequence diagram showing an example of the flow of communication processing executed by the mobile system according to the embodiment of the present disclosure;
  • FIG. 11 is a diagram for explaining an example of a display image according to a second modified example of the embodiment of the present disclosure;
  • FIG. FIG. 12 is a diagram for explaining an example of route candidates according to the third modified example of the embodiment of the present disclosure;
  • a plurality of components having substantially the same functional configuration may be distinguished by attaching different numbers or alphabets after the same reference numerals.
  • the same reference numerals are used.
  • FIG. 1 is a diagram showing a configuration example of a mobile system 1 according to an embodiment of the present disclosure.
  • the mobile system 1 includes a mobile device 10, a server device 40, and a user-side information processing device 50.
  • the mobile device 10 includes mobiles such as drones and robots. Although the case where the moving object is a drone will be described below as an example, the moving object is not limited to the drone.
  • Mobile device 10 includes a drone 100 and a control device 20 .
  • the control device 20 is mounted on the drone 100 and controls the drone 100 according to operations from the server device 40 or the user-side information processing device 50 .
  • Control device 20 connects to network N via base station 60 .
  • the control device 20 will be described later.
  • the server device 40 is a device that manages and/or operates the drone 100 via the control device 20.
  • the server device 40 is connected to the user-side information processing device 50 and the control device 20 via the network N.
  • the server device 40 operates the drone 100 according to instructions from the user-side information processing device 50 .
  • the server device 40 also transmits various information acquired from the drone 100 to the user-side information processing device 50 .
  • the user-side information processing device 50 is, for example, a terminal device such as a smartphone.
  • the user-side information processing device 50 receives an operation from the user, for example, and controls the drone 100 via the server device 40 based on the operation.
  • the user-side information processing device 50 connects to the server device 40 via the network N.
  • the base station 60 is a communication device that performs wireless communication with the control device 20, for example.
  • the base station 60 communicates with the control device 20 by cellular communication technology such as 5G (fifth generation mobile communication system) and LTE (Long Term Evolution).
  • the base station 60 can be, for example, an access point that communicates with the control device 20 by a wireless communication method such as Wi-Fi (registered trademark).
  • the base station 60 may be, for example, a communication device that communicates with the control device 20 using a wireless communication method such as Bluetooth (registered trademark).
  • FIG. 2 is a diagram showing an example of the control device 20 according to the embodiment of the present disclosure. As shown in FIG. 2 , the control device 20 has a drone information processing device 200 and an external device 300 .
  • the drone-side information processing device 200 is, for example, a terminal device such as a smartphone.
  • the drone-side information processing device 200 has, for example, high-performance processing functions and communication functions.
  • the drone-side information processing device 200 is equipped with various sensors such as a camera, for example.
  • the drone-side information processing device 200 can perform, for example, high-security communication (for example, SSL (Secure Sockets Layer) communication).
  • SSL Secure Sockets Layer
  • the drone-side information processing device 200 is mounted on the external device 300, for example.
  • the drone-side information processing device 200 connects to the network N via the base station 60.
  • the drone-side information processing device 200 controls the drone 100 via the external device 300 according to the operation of the drone 100 from the server device 40 .
  • the external device 300 controls the drone 100 according to instructions from the drone-side information processing device 200 .
  • the external device 300 generates, for example, an ESC control signal for controlling an ESC (Electric Speed Controller), which will be described later.
  • the external device 300 may generate various control signals for controlling the drone 100, for example.
  • the external device 300 includes a holding section 310, for example.
  • the holding unit 310 holds the drone information processing device 200 .
  • the holding unit 310 can detachably hold the drone information processing device 200, for example.
  • the holding portion 310 shown in FIG. 2 is an example.
  • the holding section 310 may hold the drone information processing apparatus 200 by fitting the drone information processing apparatus 200 into the holding section 310 .
  • the external device 300 is mounted, for example, on the mounting section 110 of the drone 100 while holding the drone-side information processing device 200 .
  • the drone-side information processing device 200 may be mounted on the external device 300 while the external device 300 is fixed to the mounting section 110 of the drone 100 .
  • the mounting portion 110 of the drone 100 shown in FIG. 2 is an example.
  • the mounting section 110 may be provided on the top or bottom of the drone 100 .
  • the external device 300 controls the drone 100 according to control from the drone-side information processing device 200 .
  • the user-side information processing device 50 receives an operation of the drone 100 by the user, and transmits operation information regarding the operation to the server device 40 (step S1).
  • the server device 40 transmits the operation information received from the user-side information processing device 50 to the drone-side information processing device 200 (see FIG. 2) of the control device 20 (step S2).
  • the drone-side information processing device 200 controls the drone 100 via the external device 300 based on the operation information.
  • the control device 20 shown in FIG. 1 transmits state information regarding the state of the drone 100 such as the position of the drone 100 and video information captured by the drone 100 to the server device 40 (step S3).
  • the server device 40 transmits the state information and video information received from the control device 20 to the user-side information processing device 50 (step S4).
  • the drone-side information processing device 200 such as a smartphone is mounted on the drone 100 via the external device 300 .
  • the mobile system 1 can control the drone 100 using the drone-side information processing device 200 having a high-performance information processing function like a smartphone, and can more easily control the mobile device including the drone 100. 10 can be enhanced.
  • the mobile device 10 can be connected to the network N by using the communication function of the drone-side information processing device 200, for example. This allows the mobile device 10 to connect to the server device 40 via the network N.
  • FIG. The mobile system 1 can remotely control the drone 100 more easily.
  • the user-side information processing device 50 can control the drone 100 via the network N, the user can control the drone 100 out of sight.
  • the drone 100 when the drone 100 flies beyond visual line of sight, the drone 100 is required to have more autonomous flight performance. For example, in the case of flight beyond the visual line of sight, the drone 100 is required to have a function of autonomously avoiding obstacles that the user cannot confirm with images. Further, the drone 100 is required to have a function of instantly avoiding obstacles without deviating from a preset flight route.
  • the drone-side information processing device 200 mounted on the drone 100 controls the drone 100 .
  • the drone-side information processing device 200 is an information processing terminal such as a smartphone as described above.
  • a smartphone is a high-performance device equipped with sensors such as a camera and an IMU (Inertial Measurement Unit), for example, and executing various applications.
  • IMU Inertial Measurement Unit
  • the mobile system 1 according to the embodiment of the present disclosure can achieve Autonomous flight of the drone 100 can be realized. That is, the mobile system 1 according to the embodiment of the present disclosure can more easily achieve high performance of the mobile device 10 including the drone 100 .
  • the mobile system 1 utilizes the versatility of the drone-side information processing device 200, and combines the server device 40 and the drone-side information processing device 200, so that the flight of the drone 100 requires Realize the function.
  • the safety of each device included in the mobile system 1 is verified in advance. equipment.
  • the drone 100 in order for the drone 100 to fly, it is required to obtain permission for flight such as flight location and flight time from network operators, national and local governments.
  • the mobile system 1 includes user-side and drone-side information processing devices 50 and 200 approved by companies/organizations such as network operators, national governments, and local governments. be.
  • the mobile system 1 according to the embodiment of the present disclosure provides a mechanism that allows the specific drone-side information processing device 200 to control the drone 100 via the external device 300. Further, the mobile system 1 according to the embodiment of the present disclosure provides a mechanism that enables a specific drone-side information processing device 200 to connect to the server device 40 . Further, the mobile system 1 according to the embodiment of the present disclosure provides a mechanism that enables a specific user-side information processing device 50 to connect to the server device 40 .
  • the mobile system 1 according to the embodiment of the present disclosure can fly the drone 100 within the permitted range. Also, the mobile system 1 according to the embodiment of the present disclosure can restrict flights of the drone 100 by unauthorized users. Thereby, the mobile system 1 according to the embodiment of the present disclosure can fly the drone 100 more safely.
  • the drone-side information processing device 200 is an information processing device that is mounted on the drone 100 of the mobile system 1 via the external device 300 and controls the drone 100 .
  • the drone-side information processing device 200 is, for example, a portable information processing device such as a smartphone.
  • the drone-side information processing device 200 according to the embodiment of the present disclosure does not directly control, for example, the motors of the drone 100 , but indirectly controls the drone 100 via the external device 300 .
  • FIG. 3 is a block diagram showing an example of the hardware configuration of the drone information processing device 200 according to the embodiment of the present disclosure.
  • the drone-side information processing device 200 includes a CPU (Central Processing Unit) 2000, a ROM (Read Only Memory) 2001, a RAM (Random Access Memory) 2002, a storage device 2003, an input device 2004, and a display A control unit 2005 and a communication I/F 2006 are provided.
  • a CPU 2000 , a ROM 2001 , a RAM 2002 , a storage device 2003 , an input device 2004 , a display control section 2005 and a communication I/F 2006 are communicably connected to each other via a bus 2010 .
  • the drone information processing apparatus 200 further includes a display device 2020 connected to the display control section 2005 .
  • the storage device 2003 is a nonvolatile storage medium such as a hard disk drive or flash memory.
  • the storage device 2003 stores various programs and data for the CPU 2000 to operate.
  • the CPU 2000 operates according to programs pre-stored in the ROM 2001 and storage device 2003 and controls the overall operation of the drone information processing device 200 .
  • Communication I/F 2006 communicates with base station 60 under the control of CPU 2000 .
  • the input device 2004 generates control signals according to user operations.
  • the generated control signal is passed to CPU 2000 via bus 2010 .
  • the display control unit 2005 generates a display signal that can be displayed by the display device 2020 based on the display control signal generated by the CPU 2000 according to the program, and outputs this display signal to the display device 2020 .
  • a display device using LCD (Liquid Crystal Display) or organic EL (electro-luminescence) can be applied.
  • the input device 2004 is configured to generate a control signal corresponding to the touched position and transmit light, and the input device 2004 and the display device 2020 are integrally formed to form a touch panel. good too.
  • a drone-side control application (application program) and a drone-side service application, which will be described later, are implemented on the CPU 2000 by running the basic program (for example, OS (operating system)) of the drone-side information processing device 200, for example. It is not limited to this example, and part or all of the drone-side control application and the drone-side service application may be configured using hardware circuits that operate in cooperation with each other.
  • OS operating system
  • the CPU 2000 reads out the application from a storage medium such as the storage device 2003 and executes it, thereby loading each application onto the main storage device such as the RAM 2002, and executing the application on the main storage device. generated in
  • FIG. 4 is a diagram showing an example of the software configuration of the drone information processing device 200 according to the embodiment of the present disclosure.
  • FIG. 4 shows the software configuration of the Android (registered trademark) OS as an example, but is not limited to this.
  • the drone-side information processing device 200 may be operated by an OS other than the Android OS.
  • the software configuration of the drone-side information processing device 200 includes an application layer, an application framework layer, a standard library layer, and a kernel layer.
  • the application framework layer, standard library layer, and kernel layer are layers that cannot be rewritten by end users.
  • the application layer is a layer that can be rewritten by the end user, such as addition or deletion of applications by DL (download).
  • the application framework layer includes a drone-side service application (an example of the first application).
  • the drone-side service application is, for example, an application program pre-installed when the drone-side information processing device 200 is shipped.
  • the drone-side service application is, for example, an application program that cannot be rewritten by a user (an example of an end user) who operates the drone 100 .
  • the application layer includes a drone-side control application (an example of a second application).
  • the drone-side control application is, for example, an application program that is downloaded from an external server (not shown) or the like and added by the user who operates the drone 100 .
  • the drone-side service application is an application program that can be rewritten, such as deleted, by the user who operates the drone 100 .
  • the drone-side control application does not directly communicate with the external device 300 and the server device 40.
  • the drone-side control application communicates with each of the external device 300 and the server device 40 via the drone-side service application.
  • the drone-side control application communicates in advance with the external device 300 and the server device 40 via the drone-side service application.
  • the information processing device connected to the external device 300 and the server device 40 is limited to the specific drone-side information processing device 200 in which the drone-side service application is pre-installed. can do.
  • the drone-side service application shown in FIG. 4 relays communication between the drone-side control application and the external device 300 and communication between the drone-side control application and the server device 40 .
  • the drone-side service application includes a network module (Network in FIG. 4), a command processing module (Command Processor in FIG. 4), and a USB (Universal Serial Bus) host module (USB Host in FIG. 4).
  • a network module is a communication module that communicates with the server device 40 via the base station 60 .
  • the network module communicates with the server device 40 using a predetermined encryption method such as SSL.
  • the command processing module is a module that converts a control instruction for the drone 100 by the drone-side control application into a control command for transmission to the external device 300.
  • the command processing module converts control instruction information by the drone-side control application into control command information that can be processed by the external device 300 .
  • the USB host module is a communication module that communicates with the external device 300.
  • the drone information processing device 200 and the external device 300 are assumed to perform USB communication, but the present invention is not limited to this.
  • the drone-side information processing device 200 and the external device 300 may be connected by, for example, Bluetooth, NFC (Near Field Communication), or the like.
  • the modules included in the drone-side service application are an example and are not limited to this.
  • the drone-side service application may include modules other than the modules shown in FIG.
  • the drone-side control application controls the drone 100 based on instructions from the server device 40, for example.
  • the drone-side control application receives instruction information from the server device 40 via the drone-side service application.
  • the drone-side control application transmits control information for controlling the drone 100 to the external device 300 via the drone-side service application.
  • the drone side control application shown in FIG. 4 includes, for example, an AHRS (Attitude Heading Reference System) module (AHRS in FIG. 4), a camera module (Camera in FIG. 4), a sensor module (Sensor in FIG. 4), and a monitor module (Monitor in FIG. 4).
  • the drone-side control application includes, for example, a battery module (Battery in FIG. 4), a Location module (Location in FIG. 4), and an AI (Artificial Intelligence) module (AI in FIG. 4).
  • the drone-side control application includes, for example, a Bluetooth module (BT in FIG. 4) and a video streaming module (Video Streaming in FIG. 4).
  • the AHRS module is, for example, an attitude measurement module that detects the position and attitude of the drone 100 based on the measurement results of the AHRS (Atitude and Heading Reference System) installed in the drone-side information processing device 200 .
  • the AHRS module may detect the position and orientation of the drone 100 based on the measurement results of the AHRS mounted on the drone 100, for example.
  • the camera module is, for example, a shooting module that controls a camera mounted on the drone-side information processing device 200 and shoots images around the drone 100 .
  • the camera module may, for example, control a camera mounted on the drone 100 to capture images around the drone 100 .
  • the sensor module is, for example, a module that controls the sensor mounted on the drone-side information processing device 200 and senses the state around the drone 100 .
  • the camera module may, for example, control a sensor mounted on the drone to sense the state around the drone 100 .
  • the sensor module may control various sensors such as ranging sensors, ambient light sensors, microphones, and the like.
  • the monitor module is, for example, a module that controls the monitor mounted on the drone-side information processing device 200 and displays various information on the monitor.
  • the monitor module may display, for example, images captured by the camera module on the monitor.
  • the monitor module may, for example, display the flight route of drone 100 on the monitor.
  • the monitor module may display information on the monitor indicating, for example, permission to fly the drone 100 .
  • the monitor module can cause the monitor to display various information.
  • the battery module is, for example, a management module that manages the battery of the drone 100.
  • the battery module acquires the state of the battery of the drone 100 (for example, remaining battery capacity) via the external device 300, for example.
  • the battery module for example, transmits the acquired battery status to the server device 40 .
  • the Location module is a module that manages the location information of the drone 100 based on the positioning results from a positioning system such as GPS (Global Positioning System) installed in the drone-side information processing device 200, for example.
  • a positioning system such as GPS (Global Positioning System) installed in the drone-side information processing device 200, for example.
  • the Location module may detect the position of the drone 100 based on the positioning results of the positioning system mounted on the drone 100, for example.
  • the Location module for example, transmits the acquired location information to the server device 40 .
  • the AI module is a module that generates control information for the drone 100 based on information detected by each module (for example, attitude information and position information of the drone 100) and instructions from the server device 40.
  • the AI module autonomously controls the position and attitude of the drone 100 using, for example, a learned model (AI) that has learned in advance the detection results of each module and instruction information from the server device 40 as learning data.
  • AI learned model
  • the AI module for example, inputs information about the current position and attitude of the drone 100 and instruction information from the server device 40 into the learned model, and obtains control information for controlling the drone 100 as an output.
  • the AI module controls the drone 100 by transmitting the obtained control information to the drone 100 via the external device 300 .
  • the drone-side information processing device 200 controls the drone 100 using AI, it is not limited to this.
  • the drone-side information processing device 200 may control the drone 100 based on information about the current position and attitude of the drone 100 and instruction information from the server device 40 .
  • the drone-side information processing device 200 can control the drone 100 using any control method.
  • the drone-side control application may include, for example, a drone control module instead of the AI module.
  • a Bluetooth module is a communication module that performs Bluetooth communication with an external device (eg, base station 60).
  • the Bluetooth module has a function of transmitting a signal (hereinafter also referred to as an identification signal) for specifying identification information for identifying the drone 100 to an external device (for example, the base station 60).
  • the identification information is, for example, the body ID of the drone 100 .
  • the Bluetooth module for example, transmits a beacon signal (for example, iBeacon (registered trademark)) as the identification signal.
  • the drone-side information processing device 200 communicates by wireless communication standards or methods such as Wi-Fi (registered trademark), UWB (Ultra Wide Band), LPWA (Low Power Wide Area), etc. good too.
  • the drone-side information processing device 200 may perform cellular communication such as LTE or NR.
  • the drone-side information processing device 200 communicates with the base station 60 in a wireless communication method selected according to instructions from the server device 40, for example, based on the wireless communication method permitted according to the flight of the drone 100.
  • the video streaming module is a module that streams the video acquired by the camera module to the server device 40 .
  • the video streaming module transmits the video captured by the camera module to the server device 40 via the base station 60 .
  • the modules included in the drone-side control application are just an example, and are not limited to this.
  • the drone-side control application may include modules other than the modules shown in FIG.
  • FIG. 5 is a block diagram showing a functional configuration example of the external device 300 according to the embodiment of the present disclosure.
  • the external device 300 has a first communication I/F 301 , a control section 302 , a conversion section 303 and a second communication I/F 304 .
  • the configuration shown in FIG. 5 is a functional configuration, and the hardware configuration may differ from this.
  • the functions of the external device 300 may be distributed and implemented in a plurality of physically separated configurations.
  • the first communication I/F 301 is a communication interface for communicating with the information processing device 200 on the drone side.
  • the first communication I/F 301 is a USB interface configured by, for example, a USB host controller, a USB port, and the like. Communication performed by the first communication I/F 301 is not limited to USB communication.
  • the first communication I/F 301 may perform communication by Bluetooth or NFC, for example.
  • the control unit 302 is a controller that controls each unit of the external device 300 .
  • the control unit 302 can be a processor such as a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit), or a microcomputer or control board in which a processor and storage elements such as memory are mounted together.
  • Various functions can be realized by the processor of the control unit 302 operating according to a predetermined program.
  • the control unit 302 controls the drone 100 based on control information acquired from the drone-side information processing device 200 via the first communication I/F 301 .
  • the control unit 302 generates a control signal for controlling the drone 100 based on the control information.
  • control unit 302 controls sensors mounted on the drone 100 (for example, cameras, positioning sensors, AHRS, etc.) in response to instructions from the drone-side information processing device 200, for example. Also, the control unit 302 notifies the drone-side information processing device 200 of the sensing result of the sensor mounted on the drone 100, for example. The control unit 302 acquires information about the state of the drone 100 , such as the state of the battery of the drone 100 , from the drone 100 and notifies the information processing device 200 on the drone side.
  • the conversion unit 303 converts the control signal generated by the control unit 302 into a control signal modulated by PWM (Pulse Width Modulation) (hereinafter also referred to as a PWM control signal).
  • PWM Pulse Width Modulation
  • the conversion unit 303 may be realized by, for example, an IC (Integrated Circuit) or LSI (Large Scale Integration), or may be realized by one circuit block on a semiconductor chip (die).
  • the control unit 302 may have the function of the conversion unit 303 . In this case, conversion unit 303 may be omitted.
  • the second communication I/F 304 is a communication interface for communicating with the drone 100.
  • the second communication I/F 304 can be, for example, a communication interface that performs communication according to the UART (Universal Asynchronous Receiver Transmitter) standard.
  • the second communication I/F 304 can be a communication interface that performs serial communication such as I2C (Inter-Integrated Circuit).
  • the second communication I/F 304 may be a communication interface that transmits PWM control signals to the drone 100 .
  • FIG. 6 is a diagram for explaining an example of control of the drone 100 by the external device 300 according to the embodiment of the present disclosure.
  • the drone 100 has, for example, four propellers 103A to 103D (an example of drive units) and ESCs 102A to 102D (an example of drive control units) that drive the propellers 103, respectively.
  • the drone 100 has, in addition to the ESC 102 and the propeller 103 shown in FIG. 6, a frame, a motor, a battery, etc. (all not shown).
  • the drone-side information processing device 200 performs attitude control of the drone 100 and generates control information based on the current position and attitude of the drone 100 and instructions from the server device 40 .
  • the drone information processing device 200 outputs control information to the external device 300 .
  • the external device 300 generates control signals for controlling the drone 100 based on the control information acquired from the drone-side information processing device 200 .
  • the external device 300 modulates the generated control signal by PWM to generate the PWM control signal.
  • This PWM control signal is a signal for directly controlling the ESCs 102A to 102D that the drone 100 has.
  • the external device 300 outputs PWM control signals to the ESCs 102A-102D of the drone 100.
  • the ESCs 102A-102D control the propellers 103A-103D by controlling motors (not shown) based on PWM control signals obtained from the external device 300.
  • the external device 300 generates the PWM control signal according to the attitude control of the drone 100 by the drone-side information processing device 200, so that the control device 20 can directly control the ESCs 102A to 102D.
  • the drone-side information processing device 200 can control the drone 100 via the external device 300 .
  • FIG. 7 is a diagram for explaining another example of control of the drone 100 by the external device 300 according to the embodiment of the present disclosure.
  • the drone 100 shown in FIG. 7 has ESCs 102A to 102D and propellers 103A to 103D, as well as an FC (flight controller) 101 (an example of a movement control unit) that controls the ESCs 102A to 102D.
  • FC light controller
  • the control shown in FIG. 7 differs from the control shown in FIG. 6 in that the FC 101 performs attitude control of the drone 100 instead of the drone information processing device 200 .
  • the drone-side information processing device 200 shown in FIG. 7 generates control information regarding the flight of the drone (100), such as the movement direction, flight speed, takeoff/landing, etc. of the drone 100, for example, according to instructions from the server device 40.
  • the drone information processing device 200 outputs the generated control information to the external device 300 .
  • the external device 300 generates control signals for controlling the drone 100 based on the control information acquired from the drone-side information processing device 200 .
  • This control signal includes instruction information for operating the FC 101 of the drone 100, and is transmitted according to the UART standard, for example.
  • the FC 101 of the drone 100 receives control signals from the external device 300 .
  • the FC 101 controls the ESCs 102A-102D based on control signals.
  • ESCs 102A-102D control propellers 103A-103D by controlling motors (not shown) according to instructions from FC101.
  • control device 20 controls the drone 100 by controlling the FC 101 mounted on the drone 100. Thereby, the control device 20 can control the drone 100 without directly controlling the ESCs 102 to 102D. Thereby, the drone-side information processing device 200 can control the drone 100 via the external device 300 .
  • the mobile system 1 includes a user-side information processing device 50 that receives a user's operation for flying the drone 100 .
  • the user-side information processing device 50 is, for example, a portable information processing device such as a smartphone.
  • the user-side information processing device 50 receives an operation from the user on the drone 100 and transmits operation information regarding the received operation to the drone-side information processing device 200 via the server device 40 .
  • remote control of the drone 100 by the user-side information processing device 50 is performed via the server device 40 .
  • the hardware configuration of the user-side information processing device 50 is the same as that of the drone-side information processing device 200, so description thereof will be omitted.
  • FIG. 8 is a diagram showing an example of the software configuration of the user-side information processing device 50 according to the embodiment of the present disclosure.
  • FIG. 8 shows the software configuration of the Android (registered trademark) OS as an example, but is not limited to this.
  • the user-side information processing device 50 may be operated by an OS other than the Android OS.
  • the software configuration of the user-side information processing device 50 includes an application layer, an application framework layer, a standard library layer, and a kernel layer.
  • the application framework layer, standard library layer, and kernel layer are layers that cannot be rewritten by end users.
  • the application layer is a layer that can be rewritten by the end user, such as addition or deletion of applications by DL (download).
  • the application framework layer includes a user-side service application (an example of a third application).
  • the user-side service application is, for example, an application program pre-installed when the user-side information processing device 50 is shipped.
  • a user-side service application is, for example, an application program that cannot be rewritten by a user (an example of an end user) who operates the drone 100 .
  • the application layer includes a user-side control application (an example of a fourth application).
  • the user-side control application is, for example, an application program that is downloaded from an external server (not shown) or the like and added by the user who operates the drone 100 .
  • the user-side service application is an application program that can be rewritten, such as deleted, by the user who operates the drone 100 .
  • the user-side control application does not directly communicate with the server device 40.
  • the user-side control application communicates with the server device 40 via the user-side service application.
  • the user-side control application communicates in advance with the server device 40 via the user-side service application.
  • the information processing device that connects to the server device 40 can be restricted to the specific user-side information processing device 50 in which the user-side service application is pre-installed. .
  • the user-side service application shown in FIG. 8 relays exchanges between the user-side control application and the server device 40 .
  • the user-side service application includes a network module (Network in FIG. 8) and a command processing module (Command Processor in FIG. 8).
  • the network module is a communication module that communicates with the server device 40 via the network N (see FIG. 1).
  • the network module communicates with the server device 40 using a predetermined encryption method such as SSL.
  • the command processing module is a module that converts an operation on the drone 100 by the user-side control application into an operation command for transmission to the server device 40.
  • the command processing module converts operation information by the user-side control application into operation command information that is received via the server device 40 and that can be processed by the drone-side information processing device 200 .
  • modules included in the user-side service application are just an example, and are not limited to this.
  • a user-side service application may include modules other than the modules shown in FIG.
  • the user-side control application operates (controls) the drone 100 based on instructions from the user, for example.
  • the user-side control application receives instructions from the user.
  • the user-side control application transmits instruction information to the server device 40 via the user-side service application.
  • the user-side control application shown in FIG. 8 includes, for example, an operation reception module (Joystick in FIG. 8), an AI module (AI in FIG. 8), a command processing module (Command Processor in FIG. 8), and a Bluetooth module ( BT) and
  • the user-side control application includes, for example, a network module (Network in FIG. 8), a map module (Map in FIG. 8), and a monitor module (Monitor in FIG. 8).
  • the user-side control application includes, for example, a Location module (Location in FIG. 8) and a video streaming module (Video Streaming in FIG. 8).
  • the operation reception module receives, for example, an operation of the drone 100 from the user via a joystick.
  • the device from which the operation reception module receives the operation from the user is not limited to the joystick, and may be an operation device such as a remote controller. Further, the operation device may be, for example, a real device connected to the user-side information processing device 50, or a virtual device displayed on a monitor (not shown) of the user-side information processing device 50. .
  • the AI module is a module that generates operation information for the drone 100 based on the information detected by each module and the information about the drone 100 acquired from the information processing device 200 on the drone side.
  • the AI module generates operation information for the drone 100 using, for example, a learned model (AI) that has learned in advance the detection results of each module and information about the drone 100 as learning data.
  • AI learned model
  • the AI module for example, inputs information about the current position and attitude of the drone 100 and operations from the user into the learned model, and obtains operation information for operating the drone 100 as output.
  • the AI module transmits the obtained operation information to the drone information processing device 200 via the server device 40 .
  • the user-side information processing device 50 may generate operation information based on information about the current position and attitude of the drone 100 and operations from the user.
  • the user-side information processing device 50 can generate operation information by any method.
  • the user-side control application may include, for example, an operation information generation module instead of the AI module.
  • the command processing module is a module that converts an operation received from a user into an operation command for transmission to another device (not shown) other than the server device 40 .
  • the network module is a communication module that communicates with devices other than the server device 40 via the network N.
  • the network module communicates with other devices using a predetermined encryption method such as SSL. In this way, when the user-side control application communicates with a device other than the server device 40, the user-side control application can directly communicate without going through the user-side service application.
  • the Bluetooth module is a communication module that performs Bluetooth communication with an external device (for example, a device that relays connections to network N).
  • the user-side information processing device 50 is configured to perform communication using wireless communication standards or methods such as Wi-Fi (registered trademark), UWB (Ultra Wide Band), LPWA (Low Power Wide Area), etc. good too.
  • the user-side information processing device 50 may perform cellular communication such as LTE or NR.
  • the map module is a module that acquires and manages map information used for setting the flight path of the drone 100, for example.
  • the map module acquires map information including the location where the drone 100 is located, for example, based on the location information of the drone 100 .
  • the Location module is a module that manages the location information of the drone 100, for example, based on the positioning results of the drone-side information processing device 200 and/or a positioning system such as GPS (Global Positioning System) mounted on the drone 100. .
  • the Location module manages the location information of the drone 100 based on the location information acquired from the drone information processing device 200 via the server device 40, for example.
  • the video streaming module is a module that acquires streaming video transmitted from the information processing device 200 on the drone side.
  • the monitor module is, for example, a module that controls the monitor mounted on the drone-side information processing device 200 and displays various information on the monitor.
  • the monitor module causes, for example, a monitor to display a display image containing various information.
  • FIG. 9 is a diagram showing an example of a display image 500 displayed on the monitor of the user-side information processing device 50 according to the embodiment of the present disclosure. As described above, the display image 500 is displayed on the monitor by the monitor module.
  • the monitor module displays the image around the drone 100 in the center area 501 of the display image 500 .
  • the image around the drone 100 is, for example, an image captured by a camera mounted on the drone-side information processing device 200 and is an image transmitted by streaming from the drone-side information processing device 200 .
  • the video is captured by the video streaming module of the user-side control app.
  • the monitor module displays the video acquired by the video streaming module in area 501 .
  • the monitor module displays map information in the upper left area 502 of the display image 500, for example.
  • the map information is, for example, information acquired by the map module.
  • the monitor module superimposes, for example, the location information of the drone 100 managed by the Location module on the map information and displays it.
  • the monitor module displays virtual operation devices (for example, joysticks) 503 on the lower left and lower right of the display image 500 .
  • the user operates the operation device 503 to operate the drone 100 such as its position and attitude.
  • a button 504 on the upper right of the display image 500 switches whether or not the Bluetooth module (see FIG. 4) of the drone-side information processing device 200 transmits an identification signal (for example, a beacon signal) for identifying the drone 100. It is a button that accepts from the user. When the user presses the button 504, the user-side information processing device 50 requests the drone-side information processing device 200 to transmit or stop transmitting the identification signal. The user-side information processing device 50 switches between transmission and stop of transmission of the identification signal in response to the request.
  • an identification signal for example, a beacon signal
  • the monitor module displays flight information about the flight of the drone 100 in the area 505 below the button 504 of the display image 500, for example.
  • the monitor module includes information on network delay (Net delay in FIG. 9), information on the communication method used when the drone-side information processing device 200 communicates with the base station 60, and information on signal strength ( Net type in FIG. 9) is displayed in area 505 .
  • the monitor module displays information indicating that the drone information processing device 200 is communicating with the base station 60 via a mobile phone communication network (cellular) by displaying an antenna mark.
  • cellular mobile phone communication network
  • the monitor module also displays information on the flight time of the drone 100 (Flight time in FIG. 9) and information on the battery mounted on the drone 100 (Battery (FC) in FIG. 9) in an area 505.
  • the monitor module displays the distance (Distance in FIG. 9) between the user-side information processing device 50 and the drone 100 in the area 505 .
  • the distance between the user-side information processing device 50 and the drone 100 can be used, for example, to determine whether the drone 100 is flying within visual line of sight or flying beyond visual line of sight.
  • the monitor module monitors the image by emphasizing the obstacle detected by the AI module. may be displayed in In the example of FIG. 9, the monitor module surrounds the object detected by the AI module with a rectangular frame and displays the image.
  • the user-side control application performs object detection, but it is not limited to this.
  • the object detection may be performed by the server device 40 or may be performed by the drone information processing device 200 .
  • the display image 500 shown in FIG. 9 is an example, and the various information included in the display image 500 is not limited to the example in FIG.
  • the display image 500 may include information other than the information shown in FIG. 9 , such as displaying the flight path of the drone 100 .
  • the modules included in the drone-side control application shown in FIG. 8 are an example, and are not limited to this.
  • the drone-side control application may include modules other than the modules shown in FIG.
  • the server device 40 is an information processing device that remotely operates the drone 100 .
  • the server device 40 is configured by, for example, an information processing device such as a personal computer, a workstation, or a cloud server.
  • the server device 40 manages, for example, the users who operate the drone 100 and the machine information of the drone 100 .
  • the server device 40 manages permission information regarding the flight of the drone 100 by a network operator, a country, a local government, etc. (for example, information on an area where the drone 100 can fly, etc.).
  • the server device 40 transmits to the user-side information processing device 50, for example, the image around the drone 100 captured by the drone-side information processing device 200.
  • the server device 40 transmits the operation information of the drone 100 acquired from the user-side information processing device 50 to the drone-side information processing device 200 .
  • the server device 40 accepts connections from user-side service applications installed in the user-side information processing device 50 and does not accept connections from other applications installed in the user-side information processing device 50 .
  • the server device 40 accepts connections from drone-side service applications installed in the drone-side information processing device 200 and does not accept connections from other applications installed in the drone-side information processing device 200 .
  • the server device 40 limits the applications that can be accessed, so that the security of the mobile system 1 can be maintained at a higher level.
  • the communication path between the server device 40 and the user-side information processing device 50, and the communication path between the server device 40 and the drone-side information processing device 200 are existing existing systems such as SSL and DTLS (Datagram Transport Layer Security). Encrypted with a method.
  • FIG. 10 is a functional block diagram for explaining an example of functions of the server device 40 according to the embodiment of the present disclosure.
  • Server device 40 shown in FIG. 10 includes streaming unit 400, machine operation unit 401, machine information storage unit 402, state management unit 403, communication unit 404, control unit 405, storage unit 406, and application storage. a section 407;
  • the control unit 405 controls the overall operation of this server device 40 .
  • the communication unit 404 communicates with the network N under the control of the control unit 405 .
  • a storage unit 406 controls reading and writing of data with respect to a memory (not shown).
  • the streaming unit 400 streams the streaming video received from the drone-side information processing device 200 to the user-side information processing device 50 .
  • Streaming unit 400 may stream video using existing streaming technology.
  • the streaming unit 400 streams encrypted video using DTLS, for example.
  • server device 40 can realize streaming transmission using existing services such as Amazon Cognito (registered trademark) and Amazon Kinesis (registered trademark) provided by Amazon.
  • the aircraft information storage unit 402 is a database in which information about the drone 100 is stored.
  • the aircraft information storage unit 402 holds information about the state of the drone 100 such as the current position and attitude of the drone 100 .
  • the aircraft information storage unit 402 holds information about the flight path and battery of the drone 100 .
  • the aircraft information storage unit 402 holds, for example, permission information regarding the flight of the drone 100 such as the flightable area of the drone 100 .
  • the aircraft information storage unit 402 stores, for example, a drone ID that identifies the drone 100 and a user ID that identifies the user who operates the drone 100, in association with each other.
  • the user ID may be, for example, an ID that identifies the drone-side information processing device 200 or an ID that identifies the user-side information processing device 50 .
  • the ID that identifies the information processing device 200 on the drone side and the ID that identifies the information processing device 50 on the user side may be the same ID.
  • the aircraft operation unit 401 operates the drone 100 based on the user's operation.
  • the aircraft operation unit 401 operates the drone 100 based on the position, attitude, and flight path of the drone 100, for example.
  • the aircraft operation unit 401 sets the flight path of the drone 100, for example.
  • the aircraft operation unit 401 transmits operation information for the drone 100 and route information regarding the flight path to the drone-side information processing device 200 .
  • the machine body operation unit 401 transmits information encrypted using SSL, for example, to the drone information processing device 200 .
  • the state management unit 403 manages information acquired from the drone 100, for example.
  • the state management unit 403 stores information about the drone 100, such as the position and attitude of the drone 100 and the remaining battery level, in the aircraft information storage unit 402, for example.
  • the state management unit 403 transmits information on the drone 100 to the user information processing device 50 .
  • the device operation unit 401 transmits information encrypted using SSL, for example, to the user-side information processing device 50 .
  • the state management unit 403 may perform authentication processing such as user authentication using a user ID or drone authentication using a drone ID, and manage the user's login state.
  • the state management unit 403 can perform authentication processing using, for example, a browser as an interface.
  • the state management unit 403 can perform authentication processing using SSL, for example.
  • the application storage unit 407 is a database in which applications that operate on the server device 40 are stored.
  • the video streaming function of the streaming unit 400, the device operation function of the device operation unit 401, the state management function of the state management unit 403, and the like are performed by executing the application stored in the application storage unit 407 on the server device 40.
  • the server device 40 downloads, for example, an application for realizing these functions via the network N and installs it.
  • the installed application is saved in the application storage unit 407 .
  • the server device 40 executes the application stored in the application storage unit 407 so that the streaming unit 400, the machine operation unit 401, and the state management unit 403 realize each function, but the present invention is not limited to this.
  • the control unit 405 may implement a video streaming function, a device operation function, and a state management function. That is, the streaming unit 400 , the machine operation unit 401 , and the state management unit 403 can be implemented as part of the functions of the control unit 405 . In this case, for example, the control unit 405 functions as the streaming unit 400 , the machine operation unit 401 , and the state management unit 403 by executing an application on the server device 40 .
  • the storage unit 406, the device information storage unit 402, and the application storage unit 407 have different configurations, but the configuration is not limited to this.
  • the storage unit 406 may have a device information storage unit 402 and an application storage unit 407 .
  • FIG. 11 is a block diagram showing an example of the hardware configuration of the server device 40 according to the embodiment of the present disclosure.
  • the server device 40 includes a CPU 4000, a ROM 4001, a RAM 4002, a storage device 4003, and a communication I/F 4004.
  • the CPU 4000, ROM 4001, RAM 4002, storage device 4003, and communication I/F 4004 are connected to each other via a bus 4010 so as to be able to communicate with each other.
  • the storage device 4003 is a nonvolatile storage medium such as a hard disk drive or flash memory. Storage device 4003 stores various programs and data for CPU 4000 to operate.
  • the CPU 4000 operates according to an information processing program pre-stored in the ROM 4001 and storage device 4003 and controls the overall operation of the server device 40 .
  • Communication I/F 4004 executes communication with network N under the control of CPU 4000 .
  • the above-described control unit 405 is realized by running a basic program (for example, an OS (Operating System)) of the server device 40, which is stored in advance in the storage device 4003, for example, on the CPU 4000.
  • the communication unit 404 is implemented as a communication I/F 4004, for example.
  • the storage unit 406, device information storage unit 402, and application storage unit 407 are implemented as a storage device 4003, for example.
  • the streaming unit 400, the device operation unit 401, and the state management unit 403 are realized by executing an application (application program) on the CPU 4000, for example.
  • the CPU 4000 reads out the application from a storage medium such as the storage device 4003 and executes it, thereby loading the above-described units onto the main storage such as the RAM 4002 and generating the units on the main storage.
  • part or all of the streaming unit 400, the machine operation unit 401, and the state management unit 403 may be configured using hardware circuits that operate in cooperation with each other.
  • the user-side information processing device 50 remotely operates the drone 100 based on the user's operation. Also, the user-side information processing device 50 acquires information about the drone 100 . Thus, in the mobile system 1, communication processing for remotely controlling the drone 100 is executed.
  • FIG. 12 is a sequence diagram showing an example of the flow of communication processing executed by the mobile system 1 according to the embodiment of the present disclosure.
  • the drone-side information processing device 200 logs into the server device 40 (step S101). For example, when the drone-side control application connects to the server device 40 via the drone-side service application, the drone-side information processing device 200 performs login processing to the server device 40 .
  • the server device 40 performs user authentication on the drone information processing device 200 (step S102). For example, the server device 40 performs user authentication depending on whether or not the user ID acquired from the drone information processing device 200 is stored in the aircraft information storage unit 402 .
  • the user-side information processing device 50 logs in to the server device 40 (step S103). For example, when the user-side control application connects to the server device 40 via the user-side service application, the user-side information processing device 50 performs login processing to the server device 40 .
  • the server device 40 performs user authentication on the user-side information processing device 50 (step S104). For example, the server device 40 performs user authentication depending on whether or not the user ID acquired from the user-side information processing device 50 is stored in the device information storage unit 402 .
  • the user-side information processing device 50 that has received an operation (machine operation) on the drone 100 from the user transmits information on the machine operation to the server device 40 (step S105).
  • the user-side control application transmits information regarding machine operation to the server device 40 via the user-side service application.
  • the server device 40 performs device authentication based on the device operation information transmitted from the user-side information processing device 50 (step S106). For example, the server device 40 performs device authentication depending on whether or not the drone ID included in the device operation information is stored in the device information storage unit 402 . The server device 40 performs device authentication according to whether or not the user ID of the user-side information processing device 50 that has transmitted the device operation information is associated with the drone ID included in the device operation information. good too.
  • the server device 40 performs device authentication of the drone 100 that is the operation target, so that the user-side information processing device 50 can be prevented from operating the drone that is not the operation target.
  • the server device 40 that has performed the device authentication transmits information regarding device operation to the drone-side information processing device 200 (step S107).
  • the server device 40 transmits information about machine operation to the user-side control application via the user-side service application, for example.
  • the drone-side information processing device 200 controls the motors of the drone 100 based on the received information regarding the aircraft operation (step S108). More specifically, the drone-side control application of the drone-side information processing device 200 transmits control information to the external device 300 via the drone-side service application. The external device 300 controls the ESCs 102A to 102D of the drone 100 directly or indirectly via the FC 101 based on the control information. Thereby, the motors of the drone 100 are controlled.
  • the user-side information processing device 50 transmits an information acquisition request to the server device 40 (step S109).
  • the user-side control application transmits an information acquisition request to the server device 40 via the user-side service application.
  • the server device 40 performs device authentication based on the information acquisition request transmitted from the user-side information processing device 50 (step S110). For example, the server device 40 performs device authentication depending on whether or not the drone ID included in the information acquisition request is stored in the device information storage unit 402 . The server device 40 may perform device authentication depending on whether or not the user ID of the user-side information processing device 50 that has transmitted the information acquisition request is associated with the drone ID included in the information acquisition request. .
  • the server device 40 performs body authentication of the drone 100 whose status is to be obtained, so that the user-side information processing device 50 can be prevented from obtaining information about the status of the drone that is not subject to status acquisition. .
  • the server device 40 that has performed the device authentication transmits an information acquisition request to the drone information processing device 200 (step S111).
  • the server device 40 transmits an information acquisition request to the drone-side control application via the drone-side service application, for example.
  • the drone-side information processing device 200 acquires the state of the drone 100 based on the received information acquisition request (step S112).
  • the drone-side control application of the drone-side information processing device 200 acquires the state of the drone 100, such as the remaining battery level and the position and attitude of the drone 100, from the external device 300 via the drone-side service application.
  • the drone-side information processing device 200 returns the acquired state of the drone 100 to the server device 40 (step S113).
  • the drone-side control application returns the state of the drone 100 to the server device 40 via the drone-side service application.
  • the server device 40 returns the state of the drone 100 to the user-side information processing device 50 (step S114).
  • the server device 40 returns the state of the drone 100 to the user-side control application via the user-side service application, for example.
  • the user-side information processing device 50 performs machine operation and drone 100 status acquisition.
  • the server device 40 performs machine authentication of the drone 100 that is the operation target or the acquisition target.
  • video streaming processing is performed separately from the communication processing shown in FIG.
  • the drone-side information processing device 200 periodically transmits images captured by the camera to the server device 40 .
  • the drone-side control application of the drone-side information processing device 200 transmits the video to the server device 40 via the drone-side service application.
  • the server device 40 transmits the received video to the user-side information processing device 50 .
  • the server device 40 transmits video to the user-side control application via the user-side service application.
  • video streaming is performed separately from operating the drone 100 and acquiring the state.
  • the user-side information processing device 50 operates the drone 100 after user authentication, but the present invention is not limited to this. After user authentication, the user-side information processing device 50 may acquire the state of the drone 100 .
  • the drone-side information processing device 200 returns information regarding the state of the drone 100 to the server device 40 in response to the state acquisition request, but is not limited to this.
  • the drone-side information processing device 200 may, for example, periodically transmit information about the state of the drone 100 to the server device 40 . In this manner, the drone-side information processing device 200 may transmit information regarding the state of the drone 100 to the server device 40 regardless of the state acquisition request.
  • the flight of the drone 100 is regulated by laws and ordinances.
  • the drone 100 can have a flight range that includes altitude.
  • wireless communication methods that can be used for communication by the drone 100 (the drone-side information processing device 200 in the embodiment of the present disclosure) may be restricted.
  • drone 100 there may be a limit to how long the drone 100 can fly. For example, flight of drone 100 may be restricted to a time permitted by the user.
  • the mobile system 1 according to the first modified example of the embodiment of the present disclosure has a mechanism for restricting the flight of the drone 100 according to these restrictions.
  • the server device 40 permits connection from the drone-side information processing device 200 mounted on the drone 100 that has obtained flight permission, and permits connection from the drone-side information processing device 200 mounted on the drone 100 that has not obtained flight permission. deny connections.
  • the server device 40 logs in the drone-side information processing device 200 ( connection) is permitted.
  • the server device 40 determines whether or not the drone 100 can fly at the time of device authentication in step S106 of FIG. You may do so.
  • the server device 40 determines whether or not the drone 100 can fly based on the restriction information regarding the flight of the drone 100 at the time of device authentication, and if the drone 100 can fly, sends information regarding the device operation to the drone side information processing device 200. Send to
  • the server device 40 instructs the drone-side information processing device 200 to control the drone 100 so that the drone 100 can fly. For example, when the drone 100 is flying outside the flightable range, the server device 40 instructs the drone-side information processing device 200 to move within the flightable range.
  • the server device 40 instructs the drone-side information processing device to end the flight of the drone 100. Point to 200.
  • the server device 40 when the server device 40 instructs the drone-side information processing device 200 to operate differently from the body operation of the user-side information processing device 50, the server device 40 can notify the user-side information processing device 50 to that effect. In this case, the user-side information processing device 50 can present to the user that an operation different from the user's operation has been performed on the drone 100 .
  • the server device 40 notifies the drone-side information processing device 200 to switch the wireless communication method according to the current position of the drone 100 .
  • the drone-side information processing device 200 can dynamically switch the wireless communication method that can be used according to the flight range, enabling stable flight while complying with the rules.
  • the server device 40 selects, for example, the wireless communication system with the highest communication quality.
  • server device 40 may select a wireless communication method with a wide usable range.
  • the server device 40 may select a wireless communication method according to the flight path of the drone 100, the remaining battery level, and the like.
  • Restriction information such as the above-described flight range, flight time, and available wireless communication methods can be managed by the server device 40, for example.
  • the server device 40 can acquire the latest restriction information via the network N, for example. Thereby, the server device 40 can always manage new restriction information.
  • the server device 40 determines whether or not the drone 100 can fly based on the restriction information
  • the present invention is not limited to this.
  • the drone-side information processing device 200 may acquire restriction information from the server device 40 and determine whether or not the drone 100 can fly. Even in this case, the server device 40 can acquire the latest restriction information by managing the restriction information.
  • the user-side information processing device 50 can change the display method of the operation screen (control UI) of the drone 100 according to the state of the drone 100, for example. For example, the user-side information processing device 50 highlights at least part of the display image displayed on the monitor according to the state of the drone 100 .
  • FIG. 13 is a diagram for explaining an example of a display image according to the second modification of the embodiment of the present disclosure.
  • the user-side information processing device 50 highlights the display image according to the position of the drone 100 within the flight range in which the drone 100 can fly.
  • the user-side information processing device 50 displays a display image with a normal background color (first background color, for example, white). display on the monitor.
  • first background color for example, white
  • the predetermined area of the flight range indicates, for example, an area within a certain distance from the boundary line of the flight range.
  • the user-side information processing device 50 changes the background color of the display image from the first background color to the second background color. Change the background color (eg yellow) and display it on the monitor. That is, when the drone 100 approaches the outside of the flight range, the user-side information processing device 50 highlights the background color with a color different from normal. Thereby, the user-side information processing device 50 can more easily notify the user that the drone 100 may be out of the flight range.
  • the background color eg yellow
  • the user-side information processing device 50 changes the background color from the second background color to the third background color (for example, red) when the drone 100 moves out of the flight range. Display the display image on the monitor. That is, when the drone 100 is out of the flight range, the user-side information processing device 50 highlights the background color with a color different from the normal color when the drone 100 is approaching the flight range. Thereby, the user-side information processing device 50 can more easily notify the user that the drone 100 is positioned outside the flight range.
  • the third background color for example, red
  • the user-side information processing device 50 can change the display method of the display image according to the distance between the user-side information processing device 50 , in other words, the user and the drone 100 . If the distance between the drone 100 and the user is long, the user is likely to operate the drone 100 out of sight. On the other hand, when the distance between the drone 100 and the user is short, there is a high possibility that the user will operate the drone 100 within visual range.
  • the user-side information processing device 50 can determine whether the drone 100 is flying outside the visual line of sight or whether the drone 100 is flying within the visual line of sight. The user can be clearly notified of what is being done.
  • the user-side information processing device 50 displays a normal background color (for example, white) display image on the monitor. That is, the user-side information processing device 50 displays the display image in a normal background color when the drone 100 is flying within visual range.
  • a normal background color for example, white
  • the user-side information processing device 50 displays a display image with a predetermined background color (eg, yellow) on the monitor. That is, when the drone 100 is flying beyond the visual line of sight, the user-side information processing device 50 highlights the background color in a color different from normal. As a result, the user-side information processing device 50 can more clearly notify the user that the drone 100 is flying beyond visual line of sight.
  • a predetermined background color eg, yellow
  • the first threshold value described above may be a preset value or a value set by the user. Also, the first threshold value may be a value according to, for example, the flight location of the drone 100 (for example, indoors or outdoors, urban areas or suburbs, places with a lot of nature such as mountains or the sea, etc.).
  • the user-side information processing device 50 can change the display method of the display image according to the wireless communication method selected by the drone-side information processing device 200 . That is, the user-side information processing device 50 can change the display method of the display image according to the network connection method of the drone 100 .
  • the drone 100 may have different legally usable wireless communication methods depending on its flight range. Therefore, by changing the display method of the display image according to the wireless communication method selected by the drone-side information processing device 200, the user-side information processing device 50 can select the wireless communication method that poses no legal problem to the user. The selection can be notified more clearly.
  • the user-side information processing device 50 monitors a display image with a normal background color (for example, white). to display.
  • a normal background color for example, white
  • the user-side information processing device 50 displays a display image with a predetermined background color (eg, yellow) on the monitor.
  • a predetermined background color eg, yellow
  • the user-side information processing device 50 displays a display image with a predetermined background color (for example, red). is displayed on the monitor.
  • a predetermined background color for example, red
  • the user-side information processing device 50 monitors a display image with a predetermined background color (for example, purple). to display.
  • a predetermined background color for example, purple
  • the drone-side information processing device 200 may connect to the network N using a method other than the wireless communication method described above (for example, Bluetooth).
  • the user-side information processing device 50 can change the display method of the display image according to the remaining battery level of the drone 100 . Thereby, the user-side information processing device 50 can notify the user of the remaining flightable time of the drone 100 in a more comprehensible manner.
  • the user-side information processing device 50 displays a display image with a normal background color (eg, white) on the monitor.
  • a normal background color eg, white
  • the user-side information processing device 50 if the remaining battery level of the drone 100 is less than a second threshold (for example, 50%) and greater than or equal to a third threshold (for example, 10%) (second threshold > third threshold), a predetermined A display image with a background color (eg, yellow) is displayed on the monitor.
  • a second threshold for example, 50%
  • a third threshold for example, 10%
  • the user-side information processing device 50 displays a display image with a predetermined background color (eg, red) on the monitor.
  • a predetermined background color eg, red
  • the background colors for example, white, yellow, red, and purple
  • the user-side information processing device 50 may highlight the display image using background colors other than these colors.
  • the user-side information processing device 50 may highlight the display image by a method other than changing the background color.
  • the user-side information processing device 50 can highlight the display image by blinking a partial area (image) of the display image or displaying a character string.
  • the user-side information processing device 50 may alert the user to the state of the drone 100 using voice, warning sound, or the like.
  • each Case mentioned above is an example.
  • the user-side information processing device 50 may combine each case, for example, to highlight the display image. For example, if the distance between the user information processing device 50 and the drone 100 is equal to or greater than the first threshold and the drone 100 is within the flight range but outside the predetermined area, the user information processing device 50 displays a red color. The display image may be displayed with the background color of . When the user is flying the drone 100 out of visual line of sight, there is a high possibility that the drone 100 will protrude out of the flight range compared to flying within the visual line of sight.
  • the user-side information processing device 50 presents the fact to the user in a more emphatic manner than during flight within the visual line of sight.
  • the user can operate the drone 100 so that it does not protrude out of the flight range even during flight beyond visual line of sight, and the drone 100 can be flown more safely.
  • the user-side information processing device 50 may change the display method of the display image by combining each case, or may change the display method of the display image for each case.
  • the drone 100 is mainly operated remotely by the user, but the drone 100 may automatically fly along a predetermined flight route, for example.
  • the information processing device 200 on the drone side sets a flight route to a destination specified by the information processing device 50 on the user side, for example.
  • the drone 100 flies along the flight route set by the drone information processing device 200 .
  • the user-side information processing device 50 can designate a plurality of destinations including transit points.
  • the drone-side information processing device 200 in addition to the destination specified by the user-side information processing device 50, considers, for example, the remaining battery level of the drone 100 to determine the flight route. set.
  • the drone 100 can fly along the flight route to the destination without running out of battery in the middle of the flight route.
  • FIG. 14 is a diagram for explaining an example of route candidates according to the third modification of the embodiment of the present disclosure.
  • the drone-side information processing device 200 calculates multiple route candidates R1 and R2 based on the current location P0 and the destination candidates P1 and P2.
  • the destination candidates P1 and P2 are a plurality of destinations specified by the user-side information processing device 50 .
  • one of the destination candidates P1 and P2 may be the flight start point of the drone 100.
  • the drone-side information processing device 200 calculates route candidates R1 and R2 in consideration of the flight range of the drone 100 (flightable area in FIG. 14) and no-fly areas.
  • the drone-side information processing device 200 determines routes that allow the drone 100 not to fly in the no-fly area and reach the destination candidates P1 and P2 in the shortest time as route candidates R1 and R2.
  • flyable area and the flight prohibited area are areas that define the range in which the drone 100 can fly or fly prohibited in a three-dimensional space including height.
  • the drone-side information processing device 200 calculates the flight times X1 and X2 [minutes] when flying the route candidates R1 and R2 based on the weather information and wind direction information of the route candidates R1 and R2 that the drone 100 flies.
  • the drone-side information processing device 200 acquires weather information and wind direction information from the server device 40, for example.
  • the server device 40 uses information obtained from other drones 100 flying in the same flightable area as the drone-side information processing device 200 and weather information obtained from an external server or the like via the network N, based on the weather information described above. Generate wind direction information.
  • the server device 40 As weather information, the server device 40 generates, for example, a weather map containing information about the weather at each location.
  • the server device 40 generates, as wind direction information, a wind direction map including, for example, information on the wind direction, wind strength, etc. at each point.
  • the drone-side information processing device 200 determines the battery level when the drone 100 flies the route candidates R1 and R2. Consumption Y1 and Y2 [%] are calculated.
  • the drone-side information processing device 200 acquires radio wave environment information from the server device 40 .
  • the server device 40 generates radio wave environment information, for example, based on information about base stations 60 located in flight-allowed areas and flight-no-fly areas.
  • the server device 40 acquires information about the base station 60 (information about the installation location of the base station 60, the communication area, etc.) from the network operator.
  • the server device 40 may acquire information on radio wave conditions from other drones 100 flying in the same flightable area as the drone information processing device 200 .
  • the server device 40 generates, for example, a radio wave environment map including information indicating the radio wave situation at each point.
  • the drone-side information processing device 200 determines the flight route of the drone 100 from the calculated route candidates R1 and R2. The drone-side information processing device 200 determines a route candidate that can be flown with the remaining battery as the flight route based on the remaining battery level of the drone 100 .
  • the drone-side information processing device 200 may transmit the calculated route candidates R1 and R2 to the user-side information processing device 50, and the user may decide the flight route of the drone 100 from among the route candidates R1 and R2.
  • the drone-side information processing device 200 may transmit to the user-side information processing device 50, based on the remaining battery level of the drone 100, route candidates that can be flown with the remaining battery.
  • the user-side information processing device 50 may present to the user, based on the remaining battery level of the drone 100, route candidates that can be flown with the currently remaining battery. And, both route candidates including battery consumption may be presented to the user.
  • the drone-side information processing device 200 controls the flight of the drone 100 so that the drone 100 flies along the determined flight route.
  • the drone-side information processing device 200 calculates the route candidates R1 and R2 of the two destination candidates P1 and P2 here, the present invention is not limited to this.
  • the number of destination candidates for which the drone-side information processing device 200 calculates route candidates may be one, or three or more.
  • the drone-side information processing device 200 calculates the route candidate with the shortest distance to the destination candidate, but it is not limited to this.
  • the drone-side information processing device 200 uses, for example, the above-described weather information, wind direction information, radio wave environment information, etc., to find a route candidate with the shortest flight time, a route candidate with the minimum battery consumption, and a route candidate with the radio wave condition.
  • the best route candidate or the like may be calculated.
  • the drone-side information processing device 200 can calculate route candidates in consideration of the aircraft speed of the drone 100 based on wind direction and wind strength.
  • the drone-side information processing device 200 may calculate route candidates including routes with better communication conditions, for example, taking into account radio wave conditions.
  • the drone-side information processing device 200 calculates one route candidate for one destination candidate, but the present invention is not limited to this.
  • the drone information processing device 200 may calculate two or more route candidates for one destination candidate.
  • the drone-side information processing device 200 selects one destination candidate based on different viewpoints, such as a route candidate with the shortest distance, a route candidate with the lowest battery consumption, and a route candidate with the best radio wave condition. A plurality of route candidates may be calculated.
  • the drone-side information processing device 200 determines the flight route, but it is not limited to this.
  • the server device 40 may automatically select the flight route of the drone 100 .
  • the drone-side information processing device 200 performs streaming transmission of the video captured by the camera, but the present invention is not limited to this.
  • the drone-side information processing device 200 may upload the video to the server device 40 when the radio wave condition is good.
  • the drone-side information processing device 200 may upload captured images (including moving images and still images) separately from video streaming to the server device 40 when the radio wave condition is good.
  • the drone-side information processing device 200 is assumed to capture a captured image based on an instruction from the user.
  • the drone-side information processing device 200 uploads images to the server device 40 only when the radio wave condition is good, thereby suppressing retransmission of image files due to radio wave interruptions.
  • the drone-side information processing device 200 can further reduce increases in power consumption and communication costs.
  • the drone-side information processing device 200 divides the captured image data captured during the flight of the drone 100 .
  • the drone-side information processing device 200 stores the divided photographed image data in the drone-side information processing device 200 as divided files.
  • the drone-side information processing device 200 calculates the time during flight that can be uploaded without radio wave interruption based on the flight route and radio wave environment information.
  • the drone-side information processing device 200 calculates the number of split files that can be uploaded in the calculated time.
  • the drone-side information processing device 200 uploads the calculated number of divided files to the server device 40 within the calculated time.
  • the drone-side information processing device 200 may change the transmission rate and transmission method of the divided files according to the calculated time. As a result, the drone-side information processing apparatus 200 can upload more divided files even if the upload time is short without causing radio wave interruption.
  • the drone information processing device 200 displays various information on the monitor. At this time, the drone-side information processing device 200 adjusts the brightness of the monitor according to the state of the drone 100 .
  • the drone-side information processing device 200 adjusts the brightness of the monitor depending on whether the drone 100 is in a flying state or in a landing state on the ground. More specifically, the drone-side information processing device 200 lowers the brightness of the monitor when the drone 100 is in flight than when it is in the landing state. The drone-side information processing device 200 may turn off the monitor (screen off) when the drone 100 is in flight.
  • the drone information processing device 200 reduces the brightness of the monitor or turns off the power of the monitor.
  • the drone information processing device 200 increases the brightness of the monitor. As a result, the drone-side information processing device 200 can reduce power consumption during flight and suppress heat generation.
  • the drone-side information processing device 200 determines the flight state of the drone 100 based on the throttle information of the drone 100, for example.
  • the drone-side information processing device 200 determines that the drone 100 is in a flying state, for example, when the throttle of the drone 100 is raised.
  • the drone-side information processing device 200 determines that the drone 100 is in a landing state when the drone 100 is not in a flying state.
  • the drone-side information processing device 200 may determine the flight state of the drone 100 according to, for example, whether the motor of the drone 100 is driven. The drone information processing device 200 determines that the drone 100 is in flight when the motor of the drone 100 is driven, for example. The drone-side information processing device 200 determines that the drone 100 is in a landing state when the motor of the drone 100 is not driven.
  • the drone-side information processing device 200 may determine the flight state of the drone 100 according to the detection result of the proximity sensor mounted on the drone 100, for example. This proximity sensor detects, for example, whether or not the distance to the ground is equal to or less than a certain value.
  • the drone information processing device 200 determines that the drone 100 is in flight. For example, when the proximity sensor detects that the distance from the ground is equal to or less than a certain value, the drone-side information processing device 200 determines that the drone 100 is in a landing state.
  • the drone-side information processing device 200 adjusts the brightness of the monitor according to the flight state of the drone 100 here, it is not limited to this.
  • the drone-side information processing device 200 may adjust the brightness of the monitor according to the application being executed in addition to the flight state of the drone 100 .
  • the drone-side information processing device 200 provides a service such as video chat, that is, a video chat application or the like is running on the drone-side information processing device 200.
  • the drone-side information processing device 200 increases the brightness of the monitor even when the drone 100 is in flight, as in the landing state.
  • the moving speed of the drone 100 is less than the fourth threshold
  • the moving speed is equal to or greater than the fourth threshold.
  • the brightness of your monitor is reduced. maintain high brightness.
  • the drone-side information processing device 200 does not reduce the brightness of the monitor when the user is using a specific application of the drone-side information processing device 200. As a result, the drone-side information processing device 200 can present an easier-to-see screen to the user.
  • the drone-side information processing device 200 reduces the brightness of the monitor even when the drone 100 is stationary.
  • the drone-side information processing device 200 can present an easy-to-see screen to the user even during flight while a specific application is running. Further, the drone-side information processing device 200 reduces the brightness of the monitor during flight or turns off the power of the monitor when a specific application is not running. As a result, the drone-side information processing device 200 can further reduce power consumption during flight, and can suppress heat generation.
  • the specific application is not limited to video chat.
  • the specific application may be any application that can be used by the user when the drone 100 is stationary or moving at a constant speed or less, and may be, for example, a video playback application.
  • the server device 40 there is one set of the mobile device 10 and the user-side information processing device 50 connected to the server device 40, but the present invention is not limited to this.
  • a plurality of sets of the mobile device 10 and the user-side information processing device 50 may be connected to the server device 40 .
  • the server device 40 can control (relay) remote operations for a plurality of mobile devices 10 .
  • a single user-side information processing device 50 may remotely control a plurality of mobile devices 10 .
  • the user-side information processing device 50 presents the user with a screen for selecting the mobile device 10 (or the drone 100) to be remotely operated.
  • a user determines a drone 100 to be remotely controlled from among a plurality of mobile devices 10 (or drones 100).
  • the user adds the mobile device 10 to be remotely controlled by registering information (for example, drone ID) on the mobile device 10 in the user-side information processing device 50 and the server device 40 .
  • the drone information processing device 200 controls one drone 100 in the above-described embodiment and each modified example, the present invention is not limited to this.
  • the drone information processing device 200 may control a plurality of drones 100 .
  • the drone-side information processing device 200 is attached by the user to the external device 300 mounted on the drone 100 to be controlled among the plurality of drones 100 .
  • the drone-side information processing device 200 can control a plurality of drones 100 by the user replacing the drone-side information processing device 200 .
  • a control device that controls the server device 40 of this embodiment may be realized by a dedicated computer system or by a general-purpose computer system.
  • the program for executing the above operations is distributed by storing it in a computer-readable recording medium such as an optical disk, semiconductor memory, magnetic tape, or flexible disk.
  • the control device is configured by installing the program in a computer and executing the above-described processing.
  • the control device may be a device (for example, a personal computer) external to the server device 40 .
  • the control device may be a device inside the server device 40 (for example, the control unit 405).
  • the above program may be stored in a disk device provided in a server device on a network such as the Internet so that it can be downloaded to a computer.
  • the functions described above may be realized through cooperation between an OS (Operating System) and application software.
  • the parts other than the OS may be stored in a medium and distributed, or the parts other than the OS may be stored in a server device so that they can be downloaded to a computer.
  • each component of each device illustrated is functionally conceptual and does not necessarily need to be physically configured as illustrated.
  • the specific form of distribution and integration of each device is not limited to the illustrated one, and all or part of them can be functionally or physically distributed and integrated in arbitrary units according to various loads and usage conditions. Can be integrated and configured. Note that this distribution/integration configuration may be performed dynamically.
  • the present embodiment can be applied to any configuration that constitutes a device or system, such as a processor as a system LSI (Large Scale Integration), a module using a plurality of processors, a unit using a plurality of modules, etc. Furthermore, it can also be implemented as a set or the like (that is, a configuration of a part of the device) to which other functions are added.
  • a processor as a system LSI (Large Scale Integration)
  • module using a plurality of processors a unit using a plurality of modules, etc.
  • it can also be implemented as a set or the like (that is, a configuration of a part of the device) to which other functions are added.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and a single device housing a plurality of modules in one housing, are both systems.
  • the server device 40 of this embodiment can be implemented as one system.
  • this embodiment can take a configuration of cloud computing in which one function is shared by a plurality of devices via a network and processed jointly.
  • a device mounted on a mobile body for controlling the mobile body a holding unit that holds an information processing device that controls the moving object; a control unit that acquires control information for controlling the moving body from the information processing device and controls the moving body based on the control information;
  • the first application is an application that does not accept changes by users, The device according to (1).
  • a system for controlling a mobile body a user-side information processing device that receives an operation on the mobile object from a user; a server device that acquires operation information about the operation by the user from the user-side information processing device; a moving body side information processing device that acquires the operation information from the server device and generates control information for controlling the moving body based on the operation information; a device that acquires the control information from the mobile information processing device and controls the mobile based on the control information;
  • the device comprises: mounted on the moving body, further comprising a holding unit that holds the information processing device on the mobile side, The information processing device on the mobile side, Acquiring information about the mobile object via the device; transmitting the acquired information to the user-side information processing device via the server device; system.
  • the server device transmitting the operation information to a second application running on the information processing device on the mobile side via a first application running on the information processing device on the mobile side; obtaining the information about the mobile object from the second application via the first application;
  • the first application is an application that does not accept changes by users,
  • the system according to (7) (9) The system according to (8), wherein the first application operates in an application framework layer of the information processing device on the mobile side.
  • the server device acquiring the operation information from a fourth application running on the user-side information processing device via a third application running on the user-side information processing device; transmitting the information about the mobile to the fourth application via the third application;
  • the third application is an application that does not accept changes by users, (7)
  • (11) The system according to (10), wherein the third application operates in an application framework layer of the user-side information processing device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

装置(300)は、移動体(100)に搭載され、移動体(100)を制御するための装置である。装置(300)は、保持部(310)と、制御部(302)と、を備える。保持部(310)は、移動体(100)を制御する情報処理装置(200)を保持する。制御部(302)は、情報処理装置(200)から移動体(100)を制御する制御情報を取得し、制御情報に基づいて移動体(100)を制御する。

Description

装置及びシステム
 本開示は、装置及びシステムに関する。
 移動体を遠隔操作する技術が知られている。例えば、ユーザが、スマートフォンを用いてドローンを遠隔操作することを可能にする技術が知られている。
特開2017-208678号公報
 例えば、ドローンを遠隔操作する場合、ドローンを直接確認できない状態で飛行させる目視外飛行、及び、ドローンを直接確認できる状態で飛行させる目視内飛行のいずれかの状態において遠隔操作が行われる。
 ドローンを目視外飛行させる場合、より高度な自律飛行が求められる。具体的には、ドローンには、例えば予め設定された飛行ルートから外れることなく、かつ、より速く障害物を回避する機能などが求められる。
 このように、例えばドローンのように遠隔操作によって動作する移動体に対して、より高度な自律移動機能が要求される。しかしながら、移動体をより高性能化するためには開発コストがかかる。また、既存の移動体を高性能化することが難しいという問題がある。
 そこで、本開示では、移動体の高性能化をより容易に実現することができる仕組みを提供する。
 なお、上記課題又は目的は、本明細書に開示される複数の実施形態が解決し得、又は達成し得る複数の課題又は目的の1つに過ぎない。
 本開示の装置は、移動体に搭載され、前記移動体を制御するための装置である。装置は、保持部と、制御部と、を備える。保持部は、前記移動体を制御する情報処理装置を保持する。制御部は、前記情報処理装置から前記移動体を制御する制御情報を取得し、前記制御情報に基づいて前記移動体を制御する。
本開示の実施形態に係る移動体システムの構成例を示す図である。 本開示の実施形態に係る制御装置の一例を示す図である。 本開示の実施形態に係るドローン側情報処理装置のハードウェア構成の一例を示すブロック図である。 本開示の実施形態に係るドローン側情報処理装置のソフトウェア構成の一例を示す図である。 本開示の実施形態に係る外部装置の機能構成例を示すブロック図である。 本開示の実施形態に係る外部装置によるドローンの制御の一例を説明するための図である。 本開示の実施形態に係る外部装置によるドローンの制御の他の例を説明するための図である。 本開示の実施形態に係るユーザ側情報処理装置のソフトウェア構成の一例を示す図である。 本開示の実施形態に係るユーザ側情報処理装置のモニタに表示される表示画像の一例を示す図である。 本開示の実施形態に係るサーバ装置の機能の一例を説明するための機能ブロック図である。 本開示の実施形態に係るサーバ装置のハードウェア構成の一例を示すブロック図である。 本開示の実施形態に係る移動体システムで実行される通信処理の流れの一例を示すシーケンス図である。 本開示の実施形態の第2変形例に係る表示画像の一例を説明するための図である。 本開示の実施形態の第3変形例に係るルート候補の一例を説明するための図である。
 以下に添付図面を参照しながら、本開示の実施形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
 また、本明細書及び図面において、実質的に同一の機能構成を有する複数の構成要素を、同一の符号の後に異なる数字又はアルファベットを付して区別する場合もある。ただし、実質的に同一の機能構成を有する複数の構成要素の各々を特に区別する必要がない場合、同一符号を付する。
 また、本明細書及び図面において、具体的な値を示して説明する場合があるが、値は一例であり、別の値が適用されてもよい。
 以下に説明される1又は複数の実施形態(実施例、変形例を含む)は、各々が独立に実施されることが可能である。一方で、以下に説明される複数の実施形態は少なくとも一部が他の実施形態の少なくとも一部と適宜組み合わせて実施されてもよい。これら複数の実施形態は、互いに異なる新規な特徴を含み得る。したがって、これら複数の実施形態は、互いに異なる目的又は課題を解決することに寄与し得、互いに異なる効果を奏し得る。
<<1.はじめに>>
<1.1.移動体システムの概要>
 まず、本開示の実施形態に係る移動体システム1の概要について説明する。図1は、本開示の実施形態に係る移動体システム1の構成例を示す図である。
 移動体システム1は、移動体装置10と、サーバ装置40と、ユーザ側情報処理装置50と、を備える。
 移動体装置10は、例えばドローンやロボットなどの移動体を含む。以下では、移動体がドローンである場合を例に説明するが、移動体はドローンに限定されない。移動体装置10は、ドローン100と、制御装置20と、を含む。
 制御装置20は、ドローン100に搭載され、サーバ装置40又はユーザ側情報処理装置50からの操作に応じてドローン100を制御する。制御装置20は、基地局60を介してネットワークNに接続する。制御装置20については後述する。
 サーバ装置40は、制御装置20を介してドローン100の管理及び/又は操作を行う装置である。サーバ装置40は、ネットワークNを介してユーザ側情報処理装置50及び制御装置20と接続する。サーバ装置40は、ユーザ側情報処理装置50からの指示に従ってドローン100の操作を行う。また、サーバ装置40は、ドローン100から取得した各種情報をユーザ側情報処理装置50に送信する。
 ユーザ側情報処理装置50は、例えばスマートフォンなどの端末装置である。ユーザ側情報処理装置50は、例えば、ユーザからの操作を受け付け、当該操作に基づき、サーバ装置40を介してドローン100の制御を行う。ユーザ側情報処理装置50は、ネットワークNを介してサーバ装置40に接続する。
 基地局60は、制御装置20と、例えば無線通信を行う通信装置である。基地局60は、例えば、5G(第5世代移動通信システム)、LTE(Long Term Evolution)等のセルラー通信技術により制御装置20と通信を行う。基地局60は、例えば、Wi-Fi(登録商標)等の無線通信方式により制御装置20と通信を行うアクセスポイントであり得る。基地局60は、例えば、Bluetooth(登録商標)等の無線通信方式により制御装置20と通信を行う通信装置であり得る。
 図2は、本開示の実施形態に係る制御装置20の一例を示す図である。図2に示すように、制御装置20は、ドローン側情報処理装置200と、外部装置300と、を有する。
 ドローン側情報処理装置200は、例えばスマートフォンなどの端末装置である。ドローン側情報処理装置200は、例えば、高性能な処理機能や通信機能を有する。ドローン側情報処理装置200は、例えば、カメラなど種々のセンサを搭載する。ドローン側情報処理装置200は、例えばセキュリティの高い通信(例えば、SSL(Secure Sockets Layer)通信)を行い得る。
 ドローン側情報処理装置200は、例えば外部装置300に搭載される。
 ドローン側情報処理装置200は、基地局60を介してネットワークNに接続する。ドローン側情報処理装置200は、サーバ装置40からのドローン100に対する操作に応じて、外部装置300を介してドローン100を制御する。
 外部装置300は、ドローン側情報処理装置200からの指示に従って、ドローン100を制御する。外部装置300は、例えば、後述するESC(Electric Speed Controller)を制御するESC制御信号を生成する。外部装置300は、例えば、ドローン100を制御するための種々の制御信号を生成し得る。
 外部装置300は、例えば保持部310を備える。保持部310は、ドローン側情報処理装置200を保持する。保持部310は、例えば、ドローン側情報処理装置200を着脱可能に保持し得る。なお、図2に示す保持部310は一例である。例えば、ドローン側情報処理装置200が保持部310にはめ込まれることで、保持部310がドローン側情報処理装置200を保持してもよい。
 外部装置300は、ドローン側情報処理装置200を保持した状態で、例えばドローン100の搭載部110に搭載される。あるいは、ドローン100の搭載部110に外部装置300が固定された状態で、ドローン側情報処理装置200が外部装置300に搭載されるようにしてもよい。なお、図2に示すドローン100の搭載部110は一例である。例えば、搭載部110がドローン100の上部又は下部に設けられてもよい。
 外部装置300は、ドローン側情報処理装置200からの制御に応じて、ドローン100を制御する。
 図1に戻り、本開示の実施形態に係るドローン100の遠隔操作処理の概要について説明する。
 図1に示すように、ユーザ側情報処理装置50は、ユーザによるドローン100の操作を受け付け、当該操作に関する操作情報をサーバ装置40に送信する(ステップS1)。
 サーバ装置40は、ユーザ側情報処理装置50から受信した操作情報を制御装置20のドローン側情報処理装置200(図2参照)に送信する(ステップS2)。ドローン側情報処理装置200は、操作情報に基づき、外部装置300を介してドローン100の制御を行う。
 図1に示す制御装置20は、ドローン100の位置などドローン100の状態に関する状態情報やドローン100が撮影した映像情報をサーバ装置40に送信する(ステップS3)。
 サーバ装置40は、制御装置20から受信した状態情報や映像情報をユーザ側情報処理装置50に送信する(ステップS4)。
 このように、本開示の実施形態に係る移動体システム1では、ドローン100に外部装置300を介してスマートフォンのようなドローン側情報処理装置200を搭載する。これにより、移動体システム1は、スマートフォンのように高性能な情報処理機能を有するドローン側情報処理装置200を使用してドローン100を制御することができ、より簡単にドローン100を含む移動体装置10を高性能化することができる。
 また、移動体装置10は、例えばドローン側情報処理装置200の通信機能を用いてネットワークNに接続することができる。これにより、移動体装置10は、ネットワークNを介してサーバ装置40に接続することができる。移動体システム1は、より容易にドローン100を遠隔操作することができる。
 また、ユーザ側情報処理装置50がネットワークNを介してドローン100を制御することができるため、ユーザは、ドローン100を目視外において制御することができる。
 このように、ドローン100の目視外飛行が行われる場合、ドローン100の自律飛行性がより要求されるようになる。例えば、目視外飛行の場合、ユーザが映像では確認できない障害物をドローン100が自律的に回避する機能が要求される。さらに、ドローン100には、予め設定された飛行ルートから外れることなく、しかも瞬時に障害物を回避する機能などが要求される。
 このとき、ドローン100自体を高性能化すると、ドローン100自体が高価になってしまう。また、既存のドローンは高性能化することが難しい。
 一方、本開示の実施形態に係る移動体システム1では、ドローン100の制御を、ドローン100に搭載されるドローン側情報処理装置200が行う。ドローン側情報処理装置200は、上述したようにスマートフォンのような情報処理端末である。スマートフォンは、例えば、カメラやIMU(Inertial Measurement Unit)などのセンサを搭載し、種々のアプリケーションを実行する高性能な装置である。
 このように、高性能な情報処理装置を移動体装置10のモジュールとしてドローン100に搭載することで、本開示の実施形態に係る移動体システム1は、ドローン100自体を高性能化せずに、ドローン100の自律飛行性を実現することができる。すなわち、本開示の実施形態に係る移動体システム1は、より容易にドローン100を含む移動体装置10の高性能化を実現することができる。
 本開示の実施形態に係る移動体システム1は、ドローン側情報処理装置200の多機能性を活かし、サーバ装置40とドローン側情報処理装置200とを組み合わせることで、ドローン100の飛行に要求される機能を実現する。
 例えば、ドローン100による飛行の安全性を確保するためには、移動体システム1に含まれる各装置(例えばドローン100やユーザ側、ドローン側情報処理装置50、200)が、予め安全性が検証された装置であることが要求される。
 さらに、ドローン100が飛行するためには、ネットワークオペレータや国、地方自治体などから飛行場所や飛行時間など飛行に関する許可を得ることが要求される。
 これらの要求を満たすために、ネットワークオペレータや国、地方自治体などの会社・機関から認可されたユーザ側、ドローン側情報処理装置50、200が移動体システム1に含まれるようにする仕組みが要求される。
 そこで、本開示の実施形態に係る移動体システム1は、特定のドローン側情報処理装置200が外部装置300を介してドローン100を制御することができる仕組みを提供する。また、本開示の実施形態に係る移動体システム1は、特定のドローン側情報処理装置200が、サーバ装置40に接続することができる仕組みを提供する。また、本開示の実施形態に係る移動体システム1は、特定のユーザ側情報処理装置50が、サーバ装置40に接続することができる仕組みを提供する。
 このような仕組みを実現することで、本開示の実施形態に係る移動体システム1は、許可を得た範囲でドローン100を飛行させることができる。また、本開示の実施形態に係る移動体システム1は、許可を得ていないユーザによるドローン100の飛行を制限することができる。これにより、本開示の実施形態に係る移動体システム1は、より安全にドローン100を飛行させることができる。
<<2.移動体システムの構成例>>
<2.1.ドローン側情報処理装置の構成例>
 本開示の実施形態に係るドローン側情報処理装置200は、移動体システム1のドローン100に外部装置300を介して搭載され、ドローン100の制御を行う情報処理装置である。ドローン側情報処理装置200は、例えばスマートフォンなど携帯型の情報処理装置である。上述したように、本開示の実施形態に係るドローン側情報処理装置200は、ドローン100の例えばモータ等を直接制御するのではなく、外部装置300を介して間接的にドローン100の制御を行う。
(ドローン側情報処理装置200のハードウェア構成例)
 図3は、本開示の実施形態に係るドローン側情報処理装置200のハードウェア構成の一例を示すブロック図である。
 図3において、ドローン側情報処理装置200は、CPU(Central Processing Unit)2000と、ROM(Read Only Memory)2001と、RAM(Random Access Memory)2002と、ストレージ装置2003と、入力デバイス2004と、表示制御部2005と、通信I/F2006と、を備える。CPU2000、ROM2001、RAM2002、ストレージ装置2003、入力デバイス2004、表示制御部2005、及び、通信I/F2006は、バス2010により互いに通信可能に接続される。また、図3の例では、ドローン側情報処理装置200は、表示制御部2005に接続される表示デバイス2020をさらに備える。
 ストレージ装置2003は、ハードディスクドライブやフラッシュメモリといった、不揮発性の記憶媒体である。ストレージ装置2003は、CPU2000が動作するための各種のプログラムやデータが記憶される。
 CPU2000は、ROM2001およびストレージ装置2003に予め記憶されたプログラムに従い動作し、ドローン側情報処理装置200の全体の動作を制御する。通信I/F2006は、CPU2000の制御に従い、基地局60との通信を実行する。
 入力デバイス2004は、ユーザ操作に応じた制御信号を生成する。生成された制御信号は、バス2010を介してCPU2000に渡される。表示制御部2005は、CPU2000によりプログラムに従い生成された表示制御信号に基づき、表示デバイス2020が表示可能な表示信号を生成し、この表示信号を表示デバイス2020に出力する。表示デバイス2020は、例えばLCD(Liquid Crystal Display)や有機EL(electro-luminescence)を利用した表示デバイスを適用できる。
 ここで、入力デバイス2004を、例えば、接触した位置に応じた制御信号を生成し、且つ、光を透過可能とし、入力デバイス2004と表示デバイス2020とを一体的に形成してタッチパネルを構成してもよい。
 後述するドローン側制御アプリ(アプリケーションプログラム)及びドローン側サービスアプリは、CPU2000上で、例えばこのドローン側情報処理装置200の基本プログラム(例えばOS(オペレーションシステム))が動作することで実現される。この例に限定されず、ドローン側制御アプリ及びドローン側サービスアプリの一部または全部を、互いに協働して動作するハードウェア回路を用いて構成してもよい。
 実際のハードウェアとしては、CPU2000が例えばストレージ装置2003などの記憶媒体から当該アプリを読み出して実行することにより、各アプリがRAM2002などの主記憶装置上にロードされ、当該各アプリが主記憶装置上に生成される。
(ドローン側情報処理装置200のソフトウェア構成例)
 図4は、本開示の実施形態に係るドローン側情報処理装置200のソフトウェア構成の一例を示す図である。図4では、一例としてAndroid(登録商標)OSのソフトウェア構成を示しているが、これに限定されない。ドローン側情報処理装置200がAndroidOS以外のOSによって動作するようにしてもよい。
 図4に示すように、ドローン側情報処理装置200のソフトウェア構成は、アプリケーション層と、アプリケーション・フレームワーク層と、標準ライブラリ層と、カーネル層と、を含む。
 アプリケーション・フレームワーク層、標準ライブラリ層及びカーネル層は、エンドユーザによる書き換えが行えないレイヤである。一方、アプリケーション層は、DL(ダウンロード)によるアプリの追加や削除など、エンドユーザによる書き換えが行えるレイヤである。
 図4に示すように、アプリケーション・フレームワーク層には、ドローン側サービスアプリ(第1のアプリケーションの一例)が含まれる。ドローン側サービスアプリは、例えば、ドローン側情報処理装置200の出荷時に予めインストールされているアプリケーションプログラムである。ドローン側サービスアプリは、例えばドローン100を操作するユーザ(エンドユーザの一例)による書き換えができないアプリケーションプログラムである。
 アプリケーション層には、ドローン側制御アプリ(第2のアプリケーションの一例)が含まれる。ドローン側制御アプリは、例えばドローン100を操作するユーザによって、外部サーバ(図示せず)などからDLされて追加されるアプリケーションプログラムである。ドローン側サービスアプリは、ドローン100を操作するユーザによって削除などの書き換えが行えるアプリケーションプログラムである。
 本開示の実施形態に係るドローン側制御アプリは、直接外部装置300及びサーバ装置40と通信を行わない。ドローン側制御アプリは、ドローン側サービスアプリを介して外部装置300及びサーバ装置40それぞれと通信を行う。
 このように、ドローン側制御アプリは、予めドローン側サービスアプリを介して外部装置300及びサーバ装置40それぞれと通信を行う。これにより、本開示の実施形態に係る移動体システム1では、外部装置300及びサーバ装置40に接続する情報処理装置を、ドローン側サービスアプリが予めインストールされた特定のドローン側情報処理装置200に制限することができる。
(ドローン側サービスアプリ)
 図4に示すドローン側サービスアプリは、ドローン側制御アプリと外部装置300との間のやり取り、及び、ドローン側制御アプリとサーバ装置40との間のやり取りを中継する。ドローン側サービスアプリは、ネットワークモジュール(図4のNetwork)と、コマンド処理モジュール(図4のCommand Processor)と、USB(Universal Serial Bus)ホストモジュール(図4のUSB Host)と、を含む。
 ネットワークモジュールは、基地局60を介してサーバ装置40と通信を行う通信モジュールである。ネットワークモジュールは、サーバ装置40との間で、SSL等の所定の暗号化方式を使用した通信を行う。
 コマンド処理モジュールは、ドローン側制御アプリによるドローン100に対する制御指示を、外部装置300に送信するための制御コマンドに変換するモジュールである。コマンド処理モジュールは、ドローン側制御アプリによる制御指示情報を、外部装置300が処理し得る制御コマンド情報に変換する。
 USBホストモジュールは、外部装置300と通信を行う通信モジュールである。なお、本実施形態では、ドローン側情報処理装置200と外部装置300とがUSBによる通信を行うものとするが、これに限定されない。ドローン側情報処理装置200と外部装置300とが、例えばBluetooth、NFC(Near Field Communication)などによって接続されてもよい。
 なお、ドローン側サービスアプリに含まれるモジュールは一例であり、これに限定されない。ドローン側サービスアプリが、図4に示すモジュール以外のモジュールを含んでいてもよい。
(ドローン側制御アプリ)
 ドローン側制御アプリは、例えばサーバ装置40からの指示に基づいてドローン100の制御を行う。ドローン側制御アプリは、ドローン側サービスアプリを介してサーバ装置40からの指示情報を受信する。ドローン側制御アプリは、ドローン側サービスアプリを介して外部装置300にドローン100を制御する制御情報を送信する。
 図4に示すドローン側制御アプリは、例えば、AHRS(Attitude Heading Reference System)モジュール(図4のAHRS)と、カメラモジュール(図4のCamera)と、センサモジュール(図4のSensor)と、モニタモジュール(図4のMonitor)と、を含む。ドローン側制御アプリは、例えば、バッテリモジュール(図4のBattery)と、Locationモジュール(図4のLocation)と、AI(Artificial Intelligence)モジュール(図4のAI)と、を含む。ドローン側制御アプリは、例えば、Bluetoothモジュール(図4のBT)と、映像ストリーミングモジュール(図4のVideo Streaming)と、を含む。
 AHRSモジュールは、例えば、ドローン側情報処理装置200に搭載されるAHRS(姿勢方位基準装置)の計測結果に基づき、ドローン100の位置姿勢を検出する姿勢計測モジュールである。あるいは、AHRSモジュールは、例えば、ドローン100に搭載されるAHRSの計測結果に基づき、ドローン100の位置姿勢を検出してもよい。
 カメラモジュールは、例えば、ドローン側情報処理装置200に搭載されるカメラを制御し、ドローン100周囲の映像を撮影する撮影モジュールである。あるいは、カメラモジュールは、例えば、ドローン100に搭載されるカメラを制御し、ドローン100周囲の映像を撮影してもよい。
 センサモジュールは、例えば、ドローン側情報処理装置200に搭載されるセンサを制御し、ドローン100周囲の状態をセンシングするモジュールである。あるいは、カメラモジュールは、例えば、ド搭載されるセンサを制御し、ドローン100周囲の状態をセンシングするようにしてもよい。センサモジュールは、例えば測距センサや環境光センサ、マイクロフォンなどの各種センサを制御し得る。
 モニタモジュールは、例えば、ドローン側情報処理装置200に搭載されるモニタを制御し、モニタに各種情報を表示させるモジュールである。モニタモジュールは、例えばカメラモジュールによって撮影された映像をモニタに表示し得る。モニタモジュールは、例えばドローン100の飛行ルートをモニタに表示し得る。モニタモジュールは、例えばドローン100の飛行許可を示す情報をモニタに表示し得る。このように、モニタモジュールは、モニタに各種情報を表示させ得る。
 バッテリモジュールは、例えば、ドローン100のバッテリを管理する管理モジュールである。バッテリモジュールは、例えば外部装置300を介してドローン100のバッテリの状態(例えば、バッテリ残量)を取得する。バッテリモジュールは、例えば、取得したバッテリの状態を、サーバ装置40に送信する。
 Locationモジュールは、例えば、ドローン側情報処理装置200に搭載されるGPS(Global Positioning System)等のような測位システムによる測位結果に基づき、ドローン100の位置情報を管理するモジュールである。あるいは、Locationモジュールは、例えば、ドローン100に搭載される測位システムの測位結果に基づいてドローン100の位置を検出するようにしてもよい。Locationモジュールは、例えば、取得した位置情報を、サーバ装置40に送信する。
 AIモジュールは、各モジュールが検出した情報(例えばドローン100の姿勢情報や位置情報)、サーバ装置40からの指示に基づき、ドローン100の制御情報を生成するモジュールである。
 AIモジュールは、例えば、各モジュールによる検出結果やサーバ装置40からの指示情報を学習データとして事前に学習した学習済みモデル(AI)を用いて、ドローン100の位置及び姿勢を自律的に制御する。
 AIモジュールは、例えば、現在のドローン100の位置及び姿勢に関する情報や、サーバ装置40からの指示情報を学習済みモデルに入力し、ドローン100を制御するための制御情報を出力として得る。AIモジュールは、得られた制御情報を、外部装置300を介してドローン100に送信することで、ドローン100を制御する。
 なお、ここでは、ドローン側情報処理装置200が、AIを用いてドローン100を制御するとしたが、これに限定されない。ドローン側情報処理装置200は、現在のドローン100の位置及び姿勢に関する情報やサーバ装置40からの指示情報に基づいてドローン100を制御すればよい。ドローン側情報処理装置200は、任意の制御方法を用いてドローン100を制御し得る。この場合、ドローン側制御アプリは、AIモジュールに代えて、例えばドローン制御モジュールを含み得る。
 Bluetoothモジュールは、外部の装置(例えば、基地局60)とBluetoothによる通信を行う通信モジュールである。また、Bluetoothモジュールは、外部の装置(例えば、基地局60)に対して、例えば、ドローン100を識別するための識別情報を特定するための信号(以下、識別信号とも記載する)を送信する機能を有する。当該識別情報は、例えば、ドローン100の機体IDである。Bluetoothモジュールは、例えば、当該識別信号として、ビーコン信号(例えば、iBeacon(登録商標))を送信する。
 なお、ドローン側情報処理装置200が、Bluetooth以外にもWi-Fi(登録商標)やUWB(Ultra Wide Band)、LPWA(Low Power Wide Area)等の無線通信規格もしくは方式で通信を行うようにしてもよい。あるいは、ドローン側情報処理装置200が、LTEやNR等のセルラー通信を行うようにしてもよい。
 ドローン側情報処理装置200は、例えば、ドローン100の飛行に応じて許可される無線通信方式基づき、サーバ装置40からの指示に従って選択した無線通信方式で基地局60と通信を行う。
 映像ストリーミングモジュールは、カメラモジュールによって取得された映像をサーバ装置40にストリーミング伝送するモジュールである。映像ストリーミングモジュールは、カメラモジュールが取得した映像を、基地局60を介してサーバ装置40に送信する。
 なお、ドローン側制御アプリに含まれるモジュールは一例であり、これに限定されない。ドローン側制御アプリが、図4に示すモジュール以外のモジュールを含んでいてもよい。
<2.2.外部装置の構成例>
 図5は、本開示の実施形態に係る外部装置300の機能構成例を示すブロック図である。外部装置300は、第1通信I/F301と、制御部302と、変換部303と、第2通信I/F304と、を有する。なお、図5に示した構成は機能的な構成であり、ハードウェア構成はこれとは異なっていてもよい。また、外部装置300の機能は、複数の物理的に分離された構成に分散して実装されてもよい。
 第1通信I/F301は、ドローン側情報処理装置200と通信を行うための通信インタフェースである。第1通信I/F301は、例えばUSBホストコントローラ、USBポート等により構成されるUSBインタフェースである。なお、第1通信I/F301が行う通信は、USBによる通信に限定されない。第1通信I/F301が、例えばBluetooth、NFCによる通信を行ってもよい。
 制御部302は、外部装置300の各部を制御するコントローラ(controller)である。制御部302は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)等のプロセッサ、又はプロセッサとメモリ等の記憶素子が混載されたマイコン若しくは制御基板等であり得る。制御部302のプロセッサが所定のプログラムに従って動作することにより、各種の機能が実現され得る。
 制御部302は、第1通信I/F301を介してドローン側情報処理装置200から取得した制御情報に基づき、ドローン100を制御する。制御部302は、当該制御情報に基づき、ドローン100を制御する制御信号を生成する。
 また、制御部302は、例えばドローン側情報処理装置200からの指示に応じて、ドローン100に搭載されたセンサ(例えば、カメラや測位センサ、AHRSなど)を制御する。また、制御部302は、例えば、ドローン100に搭載されたセンサによるセンシング結果をドローン側情報処理装置200に通知する。制御部302は、例えばドローン100のバッテリの状態等、ドローン100の状態に関する情報を、ドローン100から取得し、ドローン側情報処理装置200に通知する。
 変換部303は、制御部302が生成した制御信号をPWM(Pulse Width Modulation)により変調された制御信号(以下、PWM制御信号とも記載する)に変換する。変換部303は、例えば、IC(Integrated Circuit)やLSI(Large Scale Integration)等で実現されてもよく、あるいは、半導体チップ(ダイ)上の1つの回路ブロックで実現されてもよい。また、制御部302が変換部303の機能を有するようにしてもよい。この場合、変換部303は省略され得る。
 第2通信I/F304は、ドローン100と通信を行うための通信インタフェースである。第2通信I/F304は、例えば、UART(Universal Asynchronous Receiver Transmitter)規格で通信を行う通信インタフェースであり得る。第2通信I/F304は、I2C(Inter-Integrated Circuit)などのシリアル通信を行う通信インタフェースであり得る。第2通信I/F304は、PWM制御信号をドローン100に送信する通信インタフェースであり得る。
 図6は、本開示の実施形態に係る外部装置300によるドローン100の制御の一例を説明するための図である。
 図6に示すように、ドローン100は、例えば4つのプロペラ103A~103D(駆動部の一例)と、各プロペラ103をそれぞれ駆動させるESC102A~102D(駆動制御部の一例)と、を有する。ドローン100は、図6に示すESC102及びプロペラ103に加え、フレームやモータ、バッテリなど(いずれも図示省略)を有する。
 ドローン側情報処理装置200は、現在のドローン100の位置、姿勢やサーバ装置40からの指示に基づき、ドローン100の姿勢制御を行って制御情報を生成する。ドローン側情報処理装置200は、制御情報を外部装置300に出力する。
 外部装置300は、ドローン側情報処理装置200から取得した制御情報に基づき、ドローン100を制御するための制御信号を生成する。図6の例では、外部装置300は、生成した制御信号をPWMによって変調し、PWM制御信号を生成する。このPWM制御信号は、ドローン100が有するESC102A~102Dを直接制御するための信号である。外部装置300は、PWM制御信号をドローン100のESC102A~102Dに出力する。
 ESC102A~102Dは、外部装置300から取得したPWM制御信号に基づき、モータ(図示省略)を制御することで、プロペラ103A~103Dを制御する。
 このように、外部装置300が、ドローン側情報処理装置200によるドローン100の姿勢制御に応じてPWM制御信号を生成することで、制御装置20は、直接ESC102A~102Dを制御することができる。これにより、ドローン側情報処理装置200は、外部装置300を介してドローン100を制御することができる。
 図7は、本開示の実施形態に係る外部装置300によるドローン100の制御の他の例を説明するための図である。
 図7に示すドローン100は、ESC102A~102D及びプロペラ103A~103Dに加え、ESC102A~102Dを制御するFC(フライトコントローラ)101(移動制御部の一例)を有する。図7に示す制御は、ドローン側情報処理装置200の代わりにFC101がドローン100の姿勢制御を行う点で図6に示す制御と異なる。
 図7に示すドローン側情報処理装置200は、例えば、サーバ装置40からの指示に応じて、ドローン100の移動方向や飛行速度、離陸/着陸などドローン(100)の飛行に関する制御情報を生成する。ドローン側情報処理装置200は、生成した制御情報を外部装置300に出力する。
 外部装置300は、ドローン側情報処理装置200から取得した制御情報に基づき、ドローン100を制御するための制御信号を生成する。この制御信号は、ドローン100のFC101が動作するための指示情報を含み、例えばUART規格で伝送される。
 ドローン100のFC101は、外部装置300から制御信号を受信する。FC101は、制御信号に基づき、ESC102A~102Dを制御する。ESC102A~102Dは、FC101からの指示に応じてモータ(図示省略)を制御することで、プロペラ103A~103Dを制御する。
 このように、制御装置20は、ドローン100に搭載されたFC101を制御することで、ドローン100を制御する。これにより、制御装置20は、ESC102~102Dを直接制御することなく、ドローン100を制御することができる。これにより、ドローン側情報処理装置200は、外部装置300を介してドローン100を制御することができる。
<2.3.ユーザ側情報処理装置の構成例>
 本開示の実施形態に係る移動体システム1は、ドローン100を飛行させるためのユーザによる操作を受け付けるユーザ側情報処理装置50を含む。ユーザ側情報処理装置50は、例えばスマートフォンなど携帯型の情報処理装置である。
 上述したように、ユーザ側情報処理装置50は、ドローン100に対するユーザからの操作を受け付け、受け付けた操作に関する操作情報を、サーバ装置40を介してドローン側情報処理装置200に送信する。このように、本開示の実施形態に係る移動体システム1では、ユーザ側情報処理装置50によるドローン100の遠隔操作が、サーバ装置40を介して実行される。
 ユーザ側情報処理装置50のハードウェア構成は、ドローン側情報処理装置200と同じであるため説明を省略する。
 図8は、本開示の実施形態に係るユーザ側情報処理装置50のソフトウェア構成の一例を示す図である。図8では、一例としてAndroid(登録商標)OSのソフトウェア構成を示しているが、これに限定されない。ユーザ側情報処理装置50がAndroidOS以外のOSによって動作するようにしてもよい。
 図8に示すように、ユーザ側情報処理装置50のソフトウェア構成は、アプリケーション層と、アプリケーション・フレームワーク層と、標準ライブラリ層と、カーネル層と、を含む。
 上述したように、アプリケーション・フレームワーク層、標準ライブラリ層及びカーネル層は、エンドユーザによる書き換えが行えないレイヤである。一方、アプリケーション層は、DL(ダウンロード)によるアプリの追加や削除など、エンドユーザによる書き換えが行えるレイヤである。
 図8に示すように、アプリケーション・フレームワーク層には、ユーザ側サービスアプリ(第3のアプリケーションの一例)が含まれる。ユーザ側サービスアプリは、例えば、ユーザ側情報処理装置50の出荷時に予めインストールされているアプリケーションプログラムである。ユーザ側サービスアプリは、例えばドローン100を操作するユーザ(エンドユーザの一例)による書き換えができないアプリケーションプログラムである。
 アプリケーション層には、ユーザ側制御アプリ(第4のアプリケーションの一例)が含まれる。ユーザ側制御アプリは、例えばドローン100を操作するユーザによって、外部サーバ(図示せず)などからDLされて追加されるアプリケーションプログラムである。ユーザ側サービスアプリは、ドローン100を操作するユーザによって削除などの書き換えが行えるアプリケーションプログラムである。
 本開示の実施形態に係るユーザ側制御アプリは、直接サーバ装置40と通信を行わない。ユーザ側制御アプリは、ユーザ側サービスアプリを介してサーバ装置40と通信を行う。
 このように、ユーザ側制御アプリは、予めユーザ側サービスアプリを介してサーバ装置40と通信を行う。これにより、本開示の実施形態に係る移動体システム1では、サーバ装置40に接続する情報処理装置を、ユーザ側サービスアプリが予めインストールされた特定のユーザ側情報処理装置50に制限することができる。
(ユーザ側サービスアプリ)
 図8に示すユーザ側サービスアプリは、ユーザ側制御アプリとサーバ装置40との間のやり取りを中継する。ユーザ側サービスアプリは、ネットワークモジュール(図8のNetwork)と、コマンド処理モジュール(図8のCommand Processor)と、を含む。
 ネットワークモジュールは、ネットワークN(図1参照)を介してサーバ装置40と通信を行う通信モジュールである。ネットワークモジュールは、サーバ装置40との間で、SSL等の所定の暗号化方式を使用した通信を行う。
 コマンド処理モジュールは、ユーザ側制御アプリによるドローン100に対する操作を、サーバ装置40に送信するための操作コマンドに変換するモジュールである。コマンド処理モジュールは、ユーザ側制御アプリによる操作情報を、サーバ装置40を介して受信したドローン側情報処理装置200が処理し得る操作コマンド情報に変換する。
 なお、ユーザ側サービスアプリに含まれるモジュールは一例であり、これに限定されない。ユーザ側サービスアプリが、図8に示すモジュール以外のモジュールを含んでいてもよい。
(ユーザ側制御アプリ)
 ユーザ側制御アプリは、例えばユーザからの指示に基づいてドローン100の操作(制御)を行う。ユーザ側制御アプリは、ユーザからの指示を受け付ける。ユーザ側制御アプリは、ユーザ側サービスアプリを介してサーバ装置40に指示情報を送信する。
 図8に示すユーザ側制御アプリは、例えば、操作受付モジュール(図8のJoystick)と、AIモジュール(図8のAI)と、コマンド処理モジュール(図8のCommand Processor)と、Bluetoothモジュール(図8のBT)と、を含む。ユーザ側制御アプリは、例えば、ネットワークモジュール(図8のNetwork)と、地図モジュール(図8のMap)と、モニタモジュール(図8のMonitor)と、を含む。ユーザ側制御アプリは、例えば、Locationモジュール(図8のLocation)と、映像ストリーミングモジュール(図8のVideo Streaming)と、を含む。
 操作受付モジュールは、例えば、ジョイスティックを介してユーザからのドローン100に対する操作を受け付ける。操作受け付けモジュールがユーザからの操作を受け付けるデバイスは、ジョイスティックに限定されず、例えばリモコン等の操作デバイスであってもよい。また、操作デバイスは、例えば、ユーザ側情報処理装置50に接続される実装置であってもよく、ユーザ側情報処理装置50のモニタ(図示省略)に表示される仮想の装置であってもよい。
 AIモジュールは、各モジュールが検出した情報やドローン側情報処理装置200から取得したドローン100に関する情報に基づき、ドローン100の操作情報を生成するモジュールである。
 AIモジュールは、例えば、各モジュールによる検出結果やドローン100に関する情報を学習データとして事前に学習した学習済みモデル(AI)を用いて、ドローン100の操作情報を生成する。
 AIモジュールは、例えば、現在のドローン100の位置及び姿勢に関する情報や、ユーザからの操作を学習済みモデルに入力し、ドローン100を操作するための操作情報を出力として得る。AIモジュールは、得られた操作情報を、サーバ装置40を介してドローン側情報処理装置200に送信する。
 なお、ここでは、ユーザ側情報処理装置50が、AIを用いて操作情報を生成するとしたが、これに限定されない。ユーザ側情報処理装置50は、現在のドローン100の位置及び姿勢に関する情報やユーザからの操作に基づいて操作情報を生成すればよい。ユーザ側情報処理装置50は、任意の方法で操作情報を生成し得る。この場合、ユーザ側制御アプリは、AIモジュールに代えて、例えば操作情報生成モジュールを含み得る。
 コマンド処理モジュールは、ユーザから受け付けた操作を、サーバ装置40以外の他の装置(図示省略)に送信するための操作コマンドに変換するモジュールである。ネットワークモジュールは、ネットワークNを介してサーバ装置40以外の他の装置と通信を行う通信モジュールである。ネットワークモジュールは、他の装置との間で、SSL等の所定の暗号化方式を使用した通信を行う。このように、ユーザ側制御アプリは、サーバ装置40以外の他の装置とやり取りを行う場合、ユーザ側サービスアプリを介さず直接やり取りを行い得る。
 Bluetoothモジュールは、外部の装置(例えば、ネットワークNへの接続を中継する装置)とBluetoothによる通信を行う通信モジュールである。なお、ユーザ側情報処理装置50が、Bluetooth以外にもWi-Fi(登録商標)やUWB(Ultra Wide Band)、LPWA(Low Power Wide Area)等の無線通信規格もしくは方式で通信を行うようにしてもよい。あるいは、ユーザ側情報処理装置50が、LTEやNR等のセルラー通信を行うようにしてもよい。
 地図モジュールは、例えばドローン100の飛行経路の設定に使用する地図情報の取得や管理等を行うモジュールである。地図モジュールは、例えばドローン100の位置情報に基づき、ドローン100が位置する場所を含む地図情報を取得する。
 Locationモジュールは、例えば、ドローン側情報処理装置200又は/及びドローン100に搭載されるGPS(Global Positioning System)等のような測位システムによる測位結果に基づき、ドローン100の位置情報を管理するモジュールである。Locationモジュールは、例えばサーバ装置40を介してドローン側情報処理装置200から取得した位置情報に基づき、ドローン100の位置情報を管理する。
 映像ストリーミングモジュールは、ドローン側情報処理装置200から送信されるストリーミング映像を取得するモジュールである。
 モニタモジュールは、例えば、ドローン側情報処理装置200に搭載されるモニタを制御し、モニタに各種情報を表示させるモジュールである。モニタモジュールは、例えばモニタに各種情報を含む表示画像を表示させる。
 図9は、本開示の実施形態に係るユーザ側情報処理装置50のモニタに表示される表示画像500の一例を示す図である。上述したように、表示画像500は、モニタモジュールによってモニタに表示される。
 図9に示す例では、モニタモジュールは、表示画像500の中央の領域501にドローン100の周囲の映像を表示する。ドローン100の周囲の映像は、例えば、ドローン側情報処理装置200に搭載されたカメラが撮像した映像であり、ドローン側情報処理装置200からストリーミング伝送される映像である。当該映像は、ユーザ側制御アプリの映像ストリーミングモジュールによって取得される。モニタモジュールは、映像ストリーミングモジュールが取得した映像を領域501に表示する。
 モニタモジュールは、例えば表示画像500の左上の領域502に地図情報を表示する。地図情報は、例えば地図モジュールが取得した情報である。モニタモジュールは、当該地図情報に、例えばLocationモジュールが管理するドローン100の位置情報を重畳して表示する。
 図9の例では、モニタモジュールは、表示画像500の左下及び右下に仮想の操作デバイス(例えばジョイスティック)503を表示する。ユーザは、操作デバイス503を操作することで、ドローン100の位置・姿勢等の操作を行う。
 例えば表示画像500の右上のボタン504は、ドローン側情報処理装置200のBluetoothモジュール(図4参照)がドローン100を識別するための識別信号(例えばビーコン信号)を送信するか否かの切り替えを、ユーザから受け付けるボタンである。ユーザがボタン504を押下すると、ユーザ側情報処理装置50は、ドローン側情報処理装置200に対して、識別信号の送信又は送信の停止を要求する。ユーザ側情報処理装置50は、当該要求に応じて、識別信号の送信及び送信の停止を切り替える。
 また、モニタモジュールは、例えば表示画像500のボタン504の下方の領域505にドローン100の飛行に関する飛行情報を表示する。図9の例では、モニタモジュールは、ネットワーク遅延に関する情報(図9のNet delay)や、ドローン側情報処理装置200が基地局60と通信を行う際に使用する通信方式、及び信号強度に関する情報(図9のNet type)を領域505に表示する。図9の例では、モニタモジュールは、アンテナマークを表示することで、ドローン側情報処理装置200が基地局60と携帯電話通信網(セルラー)による通信をおこなっていることを示す情報を表示する。
 また、モニタモジュールは、ドローン100の飛行時間に関する情報(図9のFlight time)やドローン100に搭載したバッテリに関する情報(図9のBattery(FC))を領域505に表示する。モニタモジュールは、ユーザ側情報処理装置50とドローン100との間の距離(図9のDistance)を領域505に表示する。ユーザ側情報処理装置50とドローン100との間の距離は、例えばドローン100が目視内飛行を行っているか、目視外飛行を行っているかの判定等に利用され得る。
 また、例えば、ユーザ側制御アプリのAIモジュールが、ドローン100の周囲を撮影した映像から障害物などの物体検出を行う場合、モニタモジュールは、AIモジュールが検出した障害物を強調して映像をモニタに表示するようにしてもよい。図9の例では、モニタモジュールは、AIモジュールが検出した物体を四角い枠で囲って映像を表示する。
 ここでは、ユーザ側制御アプリが物体検出を行うとしたが、これに限定されない。物体検出をサーバ装置40が行うようにしてもよく、あるいは、ドローン側情報処理装置200が行うようにしてもよい。
 また、図9に示す表示画像500は一例であり、表示画像500に含まれる各種情報は図9の例に限定されない。例えば表示画像500にドローン100の飛行経路が表示されるなど、図9に示す情報以外の情報が、表示画像500に含まれていてもよい。
 また、図8に示すドローン側制御アプリに含まれるモジュールは一例であり、これに限定されない。ドローン側制御アプリが、図8に示すモジュール以外のモジュールを含んでいてもよい。
<2.4.サーバ装置の構成例>
 本開示の実施形態に係るサーバ装置40は、ドローン100の遠隔操作を行う情報処理装置である。サーバ装置40は、例えば、パーソナルコンピュータやワークステーション、クラウドサーバなどの情報処理装置で構成される。
 サーバ装置40は、例えばドローン100の操作を行うユーザの管理や、ドローン100の機体情報の管理を行う。サーバ装置40は、ドローン100の管理として、ネットワークオペレータや国、自治体などによるドローン100の飛行に関する許可情報(例えば、ドローン100が飛行可能なエリア情報など)を管理する。
 サーバ装置40は、例えばドローン側情報処理装置200が撮影したドローン100周囲の映像をユーザ側情報処理装置50に送信する。サーバ装置40は、ユーザ側情報処理装置50から取得したドローン100の操作情報をドローン側情報処理装置200に送信する。
 サーバ装置40は、ユーザ側情報処理装置50に搭載されるユーザ側サービスアプリからの接続を受け付け、ユーザ側情報処理装置50に搭載されるその他のアプリからの接続を受け付けない。サーバ装置40は、ドローン側情報処理装置200に搭載されるドローン側サービスアプリからの接続を受け付け、ドローン側情報処理装置200に搭載されるその他のアプリからの接続を受け付けない。
 このように、サーバ装置40が、アクセスを受け付けるアプリケーションを限定することで、移動体システム1のセキュリティをより高度に保つことができる。
 サーバ装置40とユーザ側情報処理装置50との間の通信路、及び、サーバ装置40とドローン側情報処理装置200との間の通信路は、SSLやDTLS(Datagram Transport Layer Security)などの既存の方式で暗号化される。
(サーバ装置40の機能構成例)
 図10は、本開示の実施形態に係るサーバ装置40の機能の一例を説明するための機能ブロック図である。図10に示すサーバ装置40は、ストリーミング部400と、機体操作部401と、機体情報格納部402と、状態管理部403と、通信部404と、制御部405と、記憶部406と、アプリ格納部407と、を備える。
 制御部405は、このサーバ装置40の全体の動作を制御する。通信部404は、制御部405の制御に従い、ネットワークNに対する通信を行う。記憶部406は、図示されないメモリに対するデータの読み書きを制御する。
 ストリーミング部400は、ドローン側情報処理装置200から受信したストリーミング映像をユーザ側情報処理装置50にストリーミング伝送する。ストリーミング部400は、既存のストリーミング技術を用いて映像をストリーミングし得る。ストリーミング部400は、例えばDTLSを用いて暗号化した映像をストリーミング伝送する。
 なお、サーバ装置40は、例えばAmazon社が提供するAmazon Cognito(登録商標)やAmazon Kinesis(登録商標)などの既存サービスを利用してストリーミング伝送を実現し得る。
 機体情報格納部402は、ドローン100に関する情報が格納されるデータベースである。機体情報格納部402は、ドローン100の現在位置や姿勢などドローン100の状態に関する情報を保持する。機体情報格納部402は、ドローン100の飛行経路やバッテリに関する情報を保持する。機体情報格納部402は、例えば、ドローン100の飛行可能エリアなどドローン100の飛行に関する許可情報を保持する。
 機体情報格納部402は、例えば、ドローン100を識別するドローンIDと、ドローン100を操縦するユーザを識別するユーザIDと、を対応付けて保持する。ユーザIDは、例えば、ドローン側情報処理装置200を識別するIDであってもよく、ユーザ側情報処理装置50を識別するIDであってもよい。ドローン側情報処理装置200を識別するID及びユーザ側情報処理装置50を識別するIDが同じIDであってもよい。
 機体操作部401は、例えば、ユーザからの操作に基づき、ドローン100の操作を行う。機体操作部401は、例えば、ドローン100の位置、姿勢や飛行経路に基づき、ドローン100の操作を行う。機体操作部401は、例えば、ドローン100の飛行経路の設定を行う。
 機体操作部401は、ドローン100に対する操作情報や飛行経路に関する経路情報などをドローン側情報処理装置200に送信する。機体操作部401は、例えばSSLを用いて暗号化した情報をドローン側情報処理装置200に送信する。
 状態管理部403は、例えば、ドローン100から取得した情報の管理を行う。状態管理部403は、例えば、ドローン100の位置、姿勢やバッテリ残量などドローン100の情報を機体情報格納部402に保存する。状態管理部403は、ドローン100の情報をユーザ側情報処理装置50に送信する。機体操作部401は、例えばSSLを用いて暗号化した情報をユーザ側情報処理装置50に送信する。
 また、状態管理部403が、ユーザIDによるユーザ認証やドローンIDによるドローン認証などの認証処理を行いユーザのログイン状態を管理するようにしてもよい。この場合、状態管理部403は、例えばブラウザをインタフェースとして認証処理を行い得る。状態管理部403は、例えばSSLを用いて認証処理を行い得る。
 アプリ格納部407は、サーバ装置40において動作するアプリが格納されるデータベースである。上述したストリーミング部400における映像ストリーミング機能や機体操作部401による機体操作機能、状態管理部403による状態管理機能等は、アプリ格納部407に格納されるアプリがサーバ装置40で実行されることで、実現される。サーバ装置40は、例えばこれらの機能を実現するためのアプリを、ネットワークNを介してダウンロードして、インストールする。インストールされたアプリは、アプリ格納部407に保存される。
 ここでは、アプリ格納部407に格納されるアプリをサーバ装置40が実行することで、ストリーミング部400や機体操作部401、状態管理部403が各機能を実現するとしたが、これに限定されない。例えば、制御部405が映像ストリーミング機能や機体操作機能、状態管理機能を実現するようにしてもよい。すなわち、ストリーミング部400や機体操作部401、状態管理部403が制御部405の機能の一部として実現され得る。この場合、例えば、サーバ装置40でアプリが実行されることで、制御部405がストリーミング部400や機体操作部401、状態管理部403として機能する。
 また、ここでは、記憶部406と、機体情報格納部402及びアプリ格納部407とがそれぞれ異なる構成としたが、これに限定されない。例えば、記憶部406が機体情報格納部402及びアプリ格納部407を有する構成としてもよい。
(サーバ装置40のハードウェア構成例)
 図11は、本開示の実施形態に係るサーバ装置40のハードウェア構成の一例を示すブロック図である。図11において、サーバ装置40は、CPU4000と、ROM4001と、RAM4002と、ストレージ装置4003と、通信I/F4004と、を備える。CPU4000、ROM4001と、RAM4002と、ストレージ装置4003と、通信I/F4004は、バス4010により互いに通信可能に接続される。
 ストレージ装置4003は、ハードディスクドライブやフラッシュメモリといった、不揮発性の記憶媒体である。ストレージ装置4003は、CPU4000が動作するための各種のプログラムおよびデータが記憶される。
 CPU4000は、ROM4001およびストレージ装置4003に予め記憶された情報処理プログラムに従って動作し、サーバ装置40の全体の動作を制御する。通信I/F4004は、CPU4000の制御に従い、ネットワークNに対する通信を実行する。
 上述した制御部405は、CPU4000上で、例えばストレージ装置4003に予め記憶される、このサーバ装置40の基本プログラム(例えばOS(Operating System))が動作することで実現される。通信部404は、例えば通信I/F4004として実現される。記憶部406、機体情報格納部402及びアプリ格納部407は、例えばストレージ装置4003として実現される。
 また、ストリーミング部400、機体操作部401及び状態管理部403は、例えばCPU4000上でアプリ(アプリケーションプログラム)が実行されることで実現される。例えば、CPU4000がストレージ装置4003などの記憶媒体から当該アプリを読み出して実行することにより、上述した各部がRAM4002などの主記憶装置上にロードされ、当該各部が主記憶装置上に生成される。
 あるいは、ストリーミング部400、機体操作部401及び状態管理部403の一部または全部を、互いに協働して動作するハードウェア回路を用いて構成してもよい。
<<3.通信処理>>
 上述したように、ユーザ側情報処理装置50は、ユーザによる操作に基づいてドローン100を遠隔操作する。また、ユーザ側情報処理装置50は、ドローン100に関する情報を取得する。このように、移動体システム1では、ドローン100の遠隔操作を行うための通信処理が実行される。
 図12は、本開示の実施形態に係る移動体システム1で実行される通信処理の流れの一例を示すシーケンス図である。
 図12に示すように、ドローン側情報処理装置200は、サーバ装置40にログインする(ステップS101)。例えば、ドローン側制御アプリがドローン側サービスアプリを介してサーバ装置40に接続することで、ドローン側情報処理装置200はサーバ装置40に対してログイン処理を行う。
 サーバ装置40は、ドローン側情報処理装置200に対してユーザ認証を行う(ステップS102)。例えば、サーバ装置40は、ドローン側情報処理装置200から取得したユーザIDが、機体情報格納部402に格納されているか否かに応じてユーザ認証を行う。
 ユーザ側情報処理装置50は、サーバ装置40にログインする(ステップS103)。例えば、ユーザ側制御アプリがユーザ側サービスアプリを介してサーバ装置40に接続することで、ユーザ側情報処理装置50はサーバ装置40に対してログイン処理を行う。
 サーバ装置40は、ユーザ側情報処理装置50に対してユーザ認証を行う(ステップS104)。例えば、サーバ装置40は、ユーザ側情報処理装置50から取得したユーザIDが、機体情報格納部402に格納されているか否かに応じてユーザ認証を行う。
 次に、ユーザからドローン100に対する操作(機体操作)を受け付けたユーザ側情報処理装置50は、機体操作に関する情報をサーバ装置40に送信する(ステップS105)。例えば、ユーザ側制御アプリがユーザ側サービスアプリを介してサーバ装置40に機体操作に関する情報を送信する。
 サーバ装置40は、ユーザ側情報処理装置50から送信された機体操作に関する情報に基づき、機体認証を行う(ステップS106)。例えば、サーバ装置40は、機体操作に関する情報に含まれるドローンIDが、機体情報格納部402に格納されているか否かに応じて機体認証を行う。サーバ装置40は、機体操作に関する情報を送信したユーザ側情報処理装置50のユーザIDと、機体操作に関する情報に含まれるドローンIDと、が対応付けられているか否かに応じて機体認証を行ってもよい。
 このように、サーバ装置40が操作対象であるドローン100の機体認証を行うことで、ユーザ側情報処理装置50が操作対象でないドローンの操作を行わないようにすることができる。
 機体認証を行ったサーバ装置40は、機体操作に関する情報をドローン側情報処理装置200に送信する(ステップS107)。サーバ装置40は、例えばユーザ側サービスアプリを介してユーザ側制御アプリに機体操作に関する情報を送信する。
 ドローン側情報処理装置200は、受信した機体操作に関する情報に基づき、ドローン100のモータ制御を行う(ステップS108)。より具体的には、ドローン側情報処理装置200のドローン側制御アプリが、ドローン側サービスアプリを介して外部装置300に制御情報を送信する。外部装置300は、制御情報に基づき、ドローン100のESC102A~102Dを直接、又は、FC101を介して間接的に制御する。これにより、ドローン100のモータが制御される。
 次に、ユーザ側情報処理装置50がドローン100に関する状態を取得する場合、ユーザ側情報処理装置50は、情報取得要求をサーバ装置40に送信する(ステップS109)。例えば、ユーザ側制御アプリがユーザ側サービスアプリを介してサーバ装置40に情報取得要求を送信する。
 サーバ装置40は、ユーザ側情報処理装置50から送信された情報取得要求に基づき、機体認証を行う(ステップS110)。例えば、サーバ装置40は、情報取得要求に含まれるドローンIDが、機体情報格納部402に格納されているか否かに応じて機体認証を行う。サーバ装置40は、情報取得要求を送信したユーザ側情報処理装置50のユーザIDと、情報取得要求に含まれるドローンIDと、が対応付けられているか否かに応じて機体認証を行ってもよい。
 このように、サーバ装置40が状態取得対象であるドローン100の機体認証を行うことで、ユーザ側情報処理装置50が状態取得対象でないドローンから状態に関する情報の取得を行わないようにすることができる。
 機体認証を行ったサーバ装置40は、情報取得要求をドローン側情報処理装置200に送信する(ステップS111)。サーバ装置40は、例えばドローン側サービスアプリを介してドローン側制御アプリに情報取得要求を送信する。
 ドローン側情報処理装置200は、受信した情報取得要求に基づき、ドローン100の状態を取得する(ステップS112)。ドローン側情報処理装置200のドローン側制御アプリは、ドローン側サービスアプリを介して外部装置300から、例えばバッテリ残量やドローン100の位置、姿勢など、ドローン100の状態を取得する。
 ドローン側情報処理装置200は、取得したドローン100の状態をサーバ装置40に返信する(ステップS113)。ドローン側制御アプリは、ドローン側サービスアプリを介してサーバ装置40にドローン100の状態を返信する。
 サーバ装置40は、ドローン100の状態をユーザ側情報処理装置50に返信する(ステップS114)。サーバ装置40は、例えばユーザ側サービスアプリを介してユーザ側制御アプリにドローン100の状態を返信する。
 このように、移動体システム1では、サーバ装置40によるユーザ認証の後、ユーザ側情報処理装置50による機体操作やドローン100の状態取得が行われる。このとき、ユーザ側情報処理装置50による機体操作や状態取得の度に、サーバ装置40は、操作対象や取得対象であるドローン100の機体認証を行う。これにより、ユーザのなりすましや、対象以外のドローンに対する操作や状態取得を防ぐことができ、移動体システム1はより安全にドローン100の飛行を行うことができる。
 なお、移動体システム1では、図12に示す通信処理とは別に映像ストリーミング処理が行われる。ドローン側情報処理装置200及びユーザ側情報処理装置50のユーザ認証が完了すると、ドローン側情報処理装置200は、カメラで撮影した映像を周期的にサーバ装置40に送信する。ドローン側情報処理装置200のドローン側制御アプリは、ドローン側サービスアプリを介して映像をサーバ装置40に送信する。サーバ装置40は、受信した映像をユーザ側情報処理装置50に送信する。サーバ装置40は、ユーザ側サービスアプリを介してユーザ側制御アプリに映像を送信する。
 このように、本開示の実施形態では、ドローン100の機体操作や状態取得とは別に、映像ストリーミングが行われる。
 なお、図12では、ユーザ認証後、ユーザ側情報処理装置50がドローン100の機体操作を行っているが、これに限定されない。ユーザ認証後、ユーザ側情報処理装置50がドローン100の状態を取得するようにしてもよい。
 また、図12では、ドローン側情報処理装置200が状態取得要求に応じてドローン100の状態に関する情報をサーバ装置40に返信するが、これに限定されない。ドローン側情報処理装置200が、例えば周期的にドローン100の状態に関する情報をサーバ装置40に送信するようにしてもよい。このように、ドローン側情報処理装置200が、状態取得要求によらずドローン100の状態に関する情報をサーバ装置40に送信するようにしてもよい。
<<4.変形例>>
<第1変形例>
 上述したように、ドローン100の飛行は、法律や条例などによって規制を受ける。例えば、ドローン100は、高度を含む飛行可能な範囲が決められ得る。また、飛行範囲によっては、ドローン100(本開示の実施形態ではドローン側情報処理装置200)が通信に使用可能な無線通信方式が制限される場合がある。例えば、ドローン100が5G又はLTEを使用して通信が行える範囲に制限がある場合がある。
 また、ドローン100が飛行可能な時間に制限がある場合がある。例えば、ドローン100の飛行は、ユーザが許可を得た時間内に制限される場合がある。
 そこで、本開示の実施形態の第1変形例に係る移動体システム1は、これらの制限に応じて、ドローン100の飛行を制限する仕組みを有するものとする。
 例えば、サーバ装置40は、飛行許可を得たドローン100に搭載されるドローン側情報処理装置200からの接続を許可し、飛行許可を得ていないドローン100に搭載されるドローン側情報処理装置200からの接続を拒否する。
 サーバ装置40は、例えば、図12のステップS102で行うユーザ認証時に、ドローン100の飛行に関する制限情報(例えば、飛行範囲や飛行時間の制限に関する情報)に基づいてドローン側情報処理装置200のログイン(接続)を許可するか否かを判定する。
 また、サーバ装置40は、例えば、図12のステップS106の機体認証時に、ドローン100が飛行可能か否かを判定し、判定結果に応じて機体操作に関する情報をドローン側情報処理装置200に送信するようにしてもよい。
 例えば、サーバ装置40は、機体認証時に、ドローン100の飛行に関する制限情報に基づいてドローン100が飛行可能か否かを判定し、飛行可能である場合に機体操作に関する情報をドローン側情報処理装置200に送信する。
 一方、飛行不可能である場合、サーバ装置40は、ドローン100が飛行可能になるようにドローン100を制御するようドローン側情報処理装置200に指示する。例えば、ドローン100が飛行可能な範囲外を飛行している場合、サーバ装置40は、飛行可能な範囲内に移動するようドローン側情報処理装置200に指示する。
 あるいは、例えば、飛行許可時間を超えてドローン100を飛行させている場合など、ドローン100の飛行を終了することが望ましい場合、サーバ装置40は、ドローン100の飛行を終了するようドローン側情報処理装置200に指示する。
 このように、サーバ装置40がユーザ側情報処理装置50の機体操作と異なる操作をドローン側情報処理装置200に指示した場合、サーバ装置40はその旨をユーザ側情報処理装置50に通知し得る。この場合、ユーザ側情報処理装置50は、ユーザによる操作とは異なる操作をドローン100に行った旨をユーザに提示し得る。
 また、飛行範囲によってドローン100が使用できる無線通信方式に制限がある場合、サーバ装置40は、ドローン100の現在位置に応じて無線通信方式を切り替えるようドローン側情報処理装置200に通知する。
 これにより、ドローン側情報処理装置200は、飛行範囲に応じて使用できる無線通信方式を動的に切り替えることができ、規則を遵守しつつ安定した飛行を行えるようになる。
 なお、ドローン100が使用可能な無線通信方式が複数ある場合、サーバ装置40は、例えば最も通信品質が高い無線通信方式を選択する。あるいは、サーバ装置40は、使用可能な範囲が広い無線通信方式を選択するようにしてもよい。また、サーバ装置40は、ドローン100の飛行経路やバッテリ残量などに応じて無線通信方式を選択するようにしてもよい。
 上述した飛行範囲や飛行時間、使用可能な無線通信方式などの制限情報は、例えばサーバ装置40によって管理され得る。サーバ装置40は、例えばネットワークNを介して最新の制限情報を取得し得る。これにより、サーバ装置40は、常に新しい制限情報を管理することができる。
 なお、ここでは、サーバ装置40が、制限情報に基づいてドローン100の飛行が可能であるか否かを判定するとしたが、これに限定されない。例えば、ドローン側情報処理装置200が、制限情報をサーバ装置40から取得し、ドローン100の飛行が可能であるか否かを判定するようにしてもよい。この場合でも、制限情報をサーバ装置40が管理することで、サーバ装置40が最新の制限情報を取得することができる。
<第2変形例>
 ユーザ側情報処理装置50は、例えば、ドローン100の状態に応じてドローン100の操作画面(コントロールUI)の表示方法を変更し得る。例えば、ユーザ側情報処理装置50は、ドローン100の状態に応じて、モニタに表示する表示画像の少なくとも一部を強調表示する。
(Case1:飛行範囲)
 図13は、本開示の実施形態の第2変形例に係る表示画像の一例を説明するための図である。ここでは、ユーザ側情報処理装置50は、ドローン100が飛行可能な飛行範囲におけるドローン100の位置に応じて表示画像を強調表示する。
 図13の上図に示すように、ユーザ側情報処理装置50は、ドローン100が飛行範囲の所定エリア内に位置する場合、通常の背景色(第1の背景色、例えば白色)の表示画像をモニタに表示する。ここで、飛行範囲の所定エリアは、例えば、飛行範囲の境界線から一定距離内側のエリアを示す。
 図13の中図に示すように、ユーザ側情報処理装置50は、ドローン100が飛行範囲内であって所定エリア外に移動した場合、表示画像の背景色を第1の背景色から第2の背景色(例えば黄色)に変更してモニタに表示する。すなわち、ユーザ側情報処理装置50は、ドローン100が飛行範囲外に近づいた場合、背景色を通常とは異なる色で強調表示する。これにより、ユーザ側情報処理装置50は、ドローン100が飛行範囲外にでる可能性があることをよりわかりやすくユーザに通知することができる。
 図13の下図に示すように、ユーザ側情報処理装置50は、ドローン100が飛行範囲外に移動した場合、背景色を第2の背景色から第3の背景色(例えば赤色)に変更して表示画像をモニタに表示する。すなわち、ユーザ側情報処理装置50は、ドローン100が飛行範囲外に存在する場合、背景色をドローン100が飛行範囲外に近づいた場合や通常とは異なる色で強調表示する。これにより、ユーザ側情報処理装置50は、ドローン100が飛行範囲外に位置することをよりわかりやすくユーザに通知することができる。
(Case2:ドローン100までの距離)
 ユーザ側情報処理装置50は、ユーザ側情報処理装置50、換言するとユーザと、ドローン100と、の間の距離に応じて表示画像の表示方法を変更し得る。ドローン100とユーザとの距離が離れていると、ユーザはドローン100を目視外で操縦する可能性が高い。一方、ドローン100とユーザとの距離が近いと、ユーザはドローン100を目視内で操縦する可能性が高い。
 そこで、ユーザとドローン100との間の距離に応じて表示画像の表示方法を変更することで、ユーザ側情報処理装置50は、ドローン100が目視外飛行を行っているのか、あるいは、目視内飛行を行っているのかを明確にユーザに通知することができる。
 例えば、ユーザ側情報処理装置50は、ドローン100とユーザ側情報処理装置50との間の距離が第1閾値未満である場合、通常の背景色(例えば白色)の表示画像をモニタに表示する。すなわち、ユーザ側情報処理装置50は、ドローン100が目視内飛行である場合、通常の背景色で表示画像を表示する。
 一方、ドローン100とユーザ側情報処理装置50との間の距離が第1閾値以上である場合、ユーザ側情報処理装置50は、所定の背景色(例えば黄色)の表示画像をモニタに表示する。すなわち、ユーザ側情報処理装置50は、ドローン100が目視外飛行である場合、背景色を通常とは異なる色で強調表示する。これにより、ユーザ側情報処理装置50は、ドローン100が目視外飛行であることをよりわかりやすくユーザに通知することができる。
 なお、上述した第1閾値は、予め設定された値でもよく、ユーザによって設定された値でもよい。また、当該第1閾値は、例えばドローン100の飛行場所(例えば、屋内又は屋外、市街地又は郊外、山や海など自然が多い場所など)に応じた値であってもよい。
(Case3:無線通信方式)
 ユーザ側情報処理装置50は、ドローン側情報処理装置200が選択する無線通信方式に応じて表示画像の表示方法を変更し得る。すなわち、ユーザ側情報処理装置50は、ドローン100のネットワーク接続方法に応じて表示画像の表示方法を変更し得る。
 上述したように、ドローン100は、飛行範囲によって法的に使用可能な無線通信方式が異なる場合がある。そこで、ドローン側情報処理装置200が選択する無線通信方式に応じて表示画像の表示方法を変更することで、ユーザ側情報処理装置50は、ユーザに対して法的に問題のない無線通信方式を選択していることをよりわかりやすく通知することができる。
 例えば、ユーザ側情報処理装置50は、ドローン側情報処理装置200がWLAN(Wireless Local Area Network)を使用してネットワークNに接続している場合、通常の背景色(例えば白色)の表示画像をモニタに表示する。
 例えば、ユーザ側情報処理装置50は、ドローン側情報処理装置200がLTEを使用してネットワークNに接続している場合、所定の背景色(例えば黄色)の表示画像をモニタに表示する。
 例えば、ユーザ側情報処理装置50は、ドローン側情報処理装置200が5G(第5世代移動通信システム)を使用してネットワークNに接続している場合、所定の背景色(例えば赤色)の表示画像をモニタに表示する。
 例えば、ユーザ側情報処理装置50は、ドローン側情報処理装置200がLPWA(Low Power Wide Area)を使用してネットワークNに接続している場合、所定の背景色(例えば紫色)の表示画像をモニタに表示する。
 なお、ここで挙げた無線通信方式は一例であり、ドローン側情報処理装置200が上述した無線通信方式以外の方式(例えばBluetoothなど)でネットワークNに接続してもよい。
(Case4:バッテリ残量)
 ユーザ側情報処理装置50は、ドローン100のバッテリ残量に応じて表示画像の表示方法を変更し得る。これにより、ユーザ側情報処理装置50は、ドローン100の飛行可能な残り時間をよりわかりやすくユーザに通知することができる。
 例えば、ユーザ側情報処理装置50は、ドローン100のバッテリ残量が第2閾値(例えば50%)以上である場合、通常の背景色(例えば白色)の表示画像をモニタに表示する。
 例えば、ユーザ側情報処理装置50は、ドローン100のバッテリ残量が第2閾値(例えば50%)未満第3閾値(例えば10%)以上(第2閾値>第3閾値)である場合、所定の背景色(例えば黄色)の表示画像をモニタに表示する。
 例えば、ユーザ側情報処理装置50は、ドローン100のバッテリ残量が第3閾値(例えば10%)未満である場合、所定の背景色(例えば赤色)の表示画像をモニタに表示する。
 なお、上述した背景色(例えば、白、黄、赤、紫色)は一例であり、ユーザ側情報処理装置50がこれらの色以外の背景色を用いて表示画像を強調表示してもよい。あるいは、ユーザ側情報処理装置50が背景色を変更する以外の方法で表示画像を強調表示してもよい。例えば、ユーザ側情報処理装置50は、表示画像の一部の領域(画像)を点滅表示させたり、文字列を表示させたりして表示画像を強調表示し得る。あるいは、ユーザ側情報処理装置50が音声や警告音等を用いて、ドローン100の状態をユーザに注意喚起するようにしてもよい。
 また、上述した各Caseは一例である。ユーザ側情報処理装置50は、例えば各Caseを組み合わせて表示画像の強調表示を行ってもよい。例えば、ユーザ側情報処理装置50は、ユーザ側情報処理装置50とドローン100との間の距離が第1閾値以上であり、ドローン100が飛行範囲内であって所定エリア外に位置する場合、赤色の背景色で表示画像を表示するようにしてもよい。ユーザがドローン100の目視外飛行を行っている場合、目視内飛行と比較してドローン100が飛行範囲外にはみ出す可能性が高い。
 そこで、ユーザ側情報処理装置50は、目視外飛行中にドローン100が飛行禁止エリアに近づいた場合、その旨を目視内飛行中の場合よりもより強調してユーザに提示する。これにより、ユーザは、目視外飛行中であってもドローン100が飛行範囲外にはみ出さないように操作することができるようになり、ドローン100をより安全に飛行させることができるようになる。
 このように、ユーザ側情報処理装置50は、各Caseを組み合わせて表示画像の表示方法を変更してもよく、Caseごとに表示画像の表示方法を変更してもよい。
<第3変形例>
 上述した実施形態では、主にユーザがドローン100の遠隔操作を行うものとして説明したが、例えばドローン100が予め定められた飛行ルートに沿って自動で飛行を行うようにしてもよい。ドローン側情報処理装置200は、例えばユーザ側情報処理装置50が指定する目的地までの飛行ルートを設定する。ドローン100は、ドローン側情報処理装置200が設定した飛行ルートに沿って飛行する。なお、ユーザ側情報処理装置50は、経由地も含めて複数の目的地を指定し得る。
 ここで、本開示の実施形態の第3変形例に係るドローン側情報処理装置200は、ユーザ側情報処理装置50が指定する目的地に加え、例えばドローン100のバッテリ残量を考慮して飛行ルートを設定する。
 これにより、ドローン100は、飛行ルートの途中でバッテリ切れを起こすことなく、目的地まで飛行ルートに沿って飛行することができるようになる。
 図14は、本開示の実施形態の第3変形例に係るルート候補の一例を説明するための図である。
 例えば、ドローン側情報処理装置200は、現在地P0と目的地候補P1、P2とに基づいて複数のルート候補R1、R2を算出する。ここで、目的地候補P1、P2は、ユーザ側情報処理装置50が指定する複数の目的地である。あるいは、目的地候補P1、P2のいずれかが、ドローン100の飛行開始地点であってもよい。
 ドローン側情報処理装置200は、ドローン100の飛行範囲(図14の飛行可能エリア)や飛行禁止エリアを考慮してルート候補R1、R2を算出する。ドローン側情報処理装置200は、例えば、ドローン100が飛行禁止エリアを飛行せず、かつ、最短で目的地候補P1、P2にたどり着くルートをルート候補R1、R2として決定する。
 なお、ここでの飛行可能エリア及び飛行禁止エリアは、高さを含む3次元空間においてドローン100が飛行可能又は飛行禁止の範囲を規定するエリアである。
 ドローン側情報処理装置200は、ドローン100が飛行するルート候補R1、R2の天候情報や風向情報に基づき、ルート候補R1、R2を飛行したときの飛行時間X1、X2[分]を算出する。
 ここで、ドローン側情報処理装置200は、例えばサーバ装置40から天候情報や風向情報を取得する。サーバ装置40は、ドローン側情報処理装置200と同じ飛行可能エリアを飛行する他のドローン100から取得した情報やネットワークNを介して外部サーバなどから取得した天候に関する情報に基づき、上述した天候情報や風向情報を生成する。
 サーバ装置40は、天候情報として、例えば各地点における天候に関する情報を含む天候マップを生成する。サーバ装置40は、風向情報として、例えば各地点における風向、風の強さ等に関する情報を含む風向マップを生成する。
 ドローン側情報処理装置200は、例えば、ドローン100が飛行するルート候補R1、R2の天候情報や風向情報、電波状況を示す電波環境情報に応じて、各ルート候補R1、R2を飛行した場合のバッテリ消費量Y1、Y2[%]を算出する。
 ここで、ドローン側情報処理装置200は、サーバ装置40から電波環境情報を取得する。サーバ装置40は、例えば、飛行可能エリアや飛行禁止エリアに配置される基地局60に関する情報に基づいて電波環境情報を生成する。
 サーバ装置40は、例えば、当該基地局60に関する情報(基地局60の設置場所や通信エリアなどに関する情報)をネットワークオペレータから取得する。あるいは、サーバ装置40は、ドローン側情報処理装置200と同じ飛行可能エリアを飛行する他のドローン100から電波状況に関する情報を取得するようにしてもよい。サーバ装置40は、電波環境情報として、例えば各地点における電波状況を示す情報を含む電波環境マップを生成する。
 ドローン側情報処理装置200は、算出したルート候補R1、R2からドローン100の飛行ルートを決定する。ドローン側情報処理装置200は、ドローン100のバッテリ残量に基づき、現在残っているバッテリで飛行可能なルート候補を飛行ルートに決定する。
 ドローン側情報処理装置200は、算出したルート候補R1、R2をユーザ側情報処理装置50に送信し、ユーザがルート候補R1、R2の中からドローン100の飛行ルートを決定するようにしてもよい。
 このとき、ドローン側情報処理装置200は、ドローン100のバッテリ残量に基づき、現在残っているバッテリで飛行可能なルート候補をユーザ側情報処理装置50に送信するようにしてもよい。
 あるいは、ユーザ側情報処理装置50が、ドローン100のバッテリ残量に基づき、現在残っているバッテリで飛行可能なルート候補をユーザに提示するようにしてもよく、ユーザにドローン100のバッテリ残量、及び、バッテリ消費量を含むルート候補の両方をユーザに提示するようにしてもよい。
 ドローン側情報処理装置200は、決定した飛行ルートでドローン100が飛行するようドローン100の飛行を制御する。
 なお、ここでは、ドローン側情報処理装置200が2つの目的地候補P1、P2のルート候補R1、R2を算出するとしたが、これに限定されない。ドローン側情報処理装置200がルート候補を算出する目的地候補は、1つであってもよく、3つ以上であってもよい。
 また、ここでは、ドローン側情報処理装置200が、目的地候補までの距離が最短であるルート候補を算出するとしたが、これに限定されない。ドローン側情報処理装置200が、例えば上述した天候情報、風向情報、及び、電波環境情報などを用いて、飛行時間が最短であるルート候補や、バッテリ消費量が最小であるルート候補、電波状態が最もよいルート候補などを算出するようにしてもよい。
 例えば、ドローン側情報処理装置200は、風向及び風の強さなどからドローン100の機体スピードを考慮してルート候補を算出し得る。あるいは、ドローン側情報処理装置200は、例えば電波状況を考慮し、なるべく通信状態がよい経路を含むルート候補を算出し得る。
 また、ここでは、ドローン側情報処理装置200が、1つの目的地候補に対して1つのルート候補を算出するとしたが、これに限定されない。ドローン側情報処理装置200が、1つの目的地候補に対して2つ以上のルート候補を算出するようにしてもよい。ドローン側情報処理装置200は、例えば、1つの目的地候補に対して、最短距離のルート候補や、バッテリ消費量が最小であるルート候補、電波状態が最もよいルート候補など、異なる観点に基づいて複数のルート候補を算出するようにしてもよい。
 また、ここでは、ドローン側情報処理装置200が飛行ルートを決定するとしたが、これに限定されない。例えば、サーバ装置40がドローン100の飛行ルートを自動で選択するようにしてもよい。
<第4変形例>
 上述した実施形態では、ドローン側情報処理装置200は、カメラで撮影した映像をストリーミング伝送するとしたが、これに限定されない。例えば、ドローン側情報処理装置200が、電波状態がよい場合に映像をサーバ装置40にアップロードするようにしてもよい。
 あるいは、ドローン側情報処理装置200が、映像ストリーミングとは別に撮影した撮影画像(動画及び静止画を含む)を電波状態がよい場合にサーバ装置40にアップロードするようにしてもよい。なお、この場合、ドローン側情報処理装置200は、ユーザからの指示に基づいて撮影画像の撮影を行うものとする。
 このように、ドローン側情報処理装置200が、電波状況がよい場合に限定して画像をサーバ装置40にアップロードすることで、電波途切れによる画像ファイルの再送信を抑制することができる。これにより、ドローン側情報処理装置200は、消費電力の増加及び通信コストの増加をより低減させることができる。
 例えば、ドローン側情報処理装置200は、ドローン100の飛行中に撮影した撮影画像データを分割する。ドローン側情報処理装置200は、分割した撮影画像データを分割ファイルとしてドローン側情報処理装置200内に保管する。
 ドローン側情報処理装置200は、飛行中に、飛行ルート及び電波環境情報に基づき、電波途切れを起こすことなくアップロードし得る時間を算出する。ドローン側情報処理装置200は、算出した時間でアップロードし得る分割ファイルの数を計算する。ドローン側情報処理装置200は、計算した数の分割ファイルを、算出した時間内でサーバ装置40にアップロードする。
 なお、ドローン側情報処理装置200は、算出した時間に応じて分割ファイルの伝送レートや伝送方式を変更するようにしてもよい。これにより、ドローン側情報処理装置200は、電波途切れを起こすことなくアップロードし得る時間が短い場合であっても、より多くの分割ファイルをアップロードできるようになる。
<第5変形例>
 上述した実施形態では、ドローン側情報処理装置200がモニタに各種情報を表示するとした。このとき、ドローン側情報処理装置200は、ドローン100の状態に応じてモニタの輝度を調整するようにする。
 例えば、ドローン側情報処理装置200は、ドローン100が飛行状態であるか地面に着地した着地状態であるか否かに応じてモニタの輝度を調整する。より具体的に、ドローン側情報処理装置200は、ドローン100が飛行状態である場合、着地状態である場合よりモニタの輝度を低くする。ドローン側情報処理装置200は、ドローン100が飛行状態である場合、モニタの電源をオフ(スクリーンオフ)にしてもよい。
 ドローン100が飛行状態である場合、ユーザによる画面操作は行われないと考えられる。そこで、ドローン100が飛行状態である場合、ドローン側情報処理装置200がモニタの輝度を落とす、又は、モニタの電源を切る。一方、ドローン100が着地状態である場合、ユーザにより画面操作が行われる可能性がある。そこで、ドローン100が着地状態である場合、ドローン側情報処理装置200がモニタの輝度を上げる。これにより、ドローン側情報処理装置200は、飛行中における消費電力を低減することができ、発熱を抑制することができる。
 ドローン側情報処理装置200は、例えばドローン100のスロットル情報に基づき、ドローン100の飛行状態を判定する。ドローン側情報処理装置200は、例えばドローン100のスロットルが上がっている場合、ドローン100が飛行状態であると判定する。ドローン側情報処理装置200は、ドローン100が飛行状態でない場合、ドローン100が着地状態であると判定する。
 あるいは、ドローン側情報処理装置200が、例えば、ドローン100のモータが駆動しているか否かに応じてドローン100の飛行状態を判定するようにしてもよい。ドローン側情報処理装置200は、例えばドローン100のモータが駆動している場合、ドローン100が飛行状態であると判定する。ドローン側情報処理装置200は、ドローン100のモータが駆動していない場合、ドローン100が着地状態であると判定する。
 あるいは、ドローン側情報処理装置200が、例えば、ドローン100に搭載される近接センサの検出結果に応じてドローン100の飛行状態を判定するようにしてもよい。この近接センサは、例えば、地面との距離が一定値以下であるか否かを検出する。
 例えば、地面との距離が一定値より大きいと近接センサが検出した場合、ドローン側情報処理装置200は、ドローン100が飛行状態であると判定する。例えば、地面との距離が一定値以下であると近接センサが検出した場合、ドローン側情報処理装置200は、ドローン100が着地状態であると判定する。
 なお、ここでは、ドローン側情報処理装置200が、ドローン100の飛行状態に応じてモニタの輝度を調整するとしたが、これに限定されない。ドローン側情報処理装置200が、ドローン100の飛行状態に加え、実行しているアプリケーションに応じてモニタの輝度を調整するようにしてもよい。
 例えば、ドローン側情報処理装置200が、ビデオチャットのようなサービスを提供している、すなわち、ビデオチャットアプリなどがドローン側情報処理装置200上で実行されているものとする。この場合、ドローン側情報処理装置200は、ドローン100が飛行状態であってもモニタの輝度を着陸状態と同じように高くする。
 より具体的には、ドローン側情報処理装置200は、例えば特定のアプリケーションを実行している場合であって、ドローン100の移動速度が第4閾値未満の場合、移動速度が第4閾値以上である場合よりもモニタの輝度を低くする。例えば、ドローン側情報処理装置200は、特定のアプリケーションを実行している場合、ドローン100が飛行状態であっても、ドローン100が空中で静止している静止状態であれば、モニタの輝度を落とさず、高輝度な状態を維持する。
 これにより、ドローン100が飛行状態であっても、ユーザがドローン側情報処理装置200の特定のアプリケーションを使用している場合、ドローン側情報処理装置200はモニタの輝度を落とさない。これにより、ドローン側情報処理装置200は、ユーザに対して、より見やすい画面を提示することができる。
 なお、ユーザがビデオチャットを終了するなど、特定のアプリケーションの動作が終了した場合、ドローン側情報処理装置200は、ドローン100が静止状態であっても、モニタの輝度を落とすものとする。
 これにより、ドローン側情報処理装置200は、特定のアプリケーションが動作している間、飛行中であってもユーザに対して見やすい画面を提示できる。また、ドローン側情報処理装置200は、特定のアプリケーションが動作していない場合、飛行中のモニタの輝度を落とす、又は、モニタの電源を切る。これにより、ドローン側情報処理装置200は、飛行中の消費電力をより削減することができ、発熱を抑制することができる。
 なお、特定のアプリケーションは、ビデオチャットに限定されない。特定のアプリケーションは、ドローン100が例えば静止状態や一定の速度以下で移動している状態でユーザが使用し得るアプリケーションであればよく、例えば、動画再生アプリなどであってもよい。
<<5.その他の実施形態>>
 上述の実施形態及び各変形例は一例を示したものであり、種々の変更及び応用が可能である。
 上述した実施形態及び各変形例では、サーバ装置40に接続する移動体装置10及びユーザ側情報処理装置50の組が1つであるとしたが、これに限定されない。移動体装置10及びユーザ側情報処理装置50の組が複数、サーバ装置40に接続されてもよい。このように、サーバ装置40は、複数の移動体装置10に対する遠隔操作を制御(中継)し得る。
 上述した実施形態及び各変形例では、1つのユーザ側情報処理装置50が1つの移動体装置10を遠隔操作するとしたが、これに限定されない。1つのユーザ側情報処理装置50が複数の移動体装置10をそれぞれ遠隔操作するようにしてもよい。
 この場合、例えばユーザ側情報処理装置50は、遠隔操作の対象とする移動体装置10(又はドローン100)を選択するための画面をユーザに提示する。ユーザは、複数の移動体装置10(又はドローン100)の中から遠隔操作を行うドローン100を決定する。例えばユーザは、移動体装置10に関する情報(例えばドローンIDなど)をユーザ側情報処理装置50及びサーバ装置40に登録することで、遠隔操作の対象とする移動体装置10を追加する。
 上述した実施形態及び各変形例では、1つのドローン側情報処理装置200が1つのドローン100を制御するとしたが、これに限定されない。例えば、ドローン側情報処理装置200が、複数のドローン100を制御するようにしてもよい。この場合、例えば、ドローン側情報処理装置200は、複数のドローン100のうち、制御対象であるドローン100に搭載される外部装置300に、ユーザによって装着される。このように、ユーザがドローン側情報処理装置200を付け替えることで、ドローン側情報処理装置200は、複数のドローン100を制御することができる。
 本実施形態のサーバ装置40を制御する制御装置は、専用のコンピュータシステムにより実現してもよいし、汎用のコンピュータシステムによって実現してもよい。
 例えば、上述の動作を実行するためのプログラムを、光ディスク、半導体メモリ、磁気テープ、フレキシブルディスク等のコンピュータ読み取り可能な記録媒体に格納して配布する。そして、例えば、該プログラムをコンピュータにインストールし、上述の処理を実行することによって制御装置を構成する。このとき、制御装置は、サーバ装置40の外部の装置(例えば、パーソナルコンピュータ)であってもよい。また、制御装置は、サーバ装置40の内部の装置(例えば、制御部405)であってもよい。
 また、上記プログラムをインターネット等のネットワーク上のサーバ装置が備えるディスク装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。また、上述の機能を、OS(Operating System)とアプリケーションソフトとの協働により実現してもよい。この場合には、OS以外の部分を媒体に格納して配布してもよいし、OS以外の部分をサーバ装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。
 また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
 また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。なお、この分散・統合による構成は動的に行われてもよい。
 また、上述の実施形態は、処理内容を矛盾させない領域で適宜組み合わせることが可能である。また、上述の実施形態のフローチャート及びシーケンス図に示された各ステップは、適宜順序を変更することが可能である。
 また、例えば、本実施形態は、装置またはシステムを構成するあらゆる構成、例えば、システムLSI(Large Scale Integration)等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等(すなわち、装置の一部の構成)として実施することもできる。
 なお、本実施形態において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。例えば、本実施形態のサーバ装置40は、1つのシステムとして実現され得る。
 また、例えば、本実施形態は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
<<6.むすび>>
 以上、本開示の各実施形態について説明したが、本開示の技術的範囲は、上述の各実施形態そのままに限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。また、異なる実施形態及び変形例にわたる構成要素を適宜組み合わせてもよい。
 また、本明細書に記載された各実施形態における効果はあくまで例示であって限定されるものでは無く、他の効果があってもよい。
 なお、本技術は以下のような構成も取ることができる。
(1)
 移動体に搭載され、前記移動体を制御するための装置であって、
 前記移動体を制御する情報処理装置を保持する保持部と、
 前記情報処理装置から前記移動体を制御する制御情報を取得し、前記制御情報に基づいて前記移動体を制御する制御部と、
 を備える装置。
(2)
 前記制御部は、前記情報処理装置で動作する第1のアプリケーションを介して、前記情報処理装置で動作する第2のアプリケーションから前記制御情報を取得し、
 前記第1のアプリケーションは、ユーザによる変更を受け付けないアプリケーションである、
 (1)に記載の装置。
(3)
 前記第1のアプリケーションは、前記情報処理装置のアプリケーション・フレームワーク層で動作する、(2)に記載の装置。
(4)
 前記制御情報を、前記移動体の駆動部を制御する駆動制御部に出力するための制御信号に変換する変換部をさらに備える、(1)~(3)のいずれか1つに記載の装置。
(5)
 前記変換部は、前記制御情報を、PWM信号である前記制御信号に変換する、(4)に記載の装置。
(6)
 前記制御部は、前記制御情報に基づき、前記移動体の移動制御部を制御する、(1)~(3)のいずれか1つに記載の装置。
(7)
 移動体の制御を行うシステムであって、
 ユーザからの前記移動体に対する操作を受け付けるユーザ側情報処理装置と、
 前記ユーザ側情報処理装置から前記ユーザによる前記操作に関する操作情報を取得するサーバ装置と、
 前記サーバ装置から前記操作情報を取得し、前記操作情報に基づいて前記移動体を制御するための制御情報を生成する移動体側情報処理装置と、
 前記移動体側情報処理装置から前記制御情報を取得し、前記制御情報に基づいて前記移動体を制御する装置と、を備え、
 前記装置は、
 前記移動体に搭載され、
 前記移動体側情報処理装置を保持する保持部をさらに備え、
 前記移動体側情報処理装置は、
 前記装置を介して前記移動体に関する情報を取得し、
 取得した前記情報を、前記サーバ装置を介して、前記ユーザ側情報処理装置に送信する、
 システム。
(8)
 前記サーバ装置は、
 前記移動体側情報処理装置で動作する第1のアプリケーションを介して、前記移動体側情報処理装置で動作する第2のアプリケーションに前記操作情報を送信し、
 前記第1のアプリケーションを介して前記第2のアプリケーションから前記移動体に関する前記情報を取得し、
 前記第1のアプリケーションは、ユーザによる変更を受け付けないアプリケーションである、
 (7)に記載のシステム。
(9)
 前記第1のアプリケーションは、前記移動体側情報処理装置のアプリケーション・フレームワーク層で動作する、(8)に記載のシステム。
(10)
 前記サーバ装置は、
 前記ユーザ側情報処理装置で動作する第3のアプリケーションを介して、前記ユーザ側情報処理装置で動作する第4のアプリケーションから前記操作情報を取得し、
 前記第3のアプリケーションを介して前記第4のアプリケーションに前記移動体に関する前記情報を送信し、
 前記第3のアプリケーションは、ユーザによる変更を受け付けないアプリケーションである、
 (7)~(9)のいずれか1つに記載のシステム。
(11)
 前記第3のアプリケーションは、前記ユーザ側情報処理装置のアプリケーション・フレームワーク層で動作する、(10)に記載のシステム。
 1 移動体システム
 10 移動体装置
 20 制御装置
 40 サーバ装置
 50 ユーザ側情報処理装置
 60 基地局
 100 ドローン
 300 外部装置
 302,405 制御部
 303 変換部
 310 保持部
 400 ストリーミング部
 401 機体操作部
 402 機体情報格納部
 403 状態管理部
 404 通信部
 406 記憶部
 407 アプリ格納部

Claims (11)

  1.  移動体に搭載され、前記移動体を制御するための装置であって、
     前記移動体を制御する情報処理装置を保持する保持部と、
     前記情報処理装置から前記移動体を制御する制御情報を取得し、前記制御情報に基づいて前記移動体を制御する制御部と、
     を備える装置。
  2.  前記制御部は、前記情報処理装置で動作する第1のアプリケーションを介して、前記情報処理装置で動作する第2のアプリケーションから前記制御情報を取得し、
     前記第1のアプリケーションは、ユーザによる変更を受け付けないアプリケーションである、
     請求項1に記載の装置。
  3.  前記第1のアプリケーションは、前記情報処理装置のアプリケーション・フレームワーク層で動作する、請求項2に記載の装置。
  4.  前記制御情報を、前記移動体の駆動部を制御する駆動制御部に出力するための制御信号に変換する変換部をさらに備える、請求項1に記載の装置。
  5.  前記変換部は、前記制御情報を、PWM信号である前記制御信号に変換する、請求項4に記載の装置。
  6.  前記制御部は、前記制御情報に基づき、前記移動体の移動制御部を制御する、請求項1に記載の装置。
  7.  移動体の制御を行うシステムであって、
     ユーザからの前記移動体に対する操作を受け付けるユーザ側情報処理装置と、
     前記ユーザ側情報処理装置から前記ユーザによる前記操作に関する操作情報を取得するサーバ装置と、
     前記サーバ装置から前記操作情報を取得し、前記操作情報に基づいて前記移動体を制御するための制御情報を生成する移動体側情報処理装置と、
     前記移動体側情報処理装置から前記制御情報を取得し、前記制御情報に基づいて前記移動体を制御する装置と、を備え、
     前記装置は、
     前記移動体に搭載され、
     前記移動体側情報処理装置を保持する保持部をさらに備え、
     前記移動体側情報処理装置は、
     前記装置を介して前記移動体に関する情報を取得し、
     取得した前記情報を、前記サーバ装置を介して、前記ユーザ側情報処理装置に送信する、
     システム。
  8.  前記サーバ装置は、
     前記移動体側情報処理装置で動作する第1のアプリケーションを介して、前記移動体側情報処理装置で動作する第2のアプリケーションに前記操作情報を送信し、
     前記第1のアプリケーションを介して前記第2のアプリケーションから前記移動体に関する前記情報を取得し、
     前記第1のアプリケーションは、ユーザによる変更を受け付けないアプリケーションである、
     請求項7に記載のシステム。
  9.  前記第1のアプリケーションは、前記移動体側情報処理装置のアプリケーション・フレームワーク層で動作する、請求項8に記載のシステム。
  10.  前記サーバ装置は、
     前記ユーザ側情報処理装置で動作する第3のアプリケーションを介して、前記ユーザ側情報処理装置で動作する第4のアプリケーションから前記操作情報を取得し、
     前記第3のアプリケーションを介して前記第4のアプリケーションに前記移動体に関する前記情報を送信し、
     前記第3のアプリケーションは、ユーザによる変更を受け付けないアプリケーションである、
     請求項7に記載のシステム。
  11.  前記第3のアプリケーションは、前記ユーザ側情報処理装置のアプリケーション・フレームワーク層で動作する、請求項10に記載のシステム。
PCT/JP2022/039015 2021-11-15 2022-10-20 装置及びシステム WO2023085027A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202280074282.2A CN118215622A (zh) 2021-11-15 2022-10-20 装置和系统

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-185814 2021-11-15
JP2021185814A JP2023073018A (ja) 2021-11-15 2021-11-15 装置及びシステム

Publications (1)

Publication Number Publication Date
WO2023085027A1 true WO2023085027A1 (ja) 2023-05-19

Family

ID=86335629

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/039015 WO2023085027A1 (ja) 2021-11-15 2022-10-20 装置及びシステム

Country Status (3)

Country Link
JP (1) JP2023073018A (ja)
CN (1) CN118215622A (ja)
WO (1) WO2023085027A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140297067A1 (en) * 2012-08-02 2014-10-02 Benjamin Malay Vehicle control system
JP2017208678A (ja) 2016-05-18 2017-11-24 本郷飛行機株式会社 小型無人飛行機の通信及び制御装置並びにこれらの方法
WO2018003082A1 (ja) * 2016-06-30 2018-01-04 株式会社オプティム 移動体制御アプリケーション及び移動体制御方法
CN108423164A (zh) * 2018-04-04 2018-08-21 东北大学 一种折叠式手机无人机
WO2021005782A1 (ja) * 2019-07-11 2021-01-14 株式会社センシンロボティクス 飛行体の管理サーバ及び管理システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140297067A1 (en) * 2012-08-02 2014-10-02 Benjamin Malay Vehicle control system
JP2017208678A (ja) 2016-05-18 2017-11-24 本郷飛行機株式会社 小型無人飛行機の通信及び制御装置並びにこれらの方法
WO2018003082A1 (ja) * 2016-06-30 2018-01-04 株式会社オプティム 移動体制御アプリケーション及び移動体制御方法
CN108423164A (zh) * 2018-04-04 2018-08-21 东北大学 一种折叠式手机无人机
WO2021005782A1 (ja) * 2019-07-11 2021-01-14 株式会社センシンロボティクス 飛行体の管理サーバ及び管理システム

Also Published As

Publication number Publication date
CN118215622A (zh) 2024-06-18
JP2023073018A (ja) 2023-05-25

Similar Documents

Publication Publication Date Title
US11394457B2 (en) Method, apparatus and system of providing communication coverage to an unmanned aerial vehicle
US11373541B2 (en) Flight permitted airspace setting device and method
US20170023939A1 (en) System and Method for Controlling an Unmanned Aerial Vehicle over a Cellular Network
US20170123413A1 (en) Methods and systems for controlling an unmanned aerial vehicle
CN111372851B (zh) 无人航空器控制系统、无人航空器控制方法、及可读存储媒体
CN109445464B (zh) 一种飞行控制方法及飞行控制系统
CN209803579U (zh) 用于无人驾驶飞行器(uav)的地面站以及无人机系统
US20210018938A1 (en) Computation load distribution
JP6481121B1 (ja) 飛行体の制御に関する情報表示方法
JP2023057120A (ja) 飛行体の制御に関する情報表示方法
WO2023085027A1 (ja) 装置及びシステム
CN110622086A (zh) 可移动物体应用框架
JP6582270B1 (ja) 飛行体の制御に関する情報表示方法
JP6582258B1 (ja) 飛行体の制御に関する情報表示方法
JP6582264B1 (ja) 飛行体の制御に関する情報表示方法
JP6582265B1 (ja) 飛行体の制御に関する情報表示方法
JP6582268B1 (ja) 飛行体の制御に関する情報表示方法
JP6582266B1 (ja) 飛行体の制御に関する情報表示方法
US20240078920A1 (en) Air traffic control system, method of identifying flying object, computer readable medium, and flying object
JP6582267B1 (ja) 飛行体の制御に関する情報表示方法
JP6582269B1 (ja) 飛行体の制御に関する情報表示方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22892527

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2022892527

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2022892527

Country of ref document: EP

Effective date: 20240617