---
title: Install micro-ros-agent on Linux | Snap Store
description: Get the latest version of micro-ros-agent for Linux - Bridge between
  micro-ROS applications and ROS 2
url: https://snapcraft.io/micro-ros-agent
---

# micro-ros-agent

[eProsima](https://snapcraft.io/publisher/eprosima "View all snaps from eProsima")

* [eProsima](https://snapcraft.io/publisher/eprosima "View all snaps from eProsima")
* [Development](https://snapcraft.io/search?categories=development)
* [Devices and IoT](https://snapcraft.io/search?categories=devices-and-iot)

latest/stable 0+git.b317a90

Contact us about
[Snaps and IoT ›](https://snapcraft.io/about/contact-us)

Install latest/stable of micro-ros-agent

This channel hasn't been updated in a while. It might be unmaintained and have stability or security issues.

---

**Install using the command line**

```
sudo snap install micro-ros-agent
```

Don't have snapd? [Get set up for snaps](https://snapcraft.io/docs/installing-snapd).

---

### Package name

* micro-ros-agent

---

### License

* Apache-2.0

---

### Last updated

* 9 June 2022 - latest/stable
* 20 January 2023 - latest/edge

This snap hasn't been updated in a while. It might be unmaintained and have stability or security issues.

---

##### Report a Snap Store violation

* [Report this Snap](https://snapcraft.io/micro-ros-agent#report-snap-modal)

---

* [Description](https://snapcraft.io/micro-ros-agent#tab-description)
* [Security](https://snapcraft.io/micro-ros-agent#tab-security)

#### Bridge between micro-ROS applications and ROS 2

Micro-ROS, whose default implementation is based on eProsima's
Micro XRCE-DDS middleware, is composed of client applications
which interact with the ROS 2 world by means of an Agent.
This agent keeps tracks of the entities created by means of
requests performed on the microcontroller side, and uses them
to communicate with the ROS 2 dataspace.

Being an extension of the Micro XRCE-DDS Agent, the micro-ROS
agent supports being run by the user like this:

```
   $ micro-ros-agent --help
```

In addition, the Agent supports running as a service that can be
enabled with:

```
   $ snap set micro-ros-agent daemon=true
```

If the service is enabled, by default it uses the `udp4` transport on
port 8888. The following parameters can be changed (these are
specific to the service, the `micro-ros-agent` command simply
takes command-line arguments, but the capabilities are the same):

* `transport`. Supported transports are `udp4`, `udp6`, `tcp4`,
  `tcp6`, `serial`, and `pseudoterminal`. Default is `udp4`. Change
  with:

  ```
   $ snap set micro-ros-agent transport="new transport"
  ```
* `middleware`. Supported kinds of middleware are `ced`, `rtps`, and
  `dds`. Default is `dds`. Change with:

  ```
   $ snap set micro-ros-agent middleware="new middleware"
  ```
* `verbosity`. Supported verbosity levels are 0-6, defaulting to 4.
  Change with:

  ```
   $ snap set micro-ros-agent verbosity="selected verbosity"
  ```
* `discovery`. Enable or disable the discovery server. Defaults to
  "false". Change with:

  ```
   $ snap set micro-ros-agent discovery="true or false"
  ```
* `discovery-port`. Port on which the discovery server (see above)
  listens. Defaults to 7400. Change with:

  ```
   $ snap set micro-ros-agent discovery-port="selected port"
  ```
* `p2p-port`. Port to use for the P2P profile. Change with:

  ```
   $ snap set micro-ros-agent p2p-port="selected port"
  ```
* `port`. Port on which the agent listens. Only applicable to one of
  the UDP or TCP transports (see above). Defaults to 8888. Change with:

  ```
   $ snap set micro-ros-agent port="selected port"
  ```
* `baudrate`. Baud rate to use when accessing serial ports. Only
  applicable when using the `serial` or `pseudoterminal` transport.
  Defaults to 115200. Change with:

  ```
   $ snap set micro-ros-agent baudrate="baud rate"
  ```
* `device`. The serial device to use. Only applicable when using the
  `serial` or `pseudoterminal` transport. Change with:

  ```
   $ snap set micro-ros-agent device="device path"
  ```

When using the snap with a serial device, some steps need to be taken
in order to establish a successful connection:

* Refresh your local installation of the snap `core` package:

  ```
   $ sudo snap refresh core --edge
  ```
* Enable the hotplug feature and restart the `snapd` daemon:

  ```
   $ sudo snap set core experimental.hotplug=true
   $ sudo systemctl restart snapd
  ```
* After plugging the microcontroller to the serial port, execute
  the `snap interface serial-port` command. You should see something
  like this:

  ```
     name:    serial-port
     summary: allows accessing a specific serial port
     plugs:
       - micro-ros-agent
     slots:
     - snapd:cp2102cp2109uartbrid (allows accessing a specific serial port)
  ```
* Connect your snap image to the desired serial port (replace accordingly):

  ```
   $ snap connect micro-ros-agent:serial-port snapd:cp2102cp2109uartbrid
  ```

After this, you can execute your snap as usual,
using `micro-ros-agent serial -d <serial-dev>`.

---

## Install micro-ros-agent on your Linux distribution

Choose your Linux distribution to get detailed installation instructions. If yours is not shown, get more details on the [installing snapd documentation](https://snapcraft.io/docs/installing-snapd).

[### Arch Linux](https://snapcraft.io/install/micro-ros-agent/arch)

[### CentOS](https://snapcraft.io/install/micro-ros-agent/centos)

[### Debian](https://snapcraft.io/install/micro-ros-agent/debian)

[### elementary OS](https://snapcraft.io/install/micro-ros-agent/elementary)

[### Fedora](https://snapcraft.io/install/micro-ros-agent/fedora)

[### KDE Neon](https://snapcraft.io/install/micro-ros-agent/kde-neon)

[### Kubuntu](https://snapcraft.io/install/micro-ros-agent/kubuntu)

[### Manjaro](https://snapcraft.io/install/micro-ros-agent/manjaro)

[### Pop!\_OS](https://snapcraft.io/install/micro-ros-agent/pop)

[### openSUSE](https://snapcraft.io/install/micro-ros-agent/opensuse)

[### Red Hat Enterprise Linux](https://snapcraft.io/install/micro-ros-agent/rhel)

[### Ubuntu](https://snapcraft.io/install/micro-ros-agent/ubuntu)
