Redis key value guidelines

Issue #220 resolved
Samir Menon repo owner created an issue

We need a coherent strategy to leverage redis in a systematic manner. For now, we're going to use c++ style namespace strategies with successive scopes to determine how robot information should be presented.

There's a tradeoff here. For once, we're in the process of serializing directly to json, which would be awesome for web compat. On the other hand, json seems to be a layer of complexity that we might not want for a variety of simple things. Moreover, to support the json stuff requires users to have somewhat more experience with programming. So perhaps we should push for that once we have either more sophisticated tutorials, or a core javascript programmer on the team who can shunt most of the work on to some scl libs.

Long story short, here's one proposal:

// Whether the robot is active
scl::robot::<robot-string-id> = {0,1}

// A robot's state
scl::robot::<robot-string-id>::sensors::q 
scl::robot::<robot-string-id>::sensors::dq

// A command we'd like to send to the robot
scl::robots::<robot-string-id>::actuators::fgc

This should provide a simple high level interface to standardize basic robot io.

We'll also provide a simple webpage to monitor a robot's state using these key value pairs.

This is going to be important for the upcoming human-robot collaborative manipulation stuff..

Comments (5)

  1. Samir Menon reporter

    For simplicity, in this interface we'll assume that every client is robot-specific. So we won't try to provide more meta information. We might reconsider this at a later date.

  2. Log in to comment