IP Library › Granted Patent US 12,358,128
Granted Patent B2
US 12,358,128 · App. 17/824,969 · Granted Jul 15, 2025

Modular robot control architecture

Inventor: Matthew Pleli (Castro Valley, CA)
Assignee: Rivian IP Holdings, LLC
B25J9/161B25J9/1656
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 12,358,128
App. No.
17/824,969
Granted
Jul 15, 2025
Kind
B2
Abstract

A robot is disclosed. The robot includes at least one robot component and a controller. The controller is configured to control the at least one robot component based at least on: (1) an Input/Output (I/O) map comprising a plurality of blocks that are each associated with predefined inputs and outputs; and (2) an application associated with at least one block of the plurality of blocks, the application executes the associated predefined inputs and outputs to control the at least one robot component.

Claims (32)

1. A robot, comprising:

at least one robot component; and

a controller configured to control the at least one robot component based at least on:

(1) an Input/Output (I/O) map comprising a plurality of groups of a same number of predefined inputs and outputs; and

(2) an application associated with at least one group of inputs and outputs of the plurality of groups of inputs and outputs, the application executes inputs and outputs of the at least one group of inputs and outputs to control the at least one robot component according to the at least one group of inputs and outputs of the I/O map.

2. The robot of claim 1 , wherein each of the plurality of groups is preconfigured to associate with a single application.

3. The robot of claim 1 , wherein the control of the at least one robot component is further based on another application being associated with another group of the plurality of groups, the another group being different than the at least one group, and wherein the controller utilizes the predefined inputs and outputs defined by the another group to control the at least one robot component while executing the another application.

4. The robot of claim 1 , wherein the control of the at least one robot component is based on a plurality of applications, and wherein each of the plurality of groups and each of the plurality of applications are modular, such that applications of the plurality of applications are stackable and interchangeable where each of the plurality of groups is configured to associate with any of the plurality of applications and each of the plurality of applications is configured to associate with any of the plurality of groups prior to an association being made between the plurality of groups and the plurality of applications for control of the at least one robot component.

5. The robot of claim 1 , wherein each of the plurality of groups is configured with a same number of inputs and outputs grouped together.

6. The robot of claim 1 , wherein the application includes multiple sub-applications and each of the multiple sub-applications is configured to associate with a different group of the plurality of groups than other sub-applications of the multiple sub-applications.

7. The robot of claim 1 , wherein the controller is configured to receive instructions from a system controller, and wherein the controller is configured to provide feedback thereto based on predefined feedback inputs and outputs paired with the at least one group of inputs and outputs in the I/O map.

8. A controller for a robot, comprising:

one or more processors; and

memory storing computer-executable instructions including:

an Input/Output (I/O) map comprising a plurality of groups of a same number of predefined inputs and outputs, and

an application associated with at least one group of inputs and outputs of the plurality of groups of inputs and outputs,

wherein when the application executes inputs and outputs of the at least one group of inputs and outputs, the computer-executable instructions cause the one or more processors to control at least one robot component of the robot according to the at least one group of inputs and outputs of the I/O map.

9. The controller of claim 8 , wherein each of the plurality of groups is preconfigured to associate with a single application.

10. The controller of claim 8 , wherein, in the memory, another application is associated with another group of the plurality of groups, the another block being different than the at least one group, and wherein when the another application is executed, the computer-executable instructions cause the one or more processors to control the at least one robot component utilizing the predefined inputs and outputs of the another group.

11. The controller of claim 8 , wherein the memory storing computer-executable instructions includes a plurality of applications including the application, and wherein each of the plurality of groups and each of the plurality of applications are modular, such that applications of the plurality of applications are stackable and interchangeable where each of the plurality of groups is configured to associate with any of the plurality of applications and each of the plurality of applications is configured to associate with any of the plurality of groups prior to an association being made between the plurality of groups and the plurality of applications in the memory.

12. The controller of claim 8 , wherein each of the plurality of groups is configured with a same number of inputs and outputs grouped together.

13. The controller of claim 8 , wherein the application includes multiple sub-applications and each of the multiple sub-applications is configured to associate with a different group of the plurality of groups than other sub-applications of the multiple sub-applications.

14. A method for configuring a robot, comprising:

providing an Input/Output (I/O) map, to the robot, the I/O map comprising a plurality of blocks groups of a same number of predefined inputs and outputs; and

associating an application with at least one group of inputs and outputs of the plurality of groups of inputs and outputs,

wherein the application executes inputs and outputs of the at least one group of inputs and outputs to control at least one robot component of the robot according to the at least one group of inputs and outputs of the I/O map.

15. The method of claim 14 , wherein each of the plurality of groups is preconfigured to associate with a single application.

16. The method of claim 14 , further comprising associating another application with another group of the plurality of groups, the another group being different than the at least one group, wherein control of the at least one robot component while executing the another application utilizes the predefined inputs and outputs defined by the another group.

17. The method of claim 14 , further comprising associating a plurality of applications with the plurality of groups, each being associated with a distinct group of the plurality of groups, wherein each of the plurality of groups and each of the plurality of applications are modular, such that applications of the plurality of applications are stackable and interchangeable where each of the plurality of groups is configured to associate with any of the plurality of applications and each of the plurality of applications is configured to associate with any of the plurality of groups prior to an association being made between the plurality of groups and the plurality of applications.

18. The method of claim 14 , wherein each of the plurality of groups is configured with a same number of inputs and outputs grouped together.

19. The method of claim 14 , wherein the application includes multiple sub-applications and each of the multiple sub-applications is associated with a different group of the plurality of groups than other sub-applications of the multiple sub-applications.

20. The method of claim 14 , wherein the I/O map further defines a plurality of feedback slots defining feedback inputs and outputs for communication with a system controller connected to the robot, each of the plurality of feedback slots being paired with a respective one of the plurality of groups, the method further comprising associating the application with the feedback slot paired with each of the at least one groups.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2022
From: PLELI, MATTHEW
To: RIVIAN AUTOMOTIVE, LLC
Reel/Frame 060021/0939 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2022
From: RIVIAN AUTOMOTIVE, LLC
To: RIVIAN IP HOLDINGS, LLC
Reel/Frame 060021/0984 →
Continuity (1)
Related Publication 20230405810A1 · Dec 21, 2023
References Cited (7)
US 8667475B2 · Chang · 2014 [cited by examiner]
US 10613520B2 · Ueno · 2020 [cited by examiner]
US 11198219B2 · Ojima · 2021 [cited by examiner]
US 20140364989A1 · Hosaka · 2014 [cited by examiner]
US 20160349739A1 · Satake · 2016 [cited by examiner]
US 20180264651A1 · Ojima · 2018 [cited by examiner]
Automated Tool Path Planning for Industrial Robot in Material Handling in Warehouse Automation (Year: 2018). [cited by examiner]