technicianai / agent

Collect data intelligently from your robots.

Home Page:https://www.sensorsurf.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SensorSurf


SensorSurf



Docker   •   Docs   •   Blog   •   Try it out   •   Contact us   •   LinkedIn


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:

  1. Create an account on SensorSurf.com.
  2. 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:

  1. 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
  1. Install a few dependencies with pip.
$ python3 -m pip install \
    stream-zip \
    imageio \
    pandas \
    rosbags
  1. Source your ROS environment, if you haven't already done so.
$ source /opt/ros/humble/setup.bash
  1. 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
  1. Source your workspace install, and run the agent.
$ source install/setup.bash
$ ros2 launch launch.py

About

Collect data intelligently from your robots.

https://www.sensorsurf.com

License:GNU Affero General Public License v3.0


Languages

Language:C++ 79.7%Language:Python 14.4%Language:CMake 2.7%Language:Shell 2.0%Language:Dockerfile 1.2%