https://github.com/cmower/operator_node

Tools for mapping interface commands to operator signals.

https://github.com/cmower/operator_node

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 2 committers (50.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (7.4%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Tools for mapping interface commands to operator signals.

Basic Info
  • Host: GitHub
  • Owner: cmower
  • License: bsd-2-clause
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 190 KB
Statistics
  • Stars: 0
  • Watchers: 3
  • Forks: 1
  • Open Issues: 0
  • Releases: 0
Archived
Created over 6 years ago · Last pushed about 4 years ago
Metadata Files
Readme License

README.md

operator_node

The operator_node package provides tools for mapping raw interface commands to operator signals.

Nodes

joy_remap

Recieves joy messages from a joynode and republishes at a given sampling frequency. Sometimes I have noticed the sampling frequency of a joynode does not always match the observed frequency (the difference is typically fairly small but significant).

Parameters

  • ~hz (int, default: 100)

Sampling frequency.

Subscribed topics

Raw signals from interface driver.

Published topics

Raw signals from interface driver published at given sampling frequency.

operator_interface_logger

This node collects a log of the previous N operator signals and publishes this including timestamps as a flattened std_msgs/Float64MultiArray message. The window duration is given in time (seconds).

You can think of the log as being a (1+Nd)-by-N array that has been flattened by columns. N is the number of signals in the current buffer. Nd is the number of dimensions of the operator signal, and the 1 is for the time stamp.

Parameters

  • ~window_duration (float)

The operator signals recieved within this window of time will be published on each topic.

Subscribed topics

Operator signals.

Published topics

A list of operator signals recieved in the previous window of time. Note, a helper function in Python is provided named reconstruct_interface_log_msg, see example:

```python import rospy import operatornode from stdmsgs.msg import Float64MultiArray

Nd = 2 # number of dims for operator signal

def callback(msg): t, h = operatornode.parser.reconstructinterfacelogmsg(msg, Nd) print("-"*70) print(f"{t = }") print(f"{h = }")

rospy.initnode('test') rospy.Subscriber('operatornode/window', Float64MultiArray, callback) rospy.spin() ```

isometric_node.py

Scale the interface axes but ensure isometric.

Parameters

  • ~config/axes_idx (list[int])

Indicices of the axes to be used to generate operator signal.

  • ~config/scale (float, min: 0.0, max: inf, default: 1.0)

Maximum operator signal magnitude.

  • ~start_on_init (bool, default: False)

Start the subscriber on initialization. Otherwise use a service to toggle subscriber on/off.

Subscribed topics

Interface signals.

Published topics

Operator signals.

Services

Toggle the operator node on/off.

scale_node.py

Simply scale each interface axes.

Parameters

  • ~config/axes_idx (list[int])

Indicices of the axes to be used to generate operator signal.

  • ~config/scale (either: list[float], float, default: 1.0)

Maximum operator signal magnitude along each dimension.

  • ~start_on_init (bool, default: False)

Start the subscriber on initialization. Otherwise use a service to toggle subscriber on/off.

Subscribed topics

Interface signals.

Published topics

Operator signals.

Services

Toggle the operator node on/off.

keyboard_to_joy.py

Map keyboard events to sensor_msgs/Joy messages.

Parameters

  • ~config (dict)

Configuration file, see example in configs/.

  • ~hz (int, default: 100)

Sampling frequency.

Subscribed topics

  • keyboard/keyup (keyboard/Key)

Keyboard key-up events.

  • keyboard/keydown (keyboard/Key)

Keyboard key-down events.

Published topics

Joy messages representing keyboard events.

Owner

  • Name: Chris Mower
  • Login: cmower
  • Kind: user
  • Location: London, UK
  • Company: Huawei Technologies R&D

Senior Research Scientist at Huawei Technologies R&D.

GitHub Events

Total
Last Year

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 214
  • Total Committers: 2
  • Avg Commits per committer: 107.0
  • Development Distribution Score (DDS): 0.005
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Chris Mower c****r@e****k 213
Chris Mower c****r 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: over 1 year ago

All Time
  • Total issues: 0
  • Total pull requests: 4
  • Average time to close issues: N/A
  • Average time to close pull requests: 17 days
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.5
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • cmower (4)
Top Labels
Issue Labels
Pull Request Labels