Program, server device, information processing device, mobile body

CN122935797APending Publication Date: 2026-10-16ALPS ALPINE CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202480089213.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-03-22
Filing Date
2024-12-25
Publication Date
2026-10-16

AI Technical Summary

Benefits of technology

[0030] It can suppress adverse effects caused by version differences between the device's system program and the mobile device's firmware.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122935797A_ABST
    Figure CN122935797A_ABST
Patent Text Reader

Abstract

A system program of an apparatus for suppressing generation of an adverse situation due to a version difference between a firmware of a mobile body. The present invention provides a program that causes an information processing apparatus mounted on a mobile body to execute the following steps: determining whether or not movement from a first area to a second area is in progress; in the case where movement to the second area is in progress, determining whether or not it is in the middle of execution of a whole piece of processing that is defined in advance; in the case where it is in the middle of execution of the whole piece of processing and the speed at the current time point is maintained, determining whether or not the second area is entered before the whole piece of processing in progress is completed; and in the case where it is determined that the second area is entered before the whole piece of processing in progress is completed, controlling the moving speed so that the whole piece of processing is completed before the second area is entered, and then entering the second area.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to programs, server devices, information processing devices, and mobile bodies. Background Technology

[0002] In the context of program version upgrades, to prevent unforeseen issues from spreading widely, phased version upgrades are sometimes implemented. For example, when releasing a new version of a web service, the service provider may release the new version to only a subset of users for testing purposes. This practice of releasing a new version to only a subset of users is called a "canary release." Figure 1 This is an illustration of a canary post. In a canary post, such as... Figure 1 As shown, the service provider allocates the new version (Ver. 2 for convenience) to, for example, 5% to 10% of all users, and the previous version (Ver. 1 for convenience) to the remaining users. Figure 1 In this configuration, load balancer 201 connects 5% to 10% of users to the Ver.2 web service and the remaining users to the Ver.1 web service.

[0003] If there are no problems in Ver.2 and the user feedback is positive, the service provider gradually increases the number of users connecting to the Ver.2 web service, eventually connecting all users to the Ver.2 web service. If problems are found in the Ver.2 web service, or if user feedback is poor, the service provider may sometimes delay the release of the Ver.2 web service for further improvements. Patent Document 1 discloses techniques for limiting the impact of bugs in the program during canary releases and shortening the program release interval.

[0004] Furthermore, it is known that when a mobile body moves to a given area, the program version is upgraded to suit the area. Patent Document 2 discloses a technique for identifying the current location by using signals from a GPS receiving device, reading out and executing application software corresponding to the current location.

[0005] Prior art literature

[0006] Patent documents

[0007] Patent Document 1: Japanese Patent Application Publication No. 2007-120973

[0008] Patent Document 2: Japanese Patent Application Publication No. 10-153437 Summary of the Invention

[0009] -The problem the invention aims to solve-

[0010] However, given the given area where mobile entities move, areas known as smart cities have emerged in recent years. A smart city refers to a sustainable city or region that utilizes cutting-edge technologies such as ICT (Information and Communication Technology) to solve urban and regional challenges and create new value.

[0011] Figure 2 This illustration represents Smart City 202. In Smart City 202, services based on various devices such as traffic lights are also implemented through programs (hereinafter referred to as system programs). In Smart City 202, there are also instances where system programs are released by canaries. Figure 2 In the context of the smart city 202, only in a portion of area 203, the new version (Ver.2) of the system program was released by Canary.

[0012] When a mobile entity moves within a smart city, it sometimes receives information from surrounding fixed equipment or delegates certain processes to that equipment. For example, the mobile entity can obtain signal display information from traffic lights or traffic congestion information at its destination. Furthermore, the mobile entity can obtain a speed from the equipment to move without stopping due to red lights, and move at that speed within the smart city. Additionally, the mobile entity can open the gates of a building at its destination or open the gates of a parking lot. Such processing is performed via firmware installed on the computer of the mobile entity 220.

[0013] Figure 3 This diagram illustrates the relationship between fixed equipment 210 and mobile devices 220 in a smart city 202. Fixed equipment 210 includes traffic signals 211, cameras 212, and monitoring devices 213, etc. Mobile devices 220 include electric pedals 221, bicycles 222, and autonomous four-wheeled vehicles 223, etc.

[0014] like Figure 2 As shown, when a new system program is released by a canary in smart city 202, only a portion of area 203 of smart city 202 becomes the target of the canary release. In this portion of area 203, the firmware of the mobile device loses its compatibility with the system program of the control device 210, which may result in the mobile device 220 becoming unable to move or being unable to comply with the rules within the smart city.

[0015] More specifically, the following adverse conditions may occur.

[0016] (1) Misinterpretation of real-time traffic information

[0017] If the firmware of the mobile device 220 remains in a state corresponding to the API of an older version of the system program, it may be unable to correctly interpret the format of traffic information updated by the new version of the system program. This could result in drivers receiving incorrect traffic information and getting caught up in congestion or accidents.

[0018] (2) Malfunctions of the navigation device

[0019] The firmware of the mobile unit 220 relates to the navigation device. If the navigation device is not compatible with the latest version of the API exposed by the system program, it cannot perform optimal route calculation, and there is a possibility that the driver will take longer than required to reach their destination.

[0020] (3) Errors in the reservation system

[0021] In situations where parking lot and charging station reservation systems rely on the version of the system program's API, navigation devices may be unable to process reservations correctly due to version inconsistencies.

[0022] (4) Security vulnerabilities

[0023] Older versions of the system program's API may not employ new security measures, increasing their vulnerability to cyberattacks.

[0024] To mitigate this adverse situation, a study was conducted to restrict (prohibit entry) mobile bodies 220 that could enter the application area (part of area 203) of the new system program within the smart city 202. However, this is inconvenient for users as they cannot freely enter and exit the application area of ​​the new system program.

[0025] Furthermore, such adverse conditions primarily occur in the basic software that controls the movement of the mobile body 220, but they can also occur in application software (e.g., navigation software) if there is communication with the device 210. Additionally, such adverse conditions can also occur in mobile bodies 220 other than automobiles (e.g., drones) if there is communication with the device 210.

[0026] In view of the above-mentioned problems, the present invention provides a technique to suppress the occurrence of adverse conditions caused by version differences between the system program of the device and the firmware of the mobile body.

[0027] -Methods for solving problems-

[0028] The present invention provides a program that causes an information processing device mounted on a mobile body to perform the following steps: determining whether it is moving from a first region to a second region; if it is moving to the second region, determining whether a predefined block of processing is being executed; if the block of processing is being executed and the current speed is maintained, determining whether to enter the second region before the block of processing is completed; and if it is determined that the second region is to be entered before the block of processing is completed, controlling the movement speed so that the block of processing is completed before entering the second region, and then entering the second region.

[0029] -Invention Effects-

[0030] It can suppress adverse effects caused by version differences between the device's system program and the mobile device's firmware. Attached Figure Description

[0031] Figure 1 This is an illustration of the image released by the canary.

[0032] Figure 2 This is a schematic diagram representing a smart city.

[0033] Figure 3 This diagram illustrates the relationship between fixed devices and mobile entities in a smart city.

[0034] Figure 4 This is a diagram illustrating the firmware version switching of a vehicle.

