> For the complete documentation index, see [llms.txt](https://docs-origin.anvil.bot/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs-origin.anvil.bot/user-guides/starting-robot-operation.md).

# Starting Robot Operation

Get your robots moving and ready for work

{% hint style="danger" %}
Warning! Anvil's software stack is NOT compatible with other open source controls and teleoperations applications from Enactic and LeRobot. These repositories often re-calibrate motor positions and modify communication interfaces. Please contact us before recalibrating your robots as they may break Anvil compatibility.&#x20;
{% endhint %}

## DevBox Login Credentials

Use the following default credentials to login on your Devbox:

{% code fullWidth="false" %}

```
Username: anvil
Password: anvil1234
```

{% endcode %}

While you can make other user accounts and use the Devbox like a normal machine, the workcell is configured to work with the `anvil` user account; all software and hardware is developed and tested for that workflow.

## Navigate to anvil-loader

Your Anvil Devbox should automatically open a terminal inside the `anvil-loader` directory on every boot. If not, navigate there yourself in a terminal:&#x20;

```bash
cd /home/anvil/anvil-loader
```

## Confirm the hardware config

Inside `anvil-loader`, the `.env.config` file contains various configuration settings for the system, stored and subsequently accessed as environment variables. These come with sensible defaults, but can be adjusted to suit preferences. The only one you *need* to ensure is correct is the `ARMS_CONTROL_CONFIG_FILE`.

This variable references one of the `yaml` files in the `config` directory, which contains different supported hardware configurations for the robots. You just need to pick the file that matches your physical setup. You can see all options for these files with:

```dotenv
ls ~/anvil-loader/config
```

For example, if you have two sets of OpenARM arms and you want to use the Leader-Follower control paradigm, notice the `openarm_leader_follower_teleop.yaml` file in the `config` directory, and make sure that's what's referenced in your `.env.config`:

```dotenv
ARMS_CONTROL_CONFIG_FILE=openarm_leader_follower_teleop.yaml
```

If you have one single OpenYAM and you want to use the left Quest controller to pilot it, you might pick `openyam_quest_teleop_single_left.yaml`:

```dotenv
ARMS_CONTROL_CONFIG_FILE=openyam_quest_teleop_single_left.yaml
```

{% hint style="info" %}
Make sure to double-check the difference between the original OpenARM and the OpenARM 2.0!\
\
The default config is for the original OpenARM, but new orders ship with the OpenARM 2.0, which requires its own configs (`openarm_v2_quest_teleop.yaml` etc)
{% endhint %}

## Connect the Quest

{% content-ref url="/pages/waJSGVjaetFSm3HrhzbF" %}
[Setting up your Quest](/user-guides/setting-up-your-quest.md)
{% endcontent-ref %}

## Run the control stack

Once in `anvil-loader`, you can start the stack with Docker Compose:

```bash
anvil@anvil-workcell:~/anvil-loader$ docker compose up
```

You should see your robots move to their home positions, at which point they're ready for operation.

## Power down the robots

Powering down the robots is as simple as pressing `Ctrl+C` in the terminal where you ran `docker compose up`.

If you can't do that (eg. you chose to run in detached mode with `docker compose up -d` to avoid seeing logs), you can of course shut things off by taking down the compose stack inside `anvil-loader`:

```bash
anvil@anvil-workcell:~/anvil-loader$ docker compose down
```

## Get updates

Getting the latest software updates is as easy as updating the repository:

```bash
anvil@anvil-workcell:~/anvil-loader$ git pull
```

You can get more information about `anvil-loader` here:

{% content-ref url="/pages/znx5ABnZhsC8AaWI4IKO" %}
[Anvil Loader](/user-guides/starting-robot-operation/anvil-loader.md)
{% endcontent-ref %}

## Next Steps

If you are using Quest Teleop, learn the controls for the robot in our guide on [Controlling the Robots](/user-guides/controlling-the-robots.md).

If you are doing leader-follower, you can skip straight to the [Collecting Data](/user-guides/collecting-data.md) guide.

Debugging tips can be found in our [Troubleshooting](/reference/troubleshooting.md) section.<br>
