back to home

viamrobotics / rdk

Viam Server - Robotic Development Kit

162 stars
129 forks
39 issues
GoC++Python

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing viamrobotics/rdk in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/viamrobotics/rdk)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

RDK (Robot Development Kit) Viam provides an open source robot architecture that provides robotics functionality via simple APIs **Website**: viam.com **Documentation**: docs.viam.com **Cloud App**: app.viam.com Contact • Discord: • Support: If you have a bug or an idea, please open an issue here. Building and Using Dependencies • Install . • Run to install dev environment requirements. • This also installs some client side git hooks. Build and Run • Build: . Then run • Run without building: Example with a dummy configuration: . Examples • CustomResources - example for creating custom resources. SDKs Multiple SDKs are available for writing client applications that interface with the Viam RDK. • Go: Provided by this repository here. Documentation can be found here • Python: Docs, Repository • Typescript: Docs, Repository • C++: Docs, Repository • Rust: Repository Environment Variable Settings | **Environment Variable** | **Behavior** | **Default Value** | |-------------------------------------|----------------------------------------------------------------|----------------------| | VIAM_RESOURCE_CONFIGURATION_TIMEOUT | Duration for which resources are allowed to (re)configure. | 1 minute | | VIAM_MODULE_STARTUP_TIMEOUT | Duration for which modules are allowed to startup. | 5 minutes | Development Sign the Contribution Agreement before submitting pull requests. API The API is defined with Protocol Buffers/gRPC which can be found at https://github.com/viamrobotics/api. Conventions • Write tests! • Follow this Go Style Guide. • Run and . • Run and commit resulting frontend artifacts. • Use imperative mood for commits (see Git Documentation). • Prefer metric SI prefixes where possible (e.g. millis) https://www.nist.gov/pml/weights-and-measures/metric-si-prefixes. The type of measurement (e.g. meters) is not necessary if it is implied (e.g. rulerLengthMillis). Committing • Follow git's guidance on commit messages: > Describe your changes in imperative mood, e.g. "make xyzzy do frotz" > instead of "[This patch] makes xyzzy do frotz" or "[I] changed xyzzy > to do frotz", as if you are giving orders to the codebase to change > its behavior. Try to make sure your explanation can be understood > without external resources. Instead of giving a URL to a mailing list > archive, summarize the relevant points of the discussion. License check We run LicenseFinder in CI to verify 3rd-party libraries have approved software licenses. If you add a 3rd-party library to this project, please run to verify that it can be used. For maintainers, here is how to make some common license policy changes: Permit a new license (e.g. MIT): https://github.com/pivotal/LicenseFinder#permitting-licenses Associate a license with a dependency that is not automatically detected or incorrect: https://github.com/pivotal/LicenseFinder#setting-licenses Approve a dependency outright - please include a reason if you do this! https://github.com/pivotal/LicenseFinder#approving-dependencies Please refer to the README at https://github.com/pivotal/LicenseFinder for information on how to make other license policy changes. Windows Support (Experimental) Windows 10 22H2 and up. Development Dependencies • bash (from https://gitforwindows.org/ is good) • gcc (from https://www.msys2.org/ is good) Support is not well tested yet. Known Issues • motion planning is not supported yet (https://viam.atlassian.net/browse/RSDK-1772). • video streaming is not supported yet (https://viam.atlassian.net/browse/RSDK-1771). • rpc: ICE between local connections found via ICE mDNS appear to be flaky in the establishment phase. License Copyright 2021-2024 Viam Inc. AGPLv3 - See LICENSE file