https://github.com/ros-acceleration/robotic_processing_unit Skip to content Toggle navigation Sign up * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code + Explore + All features + Documentation + GitHub Skills + Blog * Solutions + By Plan + Enterprise + Teams + Compare all + By Solution + CI/CD & Automation + DevOps + DevSecOps + Case Studies + Customer Stories + Resources * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles + Repositories + Topics + Trending + Collections * Pricing [ ] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this organization All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} ros-acceleration / robotic_processing_unit Public * Notifications * Fork 0 * Star 16 A robot-specific processing unit. Contains CPUs, FPGAs and GPUs and maps ROS efficiently to them for best performance. 16 stars 0 forks Star Notifications * Code * Issues 0 * Pull requests 0 * Actions * Projects 0 * Security * Insights More * Code * Issues * Pull requests * Actions * Projects * Security * Insights ros-acceleration/robotic_processing_unit This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. main Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags 1 branch 0 tags Code * Clone HTTPS GitHub CLI [https://github.com/r] Use Git or checkout with SVN using the web URL. [gh repo clone ros-ac] Work fast with our official CLI. Learn more. * Open with GitHub Desktop * Download ZIP Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching Xcode If nothing happens, download Xcode and try again. Launching Visual Studio Code Your codespace will open once ready. There was a problem preparing your codespace, please try again. Latest commit @vmayoral vmayoral Update Milestone 1 ... 7f98627 Sep 29, 2022 Update Milestone 1 7f98627 Git stats * 8 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time imgs Add rest of resources Sep 24, 2022 mechanical Add rest of resources Sep 24, 2022 .gitignore Initial commit with resources Sep 24, 2022 README.md Update Milestone 1 Sep 29, 2022 View code [ ] Robotic Processing Unit Sponsoring the project Press coverage Goal Vision Milestones Build a Robotic Processing Unit BOM Assembly instructions Buy a Robotic Processing Unit Commercial Support README.md Robotic Processing Unit The Robotic Processing Unit (RPU^1) is a [INS:robot-specific processing unit that uses hardware acceleration and maps robotics computations efficiently to its CPUs, FPGAs and GPUs to obtain best performance:INS]. In particular, it specializes in improving the Robot Operating System (ROS 2) related robot computational graphs on underlying compute resources. [robotic_pr] * Robotic Processing Unit + Sponsoring the project o Press coverage + Goal o Vision o Milestones + Build a Robotic Processing Unit o BOM o Assembly instructions + Buy a Robotic Processing Unit + Commercial Support Sponsoring the project [accelerationrobotics_logo] This project was originally sponsored by Acceleration Robotics and driven by the ROS 2 Hardware Acceleration Working Group. We are open to additional sponsorships and collaborations. Contact here for sponsoring the Robotic Processing Unit (RPU) project. For commercial support regarding Robotic Processing Units, get commercial support here. If you're looking to buy a fully assembled unit, buy a Robotic Processing Unit here. Or instead, build your own Robot Processing Unit here. Press coverage * Acceleration Robotics announce and open sources ROBOTCORE(r), the first Robotic Processing Unit - specialized in ROS computations Goal Robotic Processing Units (RPUs) are robot brains, processing units for robots that map efficiently robot behaviors (programmed as ROS computational graphs) to underlying compute resources. They empower robots with the ability to [INS:react faster:INS], consume [INS:less power:INS], and deliver [INS:additional real-time:INS] capabilities. The goal of this project is to provide robotic architects a reference hardware blueprint for building hardware accelerated robotic brains. To do so, the project leverages existing off-the-shelf hardware acceleration development platforms will be used to prototype a robot-specific processing unit that performs best when it comes to ROS 2 and robot computational graphs. Vision The vision is that Robotic Processing Units will empower robots with the ability to react faster (lower latency, higher throughput), consume less power, and deliver additional real-time capabilities with their custom compute architectures that fit best the usual robotics pipelines. This includes tasks across sensing, perception, mapping, localization, motion control, low-level control and actuation. Milestones Milestone 1: first demonstrators - raise awareness * [*] Robotic Processing Unit (RPU) project announcement * [*] RFC to receive feedback and interest https://forms.gle/ d4rCCoLpx9ciPiau9 * [*] Use cases driving the architecture and the development + [*] Perception (image_pipeline and friends) o [*] perception_2nodes o [*] perception_3nodes o [ ] Maybe consider a more elaborated graph with multi-processing paths involving more complex CV crunching, e.g. HOG (Histogram of Oriented Gradients)? + [ ] [DEL:Navigation:DEL] o [ ] [DEL:Still in dicussions, open to feedback.:DEL] * [*] Partition work into demonstrators, prioritize and execute * [*] Disclose an initial hardware reference design of the Robotic Processing Unit (this repo) * [ ] Disclose benchmarking results and discuss (connected to ros-acceleration/community#10) Build a Robotic Processing Unit You can build your own Robotic Processing Unit by purchasing each individual part and 3D printing the corresponding mechanical parts. BOM Part Quantity Base (mechanical part) 1 Cover (mechanical part) 1 KR260 adapter (mechanical part) 1 AGX Orin adapter (mechanical part) 1 Kria KR260 robotics development kit 1 Jetson AGX Orin developer kit 1 PYBE30-Q24-S12-T DC-DC converter 1 M5 bolt (ISO 7046) 4 M3 bolt (ISO 7046) 14 M3 nut (DIN 934) 14 Assembly instructions Step Image Description Here's the exploded view of the Robotic Processing Unit. This should help guide the process of 0 [0_robotic_] building your own. Start by soldering the power wiring to the KR260 and AGX Orin boards separately. You need to do so on the power jack pins of each one of the robotics development kits^2. 1 [1_robotic_] Screw KR260 board to KR260 adapter with 4x M3 bolts (ISO7046) and 4x M3 nuts (DIN934). Screw AGX Orin board to AGX Orin adapter with the 2 [2_robotic_] same original bolts included in the development kit. Connect the previously soldered wires on both dev. 3 [3_robotic_] boards to the PYBE30-Q24-S12-T DC-DC converter. Power input should come from the AGX Orin and regulated output to the KR260. Screw the PYBE30-Q24-S12-T DC-DC converter, the AGX 4 [4_robotic_] orin and the KR260 to the Base. Use 10x M3 bolts (ISO7046) and 10x M3 nuts (DIN934). 5 [5_robotic_] Finally, fix the 4 holes of the cover and join the base and cover with 4x M5 bolts (ISO7046). Buy a Robotic Processing Unit ROBOTCORE(r) is a commercial solution of a robot-specific processing unit that helps map Robot Operating System (ROS) computational graphs to its CPUs, GPU and FPGA efficiently to obtain best performance. It empowers robots with the ability to react faster, consume less power, and deliver additional real-time capabilities. ROBOTCORE can be purchased here. With ROBOTCORE(r), Acceleration Robotics offers also the following ROS 2 API-compatible hardware acceleration tools and robot Intellectual Property (IP) cores (robot cores): * ROBOTCORE(r) Framework, a hardware acceleration framework for ROS and ROS 2. * ROBOTCORE(r) Cloud, tools to speed-up ROS 2 graphs with the cloud, and in the cloud. * ROBOTCORE(r) Perception, accelerated ROS 2 robotics perception stack. ROS 2-API compatible with default perception stack. * ROBOTCORE(r) Transform, accelerated ROS 2 coordinate transformations (tf2). ROS 2-API compatible with default tf2. [robotcore_] Commercial Support For commercial support while building on top of the Robotic Processing Unit project, reach out here. Footnotes 1. We're very aware that the RPU acronym is overloaded and also used to refer to other types of processing units including Remote Processing Unit, Ray Processing Unit, Real-time Processing Unit, Radio Processing Unit, Regional Processing Unit or RAID Processing Unit among others. See comparison for fun. - 2. You'll need to unscrew AGX Orin's 4 outer bolts and extract aluminum lower support to solder it properly. - About A robot-specific processing unit. Contains CPUs, FPGAs and GPUs and maps ROS efficiently to them for best performance. Topics acceleration cpu fpga robotics hardware gpu ros robots hardware-acceleration ros2 rpu hardwareaccelerated hardwareaccelerator robotic-processing-unit Resources Readme Stars 16 stars Watchers 1 watching Forks 0 forks Releases No releases published Packages 0 No packages published Footer (c) 2022 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.