[0035] Figure 5 This is an example of a schematic diagram of a mobile assistance system with a server device capable of communicating with the vehicle.

[0036] Figure 6 This is a diagram illustrating the structure of an onboard system in a vehicle capable of autonomous driving.

[0037] Figure 7 This is an example of a function block diagram illustrating the functions of an automatic driving control device related to firmware switching.

[0038] Figure 8A This diagram illustrates the buffer zone and the treatment of the entire area.

[0039] Figure 8B This diagram illustrates the buffer zone and the treatment of the entire area.

[0040] Figure 9 It is a diagram that schematically illustrates the processing of a whole block.

[0041] Figure 10This diagram illustrates the method for determining the speed at which a single piece of processing is completed before switching from firmware Ver. A to firmware Ver. B.

[0042] Figure 11 For each of processes 1 to 3, the actual time required for the past n executions is recorded.

[0043] Figure 12 This is an example of a flowchart illustrating the process of handling a situation where a whole block of processing begins before the boundary between the buffer zone and the application area of ​​the Ver.2 system program.

[0044] Figure 13 This is an example of a flowchart illustrating how an autonomous driving control device pauses for a certain period of time to switch to other processes besides firmware processing after completing a whole block of processing.

[0045] Figure 14A This is an example of a functional block diagram of an automatic driving control device.

[0046] Figure 14B This is an example of a functional block diagram of a server device.

[0047] Figure 15 This is a timing diagram illustrating the method for determining the speed at which the vehicle communicates with the server device and is used to complete a block of processing before switching from firmware Ver. A to firmware Ver. B. Detailed Implementation

[0048] Hereinafter, as an example of a method for implementing the present invention, the mobility assistance system and the control method of the mobility assistance system will be described with reference to the accompanying drawings.

[0049] [First Implementation Method]

[0050] <An Overview of Software Version Switching>

[0051] In this embodiment, when the mobile body 220 enters an area where the system program of a control device in a smart city is released by a canary, the firmware version installed on the mobile body 220 is switched to a version compatible with the version of the system program released by the canary.

[0052] Figure 4This diagram illustrates the firmware version switching of the autonomous four-wheeled vehicle 223. Assume the device's system program, located within a smart city, has versions Ver.1 and Ver.2. Ver.2 is the newer version. In a portion of the smart city where the new system program is deployed by Canary, the device's system program version is Ver.2. While some functions of Ver.1 and Ver.2 are compatible, they are not fully compatible. That is, there may be situations where the firmware corresponding to Ver.2 is not compatible with Ver.1. Therefore, when the autonomous four-wheeled vehicle 223 is operating in a portion of the smart city where the system program is deployed by Canary, simply upgrading to the firmware corresponding to Ver.2 is not sufficient.

[0053] Furthermore, the mobile unit 220 has firmware Ver. A (an example of the first firmware) and firmware Ver. B (an example of the second firmware). The firmware Ver. B can also be installed externally at necessary intervals. The firmware operates appropriately relative to the device 210 when the version of the system program and the firmware version released by the canary are combined as follows.

[0054] • System program Ver.1 and firmware Ver.A

[0055] • System program Ver.2 and firmware Ver.B

[0056] When the mobile device 220 enters the area where the system program of Ver2 is used, the firmware is switched to Ver.B. Therefore, in situations where it is anticipated that there will be adverse situations due to version differences between the system program of the device and the firmware of the mobile device 220, such as in some areas of smart cities, the mobile device 220 can automatically switch the firmware version.

[0057] <Regarding terminology>

[0058] A "mono-block" process refers to a group of multiple processes. Switching firmware versions while only a portion of these processes is executed can lead to malfunctions. A mono-block process is also called an atomic process. In computer engineering, a mono-block process combines multiple processes; it refers to a process that appears as a single operation from the perspective of other parts of the system. A mono-block process is a process that automatically begins execution during the movement of the mobile body 220 due to surrounding conditions, occupant actions, etc. Multiple mono-block processes are pre-listed as a group. Mono-block processes do not necessarily need to be executed consecutively; other processes with higher priority can be interspersed within a mono-block process.

[0059] Mobile body 220 can be any object that can move automatically or semi-automatically on land, water, or in the air, whether the occupants are in the vehicle or not. Examples of mobile bodies 220 include cars, trams, airplanes, motorcycles, bicycles, handcarts, wheelchairs, ships, jet skis, submarines, drones, and robots.

[0060] The mobile unit 220 is equipped with an information processing device. An information processing device is a device that performs information processing; it is also known as a computer or microcomputer. The mobile unit 220 is equipped with one or more information processing devices, which execute programs. These programs include firmware and applications.

[0061] Furthermore, the program only needs to be executed by the mobile body 220. As a program, it is envisioned to be related to devices installed / deployed in smart cities, etc. (e.g., for communication). Programs include, for example, basic software (sometimes called firmware) that performs control related to the movement of the mobile body 220, application software such as car navigation, etc. Additionally, firmware has functions responsible for basic hardware control. Firmware also operates in the part of software closer to the hardware. In contrast, software that operates closer to the user is called an application. In this embodiment, the term firmware is used to describe the program, but applications may also be included within the program.

[0062] A system program refers to the program that controls equipment deployed in smart cities and similar systems. System programs can exist in various ways depending on the settings and the equipment. Examples of system programs include controlling traffic signals, managing congestion information, guiding movement, and directing customers to shops.

[0063] The so-called first area refers to the area where the system program of Ver.1 is used, and the so-called second area refers to the area where the program of Ver.2 is used.

[0064] <System Structure Example>

[0065] Figure 5 This is a schematic structural diagram of a mobility assistance system 500 having a server device 50 capable of communicating with an autonomous four-wheeled vehicle 223. Hereinafter, an autonomous four-wheeled vehicle 223 will be described as an example of a mobile body 220. The autonomous four-wheeled vehicle 223 is equipped with a navigation device 40 and an automatic driving system 10. The navigation device 40 and the automatic driving system 10 may be integrated.

[0066] The navigation device 40 can communicate with the server device 50 via the base station 9 (access point) and the network N, and can obtain information related to the smart city 202 from the server device 50.

[0067] The navigation device 40 has the function of retrieving at least the route to the destination. In addition, along with the retrieval function, the navigation device 40 often also has the function of displaying the route to the destination on a display mounted on the autonomous four-wheeled vehicle 223.

[0068] The navigation device 40 retrieves the route from the origin to the destination and sets it on a road map. It displays the route and current location on an electronic map displayed on a screen, or provides audio guidance when the route changes, or guides the user through animation or other means. Furthermore, the navigation device 40 may have AV (Audio Visual) playback capabilities, internet communication capabilities, etc. The navigation device 40 is sometimes also referred to as a tuner, PND (Portable Navigation Device), or car audio system.

[0069] Additionally, a device that primarily provides AV and communication functions but lacks navigation capabilities is referred to as an in-vehicle multimedia unit. In-vehicle multimedia units provide navigation functionality through communication with terminal devices such as smartphones. In this case, an application installed on the smartphone creates a navigation screen, which the in-vehicle multimedia unit obtains through communication and displays on a screen on the in-vehicle device side. Examples of such applications operating on smartphones include CarPlay (registered trademark) and Android Auto (registered trademark). Navigation device 40 can also be an in-vehicle multimedia unit.

