IP Library Granted Patent US 11,076,022
Granted Patent B2
US 11,076,022 · App. 16/237,351 · Granted Jul 27, 2021

Systems and methods for implementing robotics frameworks

Inventors: Tirthkumar Nilaykumar Pandya (Foster City, CA); Siliang Li (Pittsburgh, PA); Jonathan Nichols (San Francisco, CA)
Assignee: Lyft, Inc.
H04L67/40G06F9/547G06F30/20H04L63/0236H04L67/12
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,076,022
App. No.
16/237,351
Granted
Jul 27, 2021
Kind
B2
Abstract

Systems, methods, and non-transitory computer-readable media can initiate a robotics framework configured to enable inter-process communications between a plurality of services implemented on the robotics framework, the plurality of services configured to operate at least some features of a vehicle. A function call is received from a first service of the plurality of services. The function call instructs the robotics framework to generate a network socket. A virtual network socket configured to receive data from a data log is generated based on the function call. The virtual network socket simulates data transmission with a hardware device over a real network socket.

Claims (45)

1. A computer-implemented method comprising:

initiating, by a computing system, a robotics framework configured to enable inter-process communications between a plurality of services implemented on the robotics framework, the plurality of services configured to operate at least some features of a vehicle;

receiving, by the computing system, a function call from at least one device driver implemented as a first service of the plurality of services for instructing the robotics framework to generate a network socket;

generating, by the computing system, a virtual network socket that is based on the function call and configured to receive data associated with the plurality of services from a data log, wherein the function call specifies at least one type of the data to be received by the device driver and a callback function; and

transmitting, by the computing system, the at least one type of the data via the virtual network socket to the at least one device driver by using the callback function specified in the function call, wherein the virtual network socket simulates transmission of the at least one type of the data with a hardware device over a real network socket.

2. The computer-implemented method of claim 1 , wherein the function call comprises a first IP address and a first port.

3. The computer-implemented method of claim 2 , wherein the data log comprises a plurality of data transmissions from one or more sensors on a vehicle.

4. The computer-implemented method of claim 3 , wherein each data transmission in the plurality of data transmissions is associated with an IP address and a port.

5. The computer-implemented method of claim 2 , further comprising:

identifying a first data transmission in the data log associated with the first IP address and the first port, and

providing, via the robotics framework, the first data transmission to the at least one device driver implemented as the first service based on the first data transmission being associated with the first IP address and the first port.

6. The computer-implemented method of claim 5 , wherein

the virtual network socket is generated based on the first IP address and the first port.

7. The computer-implemented method of claim 1 , wherein the virtual network socket is generated instead of the real network socket based on a determination that the robotics framework is in a test mode.

8. The computer-implemented method of claim 1 , further comprising:

receiving a second function call from a second service of the plurality of services instructing the robotics framework to generate a second network socket; and

generating, based on the second function call, a real network socket connecting the robotics framework to a hardware device, wherein the real network socket is generated instead of a virtual network socket based on a determination that the robotics framework is not in a test mode.

9. The computer-implemented method of claim 8 , further comprising:

receiving, using the real network socket, a first set of data from the hardware device, and

utilizing a callback function identified in the second function call to provide, via the robotics framework, the first set of data to the second service.

10. The computer-implemented method of claim 8 , wherein the first set of data is associated with the at least one type of the data and stored in the data log.

11. A system comprising:

at least one processor; and

a memory storing instructions that, when executed by the at least one processor, cause the system to perform:

initiating a robotics framework configured to enable inter-process communications between a plurality of services implemented on the robotics framework, the plurality of services configured to operate at least some features of a vehicle;

receiving a function call from at least one device driver implemented as a first service of the plurality of services for instructing the robotics framework to generate a network socket;

generating a virtual network socket that is based on the function call and configured to receive data associated with the plurality of services from a data log, wherein the function call specifies at least one type of the data to be received by the device driver and a callback function; and

transmitting the at least one type of the data via the virtual network socket to the at least one device driver by using the callback function specified in the function call, wherein the virtual network socket simulates transmission of the at least one type of the data with a hardware device over a real network socket.

12. The system of claim 11 , wherein the function call comprises a first IP address and a first port.

13. The system of claim 12 , wherein the data log comprises a plurality of data transmissions from one or more sensors on a vehicle.

14. The system of claim 13 , wherein each data transmission in the plurality of data transmissions is associated with an IP address and a port.

15. The system of claim 14 , wherein the instructions, when executed by the at least one processor, further cause the system to perform:

identifying a first data transmission in the data log associated with the first IP address and the first port, and

providing, via the robotics framework, the first data transmission to the at least one device driver implemented as the first service based on the first data transmission being associated with the first IP address and the first port.

16. A non-transitory computer-readable storage medium including instructions that, when executed by at least one processor of a computing system, cause the computing system to perform a method comprising:

initiating a robotics framework configured to enable inter-process communications between a plurality of services implemented on the robotics framework, the plurality of services configured to operate at least some features of a vehicle;

receiving a function call from at least one device driver implemented as a first service of the plurality of services for instructing the robotics framework to generate a network socket;

generating a virtual network socket that is based on the function call and configured to receive data associated with the plurality of services from a data log, wherein the function call specifies at least one type of the data to be received by the device driver and a callback function; and

transmitting the at least one type of the data via the virtual network socket to the at least one device driver by using the callback function specified in the function call, wherein the virtual network socket simulates transmission of the at least one type of the data with a hardware device over a real network socket.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the function call comprises a first IP address and a first port.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the data log comprises a plurality of data transmissions from one or more sensors on a vehicle.

19. The non-transitory computer-readable storage medium of claim 18 , wherein each data transmission in the plurality of data transmissions is associated with an IP address and a port.

20. The non-transitory computer-readable storage medium of claim 17 , wherein the instructions, when executed by the at least one processor of the computing system, further cause the computing system to perform:

identifying a first data transmission in the data log associated with the first IP address and the first port, and

providing, via the robotics framework, the first data transmission to the at least one device driver implemented as the first service based on the first data transmission being associated with the first IP address and the first port.

Assignments (4)
CHANGE OF NAME Recorded Jun 22, 2023
From: WOVEN PLANET NORTH AMERICA, INC.
To: WOVEN BY TOYOTA, U.S., INC.
Reel/Frame 064065/0601 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2021
From: LYFT, INC.; BLUE VISION LABS UK LIMITED
To: WOVEN PLANET NORTH AMERICA, INC.
Reel/Frame 056927/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2021
From: LYFT, INC.; MAGNA AUTONOMOUS SYSTEMS, LLC
To: LYFT, INC.; MAGNA AUTONOMOUS SYSTEMS, LLC
Reel/Frame 057434/0623 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2019
From: PANDYA, TIRTHKUMAR NILAYKUMAR; LI, SILIANG; NICHOLS, JONATHAN
To: LYFT, INC.
Reel/Frame 048252/0028 →