# Control & Motion

## Logic that you write. Robots that respond.

Most robotics build time is spent making hardware respond at all. With Viam, declare your hardware in a JSON config, write control logic in Python, and see something move — no custom stack required.

[Read the docs](http://docs.viam.com/) [Talk to sales](/content/platform/demo-request/index.html)

## Deploy hardware in minutes. Then control it from anywhere.

Define your components in a single config. Viam-server pulls the driver and exposes your hardware through a consistent API. No driver installation, no dependency management, and no standing next to the robot to test.

- Consistent APIs for motors, arms, bases, and grippers across brands
- Swap hardware via JSON config without changing code
- Use pre-existing drivers in the Registry
- Instantly teleoperate from the browser before writing code

## Write control logic in the language you already know.

Stop wrestling with proprietary SDKs or low-level C++. Viam provides clean Python, Go, and TypeScript APIs that treat hardware (motors, servos, grippers, bases, arms) as high-level software objects.

- Standardized SetRPM, GoTo, and Grab commands in a few lines
- Move bases with MoveStraight or Spin without manual motor coordination

## Tell it where to go. Not how to get there.

For complex tasks (arms avoiding obstacles, mobile robots navigating to GPS waypoints) the motion service handles the heavy lifting. Define your space. Viam calculates the path, avoids collisions, and manages the frame math.

- Move arms and bases with a single command
- Path routing that avoids obstacles, static or camera-detected
- Frame math handled: you map the space, Viam does the geometry
- Built-in support for SLAM-based maps and GPS coordinates

## Write code on your laptop. Run it on your robot.

Viam treats your hardware like cloud infrastructure. Iterate locally, deploy remotely, and see results on live hardware. No standing next to the robot required.

- Secure connectivity through firewalls and NAT without VPNs
- Stream live sensor telemetry and camera feeds to your IDE
- Package logic as modules with built-in lifecycle management

## Built in 3 days. No fixed positions pre-programmed in.

Put a glass anywhere on the table. Two robotic arms, two cameras. One picks up the glass, the other pours. Just a JSON config, built-in vision, and control logic that does exactly what you'd write it to do.

[Viam dual-arm wine pouring demo](https://www.youtube.com/watch?v=UckyhD0BtW4)

## Change the config. Keep the code.

Viam is hardware-agnostic and runs on robot arms, cameras, sensors, motors, and boards across hundreds of manufacturers.

## Scaling is a config change.

The control logic you write on day one scales to a fleet of hundreds. No rewrites.

## Write the logic. Viam handles the rest.

Write the control logic that makes your product unique. Viam handles everything between your code and the hardware.