[0070] Furthermore, the navigation device 40 can be a general-purpose information processing terminal or a vehicle-specific dedicated terminal. General-purpose information processing terminals include, for example, smartphones, tablets, mobile phones, PDAs (Personal Digital Assistants), laptops, and wearable PCs (such as watches and sunglasses). These devices are normally used as information processing terminals, but when running navigation applications, they perform route retrieval and guidance in the same way as dedicated terminals. Dedicated terminals, in addition to the aforementioned navigation device 40, tuners, or car stereos, also refer to PNDs (Portable Navigation Devices).

[0071] The navigation device 40 can switch between in-vehicle and portable modes, whether it is a general-purpose information processing terminal or a dedicated navigation terminal. That is, the navigation device 40 can be detached from and installed relative to the vehicle.

[0072] Server device 50 monitors the situation within the smart city. For example, server device 50 manages the current version of the system program that controls devices within the smart city 202 and provides it to the autonomous four-wheeled vehicle 223. Furthermore, server device 50 appropriately sends information affecting the movement of the autonomous four-wheeled vehicle 223, such as accidents, congestion, and equipment malfunctions occurring within the smart city 202.

[0073] <About Features>

[0074] Figure 6 This is a diagram illustrating a structural example of an onboard system 100 possessed by a vehicle capable of autonomous driving.

[0075] The following levels are defined in autonomous driving.

[0076] Level 0: All driver operations

[0077] Level 1: The system supports one of the following: steering or acceleration / deceleration.

[0078] Level 2: The system supports both steering and acceleration / deceleration.

[0079] Level 3: Full system operation in specific locations; driver operation in emergencies.

[0080] Level 4: System operation in specific locations

[0081] Level 5: No location restrictions, all system operations are available.

[0082] In this embodiment, a firmware switch is envisioned before the autonomous four-wheeled vehicle 223 enters a portion of a smart city area where a new version of the system program has been released by Canary. At least on highways, Level 2 autonomous driving is implemented. In this embodiment, the vehicle system 100 is capable of Level 2 or higher autonomous driving. Furthermore, Level 2 or higher autonomous driving is not mandatory; the vehicle system 100 in this embodiment only needs to be able to automatically control the vehicle speed, similar to cruise control.

[0083] like Figure 6As shown, the vehicle system 100 includes a navigation device 40 and an autonomous driving system 10. The navigation device 40 can have an existing structure. For example, the navigation device 40 corresponds to GNSS (Global Navigation Satellite System), represented by a GPS receiver, detects the vehicle's current location, and displays the vehicle's position on an electronic map. In addition, the navigation device 40 accepts input of origin and destination, retrieves the path from the origin to the destination and displays the path on an electronic map, or guides the vehicle's occupants in the direction of travel through voice, text (displayed on a display), or animation when the route changes.

[0084] Alternatively, the navigation device 40 may not be fixed to the vehicle. That is, the in-vehicle system 100 may also communicate with the navigation server via the communication device 41 to receive electronic maps or routes to the destination from the server.

[0085] The vehicle-mounted system 100 includes a communication device 41. The communication device 41 communicates with external devices via a network N. The network N can be, for example, a 3G, 4G, 5G, or 6G mobile communication network, or a wireless LAN. Alternatively, the communication device 41 can also communicate via road-to-road communication or vehicle-to-vehicle communication. The external device only needs to be connected to the network N. The external device can be, for example, a server device 50 that manages a smart city, providing information related to vehicle movement such as traffic congestion information, weather information, or disaster information.

[0086] The communication device 41, for example, receives information such as the location of congestion and the duration of congestion based on passenger operations or by periodically and automatically querying external devices. When congestion occurs, it can receive notifications from external devices, such as when notifications can be pushed to the communication device 41 from external devices. Furthermore, when a destination is set in the navigation device 40, the communication device 41 queries the smart city server device 50 to see if the system program at the destination (or along the path to the destination) has been released by a canary. If the system program has been released by a canary, the communication device 41 queries the smart city server device 50 for the version of the system program released by the canary. The navigation device 40 notifies the autonomous driving system 10 of the version of the system program released by the canary. The autonomous driving system 10 can then switch to the firmware version corresponding to the version of the system program released by the canary. Additionally, the communication device 41 can also obtain the firmware version of the target switching location from the smart city server device 50.

[0087] Alternatively, communication device 41 can also communicate with information processing terminals such as smartphones carried by users via short-range wireless communication such as Bluetooth (registered trademark). In this case, the information processing terminal communicates with server device 50.

[0088] The navigation device 40 and the autonomous driving system 10 communicate via an in-vehicle network (NW) such as a CAN (Controller Area Network) bus. The autonomous driving system 10 includes external sensors 11, an engine ECU 13 (Electronic Control Unit), a brake ECU 14, a steering ECU 15, and an autonomous driving control device 12.

[0089] External sensors 11 include a camera 18 capable of capturing images of the vehicle's surroundings, a radar 17 (millimeter-wave radar, LiDAR: Light Detection and Ranging, Laser Imaging Detection and Ranging) for obstacle detection, and a wireless communication unit 19. The camera 18 is primarily used for lane identification, obstacle identification, and detection of the distance and position to obstacles. The camera 18 can be either a stereo camera or a monocular camera, but a stereo camera is preferable for calculating the spatial position of obstacles. However, even monocular cameras have techniques for calculating the spatial position of obstacles. The radar 17 is used to detect the distance and direction to obstacles. The wireless communication unit can obtain information about the vehicle's current location or direction of travel by receiving signals, road signs, beacons embedded in the road surface, etc.

[0090] The engine ECU 13 is a computer (electronic control unit) that controls the engine. Based on control from the automatic driving control unit 12, the engine ECU 13 feeds back and controls the throttle opening and fuel injection quantity, such as the deviation between the target vehicle speed and the current vehicle speed, and the deviation between the target's TTC (Time to Collision) and the current TTC, to enable constant vehicle speed or to follow the vehicle ahead. Furthermore, the engine ECU 13 controls the transmission to downshift and upshift based on the automatic transmission line diagram.

[0091] The brake ECU 14 performs automatic braking or emergency braking according to the control from the automatic driving control device 12. In addition, the brake ECU 14 controls the braking force of each wheel of the vehicle even without the operation of the brake pedal by the vehicle occupants, using ABS (Antilock Braking System) control, hill start control, etc.

[0092] The steering ECU 15, under control from the automatic driving control unit 12, sets a target driving line to keep the vehicle in the center of the driving lane, and steers in the direction of maintaining the driving line or avoiding approaching obstacles, even without steering wheel operation by vehicle occupants. Furthermore, the steering ECU 15 performs steering for lane changes and for left and right turns required for driving along the route.

[0093] Based on its accurate understanding of the vehicle's position through communication with the navigation device 40, the automatic driving control unit 12 controls the engine ECU 13, brake ECU 14, and steering ECU 15 according to the route to the destination to ensure compliance with traffic regulations. When no obstacle is detected ahead by the external sensor 11, it travels at the legal speed in the center of the driving lane. When a vehicle ahead is detected by the external sensor 11, it follows the vehicle in the center of the driving lane. When the vehicle ahead slows down or stops, the external sensor 11 checks the condition of adjacent driving lanes and changes lanes if the lane is clear. Furthermore, it performs emergency braking when the TTC threshold for an obstacle ahead is below the threshold. While driving, it monitors the status of traffic signals using the camera 18 and performs actions such as stopping and starting accordingly. Additionally, the automatic driving control unit 12 detects road signs through the camera 18, inter-vehicle communication, and road information database to ensure compliance with traffic regulations. When the route indicates a left or right turn, it moves to the left or right turn lane and turns in the direction indicated by the route.

[0094] The automatic driving control device 12 is equipped with various firmware 16 related to automatic driving control. As described above, this firmware 16 includes firmware for processing signal displays and road signs corresponding to traffic lights in smart cities, etc. While existing traffic lights and road signs are installed in smart cities, new equipment is sometimes deployed in parts of the smart city. For this equipment, a new system program is released by a canary. In this case, if the firmware of Ver. A does not correspond to the system program of Ver. 2, the automatic driving control device 12 cannot perform the control and processing required by the system program of Ver. 2. Therefore, the automatic driving control device 12 is equipped with firmware of Ver. B, which corresponds to the system program of Ver. 2 released by the canary.

[0095] Next, refer to Figure 7 The function of switching firmware versions of the automatic driving control device 12 is explained. Figure 7 This is a functional block diagram illustrating the functions of the automatic driving control device 12 related to the firmware switching function. Additionally, in Figure 7Functions related to autonomous driving control have been omitted.

[0096] The automatic driving control device 12 includes a judgment unit 21, a speed determination unit 22, a speed control unit 23, a firmware switching unit 24, and a processing stop unit 25. These functional blocks of the automatic driving control device 12 are functions or units implemented by the CPU executing a program (or firmware) expanded in memory.

[0097] The determination unit 21 performs various determinations regarding firmware switching. For example, the determination unit 21 determines whether the vehicle is in the buffer zone 232 (described later). Figure 8A , Figure 8B The judgments include the movement of the process and whether it is part of the entire process described later.

[0098] The speed determination unit 22 determines the upper limit speed for completing a single process within the buffer zone 232. The speed control unit 23 causes the vehicle to move at a speed lower than the upper limit determined by the speed determination unit 22.

[0099] The firmware switching unit 24 is capable of switching between firmware version A, which is compatible with the system program of version 1, and firmware version B, which is compatible with the system program of version 2. That is, the firmware switching unit 24 switches from the current firmware to the firmware that is valid in the area of ​​the destination. For example, when the automatic four-wheeled vehicle 223 is moving towards the area where the system program of version 2 is published and is traveling in the buffer zone 232, the firmware switching unit 24 switches from firmware version A to firmware version B. Similarly, when the vehicle starts moving from the area where the system program of version 2 is published to the area where the system program of version 1 is published, the firmware switching unit 24 switches from firmware version B to firmware version A until it reaches the area where the system program of version 1 is published.

[0100] Additionally, server device 50 may also have Figure 7 The functions shown include a judgment unit 21, a speed determination unit 22, and a processing stop unit 25. In this case, the communication device 41 sends the information required for the processing performed by the judgment unit 21, the speed determination unit 22, and the processing stop unit 25 to the server device 50. The communication device 41 receives the judgment result from the judgment unit 21 and the speed at which the entire processing is completed, thus achieving the same effect as when the automatic driving control device 12 performs the processing.

[0101] <Buffer zone and overall treatment>

[0102] Figure 8A , Figure 8BThis diagram illustrates the buffer zone 232 and the overall processing. The automatic four-wheeled vehicle 223 moves from the application area 231 of the system program in Ver.1 to the application area 233 of the system program in Ver.2. A buffer zone 232 is provided during this movement. First, the buffer zone 232 is as follows.

[0103] • Buffer zone 232 is the area corresponding to both the system program of the control device and the firmware of Ver. A and Ver. B. For example, consider an area where a signal controlled by the system program of Ver. 1 and a signal controlled by the system program of Ver. 2 are prepared in the same location. Alternatively, buffer zone 232 is an area where devices adapted to both the firmware of Ver. A and the firmware of Ver. B are installed (e.g., devices controlled by the system program Ver. 0 as the basic version). In these buffer zones 232, the automatic driving system 10 switches firmware, so that the automatic driving system 10 receives the service of the device regardless of whether firmware Ver. A or firmware Ver. B is used.

[0104] The buffer zone 232 is included in the first area when the automatic four-wheel vehicle 223 travels from the first area to the second area, and is included in the second area when the automatic four-wheel vehicle 223 travels from the second area to the first area.

[0105] Furthermore, a "complete block of processing" refers to multiple processing groups that can cause problems when switching firmware versions while only a portion of them is being executed. For example, if a complete block of processing is defined as processing 1 through processing 3, then multiple processes can cause problems when switching from firmware Ver. A to Ver. B while only processing 1 is being executed. Therefore, the executing complete block of processing takes priority over firmware switching. Complete block of processing is predefined. Complete block of processing is a process that is automatically initiated and executed during the movement of the autonomous four-wheeled vehicle 223 due to surrounding conditions, occupant actions, etc.

[0106] exist Figure 8A In the buffer zone 232, processes 1 to 3 are processed as a whole block of processing included in the firmware of Ver. A. The autopilot control unit 12 wants to complete processes 1 to 3 before starting the switch to the firmware of Ver. B, but it is expected that process 3 cannot be completed within the buffer zone 232.

[0107] Therefore, in this embodiment, the automatic driving control device 12 adjusts the speed (reduces) so that the vehicle does not enter the area of ​​the system program using Ver.2 until processing 1 to processing 3 is completed. That is, the automatic driving control device 12 adjusts the speed so that it does not exceed the boundary line between the buffer zone 232 and the area of ​​the system program using Ver.2 until processing 1 to processing 3 is completed. In this embodiment, the automatic driving control device 12 reduces the speed of the automatic four-wheeled vehicle 223. If the automatic four-wheeled vehicle 223 suddenly stops before this boundary, it will cause inconvenience to the user, so it is preferable that the automatic driving control device 12 gradually reduces the speed so that the user will not notice it. In addition, the display of the navigation device 40 can also display the speed reduction due to firmware switching. Furthermore, the navigation device 40 can also display the degree of delay in arrival time to the destination (in this embodiment, the destination located in the area of ​​the system program using Ver.B) by the speed reduction (original expected arrival time and later expected arrival time, difference, etc.).

[0108] exist Figure 8B In the process, by reducing the vehicle's speed, process 3 is completed near the end of buffer zone 232. Thus, the automatic driving control unit 12 controls the processing by pre-determining the processing of switching firmware versions and the priority of the entire processing block, thereby completing the execution of the entire processing block and switching to the appropriate firmware before entering the area using the system program of Ver.2.

[0109] In addition, after processing 3, the automatic driving control device 12 switches from firmware Ver.A to firmware Ver.B and cancels the speed adjustment.

[0110] like Figure 9 As shown, as an example of a whole-piece process, there is a process like the following. Figure 9 It is a diagram that schematically illustrates the processing of a whole block.

[0111] (1) Rewrite the set value 1. In Figure 9 In the text, "123" was rewritten as "456".

[0112] (2) Rewrite setting value 2. Figure 9 In the text, "321" was rewritten as "654".

[0113] (3) Based on setting value 1 and setting value 2, rewrite setting value 3 through calculation. Figure 9 In the text, "789" was rewritten as "999".

