Repository Summary
Description | Collect data intelligently from your robots. |
Checkout URI | https://github.com/alec-bell/agent.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2023-03-06 |
Dev Status | UNKNOWN |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | robotics ros ros2 sensorsurf |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
interfaces | 0.0.0 |
woeden_agent | 1.0.0 |
README
This repository contains the source code for the SensorSurf agent which runs directly on a robot. The major capabilities this agent enables are:
- Recording data on events.
- Offloading on a poor connection.
- Maintaining a rolling buffer.
- Exposing a live view.
Using a local configuration, your robot is able to connect via MQTT to our backend using Eclipse Paho library.
Getting started
Before running the agent, make sure you have completed both of the following prequisities:
- Create an account on SensorSurf.com.
- Run our setup script to configure your machine:
$ wget https://raw.githubusercontent.com/SensorSurf/woeden-scripts/master/setup.bash
$ bash setup.bash
Once these steps are completed, you may proceed with either running our pre-built Docker container image or building from source.
Running the Docker image
This one is easy. Run the command below to get started. If you do not wish for the container to always restart, then please be sure to remove the --restart always
option.
$ docker run -d \
--net=host \
--ipc=host \
--restart always \
-v ~/woeden:/woeden \
public.ecr.aws/woeden/agent:latest
Docker Compose files
We have a few Docker Compose files which can be used to test various system configurations.
-
root.docker-compose.yml
allows you to test the most common configuration, where Docker can access all ROS topics locally as root. -
nonroot.docker-compose.yml
allows you to test a configuration where the local ROS setup only permits access to the current, non-root user. -
discovery.docker-compose.yml
allows you to test a ROS system running a discovery server.
Building from source
Follow the steps below to build from source, starting with dependencies:
- Install the Eclipse Paho MQTT C library with the following set of commands.
$ git clone git@github.com:eclipse/paho.mqtt.c.git
$ cd paho.mqtt.c
$ mkdir build
$ cmake . -DPAHO_WITH_SSL=TRUE -Bbuild
$ make
$ sudo make install
- Install a few dependencies with pip.
$ python3 -m pip install \
stream-zip \
imageio \
pandas \
rosbags
- Source your ROS environment, if you haven’t already done so.
$ source /opt/ros/humble/setup.bash
- Clone this repository into your ROS workspace (or wherever you want it) and compile with the following commands.
$ git clone git@github.com:SensorSurf/agent.git
$ cd agent
$ git checkout humble
$ colcon build
- Source your workspace install, and run the agent.
$ source install/setup.bash
$ ros2 launch launch.py