[0114] Depending on the switch from firmware Ver.A to firmware Ver.B, the meanings of setting values ​​1 to 3 and the calculation method for setting value 3 change. If the switch from firmware Ver.A to firmware Ver.B occurs after the start of the automatic driving control device 12 (1) and before the completion of (3), an error will occur in the calculation of setting value 3. Therefore, the switch from firmware Ver.A to firmware Ver.B needs to be completed after the completion of (3) of the entire processing block.

[0115] Furthermore, the processing time required for processes 1 through 3 varies depending on the overall processing block. For example... Figure 9 As shown, when processes 1 to 3 involve computation and memory rewriting, the processing time for processes 1 to 3 is less than 1 second. However, when processes 1 to 3 involve downloading data from an external source or querying an external device, the processing time takes tens of seconds or more. Furthermore, it is assumed that firmware switching takes tens of seconds.

[0116] <Action or Process>

[0117] Next, refer to Figure 10 This describes the method by which the automatic driving control device 12 determines the speed at which a whole process is completed. Figure 10 This diagram illustrates the method used to determine the speed at which a single piece of processing is completed before switching from firmware Ver. A to firmware Ver. B. Figure 10 The flowchart illustrates the process from the "beginning of the judgment loop" to the "end of the judgment loop," which determines the vehicle speed. The judgment loop is executed repeatedly at regular intervals.

[0118] Navigation device 40 is notified of the destination and the route to the destination. Communication device 41 queries server device 50 whether a smart city exists along the route to the destination. If a smart city exists, communication device 41 queries server device 50 whether a new system program has been released by a canary in a certain area. If a new system program has been released by a canary, communication device 41 queries smart city server device 50 for the version of the system program released by the canary. Navigation device 40 notifies autonomous driving system 10 of the version of the system program released by the canary (S11). Additionally, navigation device 40 notifies autonomous driving control device 12 of the destination and the route to the destination. Autonomous driving system 10 determines that it needs to switch to a firmware version compatible with the version of the system program released by the canary.

[0119] Furthermore, if the destination is changed and the vehicle no longer moves to a smart city, the navigation device 40 notifies the autonomous driving system 10 of the current system program version. Thus, the autonomous driving system 10 can determine that a firmware switch is not required.

[0120] When it is determined that a firmware switch is required, the determination unit 21 determines whether the vehicle is moving within the buffer zone 232 (S12). Alternatively, the vehicle may also be stopped. The buffer zone 232 is set on a map.

[0121] If the judgment in S12 is "yes", proceed to S13; if it is "no", ... Figure 10 The processing is now complete.

[0122] In S13, the determination unit 21 determines whether the automatic driving control device 12 is executing a complete process (S13). A complete process is predefined, and the determination unit 21 may query the OS for the process in progress.

[0123] If the judgment in S13 is "yes", proceed to S14; if it is "no", ... Figure 10 The processing is complete.

[0124] In S14, the determination unit 21 determines whether the vehicle crosses the boundary between the buffer zone 232 and the application area of ​​the system program of Ver.2 before the entire process is completed (S14).

[0125] The judgment of S14 is explained in detail.

[0126] Premise 1) Assume that a single processing block includes n processes.

[0127] Premise 2) Let p be the time required to process the entire concept.

[0128] Premise 3) Set the start time of the first process in a whole block of processing to T1.

[0129] Premise 4) Let R be the time ratio of the x-th process relative to the entire processing block. x Therefore, the progress of processing a whole block is R1 to R2. n The sum of (n is the number of the process completed at the current time point).

[0130] Premise 5) Set the end time of the xth process to Tx.

[0131] Premise 6) Set the completion time of a whole block of processing as e (=Tn). However, since e is unknown during the middle of a whole block of processing, it is not used in S14.

[0132] Based on the above, the elapsed time of the xth processing point relative to the whole is Tx-T1……(1).

[0133] The progress of the x-th process relative to the overall process is Σ. xK=1 R k ...(2) (to R1~R x (and). Therefore,

[0134] (1) ÷ (2) = “The value obtained by dividing the value obtained in (1) by the value obtained in (2)” is the estimated value of the total required time. By adding the start time T1 to it, the completion time of the entire processing block can be estimated. The navigation device 40 estimates the arrival time of the application area of ​​the system program of Ver.2 (sets it as the predetermined time of arrival at the boundary between the buffer zone 232 and the application area of ​​the system program of Ver.2). The judgment unit 21 determines whether “the predetermined time of arrival < the completion time calculated in S15” is satisfied.

[0135] If the judgment in S14 is "yes", proceed to S15; if it is "no", ... Figure 10 The processing is now complete.

[0136] In S15, the speed determination unit 22 determines the speed at which processes 1 to 3 are completed before the automatic four-wheel vehicle 223 crosses the boundary between the buffer zone 232 and the application area of ​​the system program in Ver.2, and the speed control unit 23 controls this speed to the upper limit (S15). By reducing the speed, the time that can be spent on processes 1 to 3 can be increased.

[0137] The method for determining speed is explained.

[0138] • Regarding processes 1 through 3, which are processed as a whole, such as Figure 11 As shown, the time required for past processing is recorded. Figure 11 In this process, the past n required times are recorded for each of processes 1 to 3. The speed determination unit 22 obtains the recorded required times and obtains the total required time s seconds for the unfinished processes from processes 1 to 3. The required time s seconds is preferably the maximum value among the recorded required times.

[0139] • Let x [m] be the distance from the current position of the automatic four-wheeled vehicle 223 to the application area of ​​the system program in Ver.2. Let v [m] be the speed of the automatic four-wheeled vehicle 223 at the current time point as it approaches the application area of ​​the system program in Ver.2. Furthermore, the length of the processing time with sufficient margin is n times the maximum processing time required (n is a real number greater than 1). Based on the above, while satisfying...

[0140] x≤v×s×n……(3)

[0141] In this case, it is determined that a speed adjustment is needed.

[0142] In addition, the speed determination unit 22 calculates the upper limit of the adjusted movement speed as follows.

[0143] Adjusted moving speed = x ÷ (s × n) …… (4)

[0144] If the vehicle moves to the boundary between the buffer zone and the application area of ​​the system program of Ver.2 at the speed calculated by formula (4), the automatic driving control device 12 can complete a whole block of processing 1 to processing 3 before reaching the application area of ​​the system program of Ver.2.

[0145] However, since firmware switching also takes some time, it is preferable to also consider the time t required for firmware switching when calculating the adjusted speed. In this case, the total time s seconds required for processing 1 to 3 can be considered as "s+t". Therefore, equation (3) is transformed as follows.

[0146] x≤v×(s+t)×n……(5)

[0147] At this point, it is determined that a speed adjustment is needed.

[0148] In addition, the speed determination unit 22 calculates the upper limit of the adjusted movement speed as follows.

[0149] The adjusted moving speed = x ÷ {(s+t)×n}……(6)

[0150] The speed control unit 23 uses the adjusted speed determined by equation (6) as the upper limit to control the speed when moving to the application area of ​​the system program in Ver.2.

[0151] Next, the decision unit 21 determines whether the processing of a whole block is complete (S16). If the decision in S16 is "yes", the processing proceeds to S17; if it is "no", the processing repeats S16.

[0152] In S17, the firmware switching unit 24 switches from firmware Ver.A to firmware Ver.B (S17). The firmware switching unit 24 switches firmware immediately after the entire processing is completed.

[0153] Thus, in this embodiment, the automatic driving control device 12 switches from firmware Ver. A to firmware Ver. B when the autonomous four-wheeled vehicle 223 enters the area where the system program of Ver. 2 controls the device. Furthermore, by reducing speed, the automatic driving control device 12 can increase the processing time that can be spent in one block. The automatic driving control device 12 can reliably switch from firmware Ver. A to firmware Ver. B before the autonomous four-wheeled vehicle 223 enters the area where the system program of Ver. 2 controls the device. Therefore, it is possible to suppress adverse situations arising from version differences between the firmware of the device and the autonomous four-wheeled vehicle 223 in the area where the system program of Ver. 2 is applied.

[0154] Alternatively, one could consider speeding up the entire process to finish in a shorter time, as shown below.

[0155] • The automatic driving control unit 12 reduces processing time by prioritizing a whole block of processing within the OS.

[0156] • In other processes that are not part of a single process, the automatic driving control unit 12 delays any processes that can be delayed.

[0157] • It has multiple CPU cores, and if there are any CPU cores that are not assigned to processing, the automatic driving control unit 12 assigns them to a whole block of processing.

[0158] <<Regarding the situation where processing begins in one block before the boundary between the buffer zone and the application area of ​​the Ver.2 system program>>

[0159] It is also possible that a whole block of processing will begin just before the boundary between the buffer zone 232 and the application area of ​​the Ver.2 system program. In this case, consider the following approach.

[0160] Method 1: The automatic driving control device 12 significantly reduces the speed (and stops as needed) so that the vehicle does not leave the buffer zone 232 before a complete process is finished.

[0161] Method 2: Before initiating a full-scale processing, the autopilot control unit 12 queries the system to assess the impact on the user. The system refers to the autopilot control unit 12's operating system (OS), server devices used for autopilot, etc. If the impact on the user is minimal and it's acceptable to execute a full-scale processing even after entering the application area of ​​the Ver.2 system program, there are fewer potential problems; therefore, the autopilot control unit 12 does not initiate processing.

[0162] Figure 12This is a flowchart illustrating the process handled by method 2 when a whole block of processing begins just before the boundary between the buffer zone 232 and the application area of ​​the system program in Ver.2. As Figure 12 The prerequisite for this processing is firmware switching, and the vehicle is traveling in buffer zone 232.

[0163] First, the determination unit 21 determines whether to start a whole block of processing (S21). Since a whole block of processing is predefined, the determination unit 21 receives (or monitors) a notification from the OS about the next block of processing to be executed and determines whether it is a whole block of processing.

[0164] If the judgment in S21 is "yes", proceed to S22; if it is "no", ... Figure 12 The processing is now complete.

[0165] In S22, the determination unit 21 determines whether the vehicle's current distance from the application area of ​​the Ver.2 system program is within a certain distance (S22). This certain distance is a threshold value used to determine whether the buffer zone is within the boundary of the application area of ​​the Ver.2 system program. This certain distance is, for example, the distance that the automatic four-wheeled vehicle 223 would travel in the minimum time required to perform a complete processing step if it moves at the current speed or its average speed. Alternatively, the certain distance could be a distance obtained by multiplying a calculated distance by a value less than 1. Furthermore, the minimum time required to perform a complete processing step is determined based on the time required for past processing steps, and the determination is made for each complete processing step.

[0166] If the judgment in S22 is "yes", proceed to S23; if it is "no", proceed to S26.

[0167] In S23, the determination unit 21 determines whether the impact on the user is minimal and whether it is acceptable to enter the application area of ​​the Ver.2 system program without executing a complete block of processing (S23). For example, the determination unit 21 asks the OS whether there will be no adverse effects even if a complete block of processing is not executed, and receives an answer.

[0168] If the condition in S23 is "yes", proceed to S24; if the condition is "no", proceed to S26.

[0169] In S24, the determination unit 21 suspends the processing of an entire block. Then, the firmware switching unit 24 switches the firmware version (S25). Since the suspension occurred, no firmware switching is performed. This is because the processing of this entire block considers the case where processing only functions effectively in that area, and therefore, it is opaque whether it can be executed later even if delayed.

[0170] Furthermore, in S26, the determination unit 21 determines that a complete processing block should be executed (S26). The automatic driving control device 12 executes the complete processing block. In addition, the firmware switching unit 24 switches the firmware version (S27). The automatic driving control device 12 can stop the automatic four-wheeled vehicle 223 until the firmware version switching is completed.

[0171] By performing this process, when a block of processing begins just before the boundary between the buffer zone 232 and the application area of ​​the Ver.2 system program, the priority order of the block of processing and firmware switching can be changed. That is, the automatic driving control device 12 can prioritize firmware switching over block of processing. When block of processing is prioritized, the automatic driving control device 12 can stop the automatic four-wheeled vehicle 223.

[0172] <<The firmware switch has not started after the entire process is completed>>

[0173] After a complete block of processing is completed, the firmware switching unit 24 immediately begins firmware switching. However, there is a possibility that the vehicle's movement to the Ver.2 system program's application area may be cancelled before the complete block of processing is finished. In such cases, it is easy to determine whether firmware switching is necessary by stopping processing other than firmware switching.

[0174] Figure 13 This is a flowchart illustrating the process by which the automatic driving control device 12 pauses for a certain period of time to switch firmware after completing a whole process. Figure 13 The processing is repeatedly executed when the vehicle is moving in the buffer zone 232 and it is determined that a firmware switch is required.

[0175] First, the decision unit 21 determines whether the processing of a whole block is complete (S31). If the decision in S31 is "yes", the processing proceeds to S32; otherwise, ... Figure 13 The processing is now complete.

[0176] In S32, the processing stop unit 25 stops processing other than firmware switching for a certain period of time (S32). This certain period of time may be, for example, several seconds. The certain period of time is sufficient time from the completion of a whole block of processing to the start of firmware switching processing. In addition, apart from the processing required for vehicle movement such as autonomous driving, processing other than firmware switching processing refers to communication via the network, music or animation playback, destination retrieval, etc. That is, processing with a certain priority is stopped.

[0177] Next, the judgment unit 21 determines whether a certain amount of time has elapsed (S33). If the judgment in S33 is "yes", the process proceeds to S34; if it is "no", the judgment in S33 continues.

[0178] In S34, the determination unit 21 determines whether firmware switching has started (S34). That is, if all processing other than firmware switching has stopped (reducing the load), and firmware switching has not started even after a certain period of time, for example, it can be determined that the vehicle's movement to the application area of ​​the Ver.2 system program has been cancelled, then firmware switching is no longer needed.

[0179] If the judgment in S34 is "yes", proceed to S35; if it is "no", proceed to S36.

[0180] In S35, the processing stop unit 25 can perform processing other than firmware switching processing (S35). That is, the processing stop unit 25 returns to its original state.

[0181] In S36, after the firmware switch, the processing stop unit 25 can perform processing other than the firmware switch processing (S36). That is, the processing stop unit 25 prioritizes the firmware switch and then returns to the original state.

[0182] according to Figure 13 The processing, which involves stopping processes other than firmware switching, makes it easy to determine whether a firmware switch is needed.

[0183] <Main Effects>

[0184] In this embodiment, the automatic driving control device 12 switches from firmware Ver. A to firmware Ver. B when the autonomous four-wheeled vehicle 223 enters the area where the system program of Ver. 2 controls the device. Furthermore, by reducing speed, the automatic driving control device 12 can increase the processing time that can be spent in one block. The automatic driving control device 12 can reliably switch from firmware Ver. A to firmware Ver. B before the autonomous four-wheeled vehicle 223 enters the area where the system program of Ver. 2 controls the device. Therefore, it is possible to suppress adverse situations arising from firmware version differences between the device and the autonomous four-wheeled vehicle 223 in the area where the system program of Ver. 2 is used.

[0185] [Second Implementation]

[0186] In this embodiment, a server device 50 is described that calculates the speed at which the autonomous four-wheeled vehicle 223 does not reach the application area of ​​Ver2 before the completion of a whole block of processing.

[0187] based on Figure 14A , Figure 14B The functional block diagrams of the automatic driving control device 12 and the server device 50 are described. Figure 14A This is a functional block diagram of the automatic driving control device 12. Figure 14B This is a functional block diagram of the server device 50. The automatic driving control device 12 includes a judgment unit 21, a speed control unit 23, and a firmware switching unit 24. These functions can be the same as in the first embodiment. The server device 50 includes a communication unit 31, a judgment unit 32, a speed determination unit 33, and a processing stop unit 34. Except for the communication unit 31, these functions can be the same as in the first embodiment. The communication unit 31 communicates with the communication device 41 of the automatic four-wheeled vehicle 223.

[0188] Figure 15 This is a sequence diagram illustrating the method for determining the speed at which the automatic four-wheeled vehicle 223 communicates with the server device 50 to complete a single processing step before switching from firmware Ver. A to firmware Ver. B.

[0189] S201: If the automatic driving control device 12 begins a whole block of processing, the communication device 41 sends the speed and location information at the current time to the server device 50.

[0190] S202: When the communication unit 31 of the server device 50 receives speed and location information, it executes... Figure 10 The processing. More specifically, server device 50 performs... Figure 10 S11 to S15. In S13, the determination unit 32 determines whether a complete process is in progress based on information obtained from the moving body 220 that indicates whether a complete process is being executed. In S14, based on the same information obtained from the moving body 220 as in S14, the determination unit 32 determines whether the vehicle has crossed the boundary between the buffer zone 232 and the application area of ​​the system program of Ver.2 before the completion of a complete process. In S15, a process is performed to calculate the speed required to complete processes 1 to 3 before the automatic four-wheeled vehicle 223 crosses the boundary between the buffer zone 232 and the application area of ​​the system program of Ver.2.

[0191] S203: The communication unit 31 sends the intention to reduce the speed, along with the speed calculated to complete processes 1 to 3, to the automatic four-wheeled vehicle 223. Furthermore, the communication unit 31 instructs the automatic four-wheeled vehicle 223 to switch firmware immediately after the completion of a single processing step.

[0192] S204: The communication device 41 of the automatic four-wheeled vehicle 223 receives the speed, and the speed control unit 23 controls the speed with the speed as the upper limit.

[0193] S205: When the entire process is completed, the firmware switching unit switches from firmware Ver.A to firmware Ver.B.

[0194] In addition, the server device 50 and the first embodiment Figure 13 Similarly, after a complete processing step is completed in the mobile body, the automatic four-wheeled vehicle 223 is stopped from performing any processing other than switching firmware from the Ver.A firmware, which is compatible with the system application area of ​​Ver.1, to the Ver.B firmware, which is compatible with the system application area of ​​Ver.2, after a certain period of time has elapsed. Furthermore, if the server device 50 receives a notification that the firmware switching process from Ver.A to Ver.B has not started even after a certain period of time, the automatic four-wheeled vehicle 223 is enabled to perform any processing other than firmware switching.

[0195] Furthermore, the server device 50 and the first embodiment Figure 12 Similarly, before the automatic four-wheel vehicle 223 starts a whole block of processing, it is asked about any bad situations in the case of not performing whole block processing. If it is determined that there are no bad situations, the automatic four-wheel vehicle 223 stops the whole block of processing and switches from the firmware of Ver.A to the firmware of Ver.B.

[0196] <Main Effects>

[0197] According to this embodiment, in addition to the effects of the first embodiment, the server device 50 determines the speed at which processing 1 to processing 3 are completed before the automatic four-wheeled vehicle 223 crosses the boundary between the buffer zone 232 and the application area of ​​the system program of Ver.2, thereby reducing the load on the vehicle.

[0198] [Other Application Examples]

[0199] This invention is not limited to the specific embodiments disclosed above, and various modifications and alterations can be made without departing from the scope of the claims.

[0200] For example, server device 50 can be a virtual server in addition to a physically existing server.

[0201] Furthermore, while this embodiment describes firmware switching using a mobile device as an example, a person can also carry an information processing device that executes the firmware. For example, if a person carries a smartphone, the smartphone switches to the firmware required by the destination device. The smartphone determines the speed at which processing 1 to 3 is completed before crossing the boundary between the buffer zone 232 and the application area of ​​the system program in Ver.2, and instructs the user via sound and display. The smartphone can also display the speed on a wearable terminal such as a watch.

[0202] Furthermore, this embodiment describes the case of switching from firmware Ver. A to firmware Ver. B, but the automatic driving control device 12 similarly switches from firmware Ver. B to firmware Ver. A. The switching method can be the same as the switching from firmware Ver. A to firmware Ver. B.

[0203] Furthermore, this embodiment describes the application of a new system program in a smart city, but the area where the new system program is applied is not limited to smart cities. For example, the new system program can also be applied to prefectures, municipalities within prefectures, parts of municipalities, parts of private land, etc.

[0204] also, Figure 6 , Figure 7 The structure example is divided according to the main functions to facilitate understanding of the processing of the autonomous driving system 10. This invention is not limited to the method or name of the division of processing units. The processing of the autonomous driving system 10 can also be divided into more processing units based on the processing content. Furthermore, it is also possible to divide the processing units so that one processing unit contains more processing.

[0205] The functions of the embodiments described above can be implemented by one or more processing circuits. Here, "processing circuit" in this specification refers to devices such as processors that are programmed to perform functions by software, such as processors installed by electronic circuits, ASICs (Application Specific Integrated Circuits), DSPs (digital signal processors), FPGAs (field programmable gate arrays), and conventional circuit modules designed to perform the functions described above.

[0206] This application claims priority based on Japanese Patent Application No. 2024-046701, filed on March 22, 2024, the entire contents of which are incorporated herein by reference. -Explanation of reference numerals-

[0207] 10. Autonomous driving system

[0208] 40 Navigation devices

[0209] 50 server devices.

Claims

1. A program, characterized in that, The information processing device mounted on the mobile body shall perform the following steps: Determine whether the device is moving from the first region to the second region; While moving towards the second region, determine whether it is in the execution of a predefined block of processing; While the entire processing block is being executed and the current time point is maintained, it is determined whether to enter the second region before the entire processing block is completed. as well as If it is determined that the process of the entire block being processed is to be completed before entering the second area, the movement speed is controlled so that the process of the entire block is completed before entering the second area, and then the movement speed is increased.

2. The procedure according to claim 1, wherein, The mobile body is capable of switching between a first firmware adapted to the system in the first region and a second firmware adapted to the system in the second region. The information processing device shall perform the following steps: After completing the entire process, immediately switch from the first firmware to the second firmware.

3. The procedure according to claim 2, wherein, Let x be the distance from the current location of the moving body to the boundary between the first region and the second region. Set the velocity of the moving object at the current time point to v. Let s be the time required until the entire block of processing is completed. Let n be a real number greater than 1. When the distance x is less than or equal to n×v×s In the step of controlling the moving speed, the moving speed is controlled to be less than x / n×s.

4. The procedure according to claim 2, wherein, Let x be the distance from the current location of the moving body to the boundary between the first region and the second region. Set the velocity of the moving object at the current time point to v. Let s be the time required until the entire block of processing is completed. Let t be the time required to switch from the first firmware adapted to the system in the first region to the second firmware adapted to the system in the second region. Let n be a real number greater than 1. When the distance x is less than or equal to n×v×(s+t), In the step of controlling the moving speed, the moving speed is controlled to be less than x / {n×(s+t)}.

5. The procedure according to claim 3, wherein, Set the start time of the entire block of processing to T1. Let Tx be the end time of the x-th operation in the entire processing block. Let Rx be the proportion of time required for the x-th operation in the entire processing block. The time s required until the entire block of processing is completed is expressed as s = (Tx - T1) / Σ x K=1 R k To calculate, or, The time s required until the entire block of processing is completed is the maximum value of past records of the time required until the entire block of processing is completed.

6. The procedure according to claim 4, wherein, Set the start time of the entire block of processing to T1. Let Tx be the end time of the x-th operation in the entire processing block. Let Rx be the proportion of time required for the x-th operation in the entire processing block. The time s required until the entire block of processing is completed is expressed as s = (Tx - T1) / Σ x K=1 R k To calculate, or, The time s required until the entire block of processing is completed is the maximum value of past records of the time required until the entire block of processing is completed.

7. The procedure according to claim 1, wherein, The information processing device shall perform the following processing: After the entire process is completed, after a certain period of time, all processes except for the process of switching from the first firmware adapted to the system of the first region to the second firmware adapted to the system of the second region are stopped.

8. The procedure according to claim 7, wherein, If the process of switching from the first firmware to the second firmware has not started even after the specified time, it is possible to perform processes other than the process of switching from the first firmware to the second firmware.

9. The procedure according to claim 2, wherein, The information processing device shall perform the following steps: Before starting the entire processing block, query the system for adverse conditions that would prevent the entire processing block from being executed. The information processing device shall perform the following processing: If no adverse situation is reported, the entire processing block is suspended. Switching from the first firmware to the second firmware.

10. A program, characterized in that, The server device that communicates with the mobile device via the network performs the following steps: Based on the location information of the moving body, determine whether the moving body is moving from the first area to the second area; While moving towards the second region, based on the information obtained from the moving body, it is determined whether a predefined block of processing is in progress; While the entire processing block is being executed and the current time point is maintained, it is determined whether to enter the second region before the entire processing block is completed. as well as If it is determined that the movement body will enter the second region before the completion of the entire processing block, the movement speed of the moving body is controlled so that the entire processing block is completed before entering the second region, and then the moving body enters the second region.

11. The procedure according to claim 10, wherein, The mobile body is capable of switching between a first firmware adapted to the system in the first region and a second firmware adapted to the system in the second region. The server device shall perform the following steps: Immediately after the entire process in the mobile body is completed, the mobile body is switched from the first firmware to the second firmware.

12. The procedure according to claim 11, wherein, Let x be the distance from the current location of the moving body to the boundary between the first region and the second region. Set the velocity of the moving object at the current time point to v. Let s be the time required until the entire block of processing is completed. Let n be a real number greater than 1. When the distance x is less than or equal to n×v×s In the step of controlling the moving speed, the moving speed is controlled to be less than x / n×s.

13. The procedure according to claim 11, wherein, Let x be the distance from the current location of the moving body to the boundary between the first region and the second region. Set the velocity of the moving object at the current time point to v. Let s be the time required until the entire block of processing is completed. Let t be the time required to switch from the first firmware adapted to the system in the first region to the second firmware adapted to the system in the second region. Let n be a real number greater than 1. When the distance x is less than or equal to n×v×(s+t), In the step of controlling the moving speed, the moving speed is controlled to be less than x / {n×(s+t)}.

14. The procedure according to claim 12, wherein, Set the start time of the entire block of processing to T1. Let Tx be the end time of the x-th operation in the entire processing block. Let Rx be the proportion of time required for the x-th operation in the entire processing block. The time s required until the entire block of processing is completed is expressed as s = (Tx - T1) / Σ x K=1 R k To calculate, or, The time s required until the entire block of processing is completed is the maximum value of past records of the time required until the entire block of processing is completed.

15. The procedure according to claim 13, wherein, Set the start time of the entire block of processing to T1. Let Tx be the end time of the x-th operation in the entire processing block. Let Rx be the proportion of time required for the x-th operation in the entire processing block. The time s required until the entire block of processing is completed is expressed as s = (Tx - T1) / Σ x K=1 R k To calculate, or, The time s required until the entire block of processing is completed is the maximum value of past records of the time required until the entire block of processing is completed.

16. The procedure according to claim 10, wherein, The server device shall perform the following processing: After the entire process in the mobile body is completed, after a certain period of time, the mobile body stops all processing except for the process of switching from the first firmware adapted to the system of the first region to the second firmware adapted to the system of the second region.

17. The procedure according to claim 16, wherein, If the server device receives a notification that the process of switching from the first firmware to the second firmware has not started even after the specified period of time, it is able to perform processes other than the process of switching from the first firmware to the second firmware.

18. The procedure according to claim 11, wherein, The server device shall perform the following steps: Before starting the processing of the entire block, the mobile body receives an inquiry regarding adverse situations where the processing of that entire block is not performed. The server device shall perform the following processing: If it is determined that there is no adverse condition, the mobile body stops the entire process and switches from the first firmware to the second firmware.

19. An information processing device, characterized in that, The procedure for executing any one of claims 1, 2, 4 to 9 is mounted on a mobile body.

20. An information processing device, characterized in that, The procedure of claim 3 is executed and mounted on a mobile body.

21. A server device, characterized in that, The procedure for performing any one of claims 10, 11, 13 to 18.

22. A server device, characterized in that, Perform the procedure of claim 12.

23. A mobile body, characterized in that, Speed ​​control is performed by an information processing device mounted on a mobile body that executes the program of any one of claims 1, 2, 4 to 9.

24. A mobile body, characterized in that, Speed ​​control is performed by an information processing device mounted on a mobile body that executes the program of claim 3.

25. A mobile body, characterized in that, Speed ​​control is performed by a server device that executes the program of any one of claims 10, 11, 13 to 18.

26. A mobile body, characterized in that, Speed ​​control is performed by a server device that executes the program of claim 12.

Citation Information

Patent Citations

  • Navigation device for vehicle

    JP1998153437A

  • Application execution apparatus for mobile body

    JP2007120973A

  • System, program, method, and information processing device

    JP2024046701A