https://github.com/cmower/operator_node
Tools for mapping interface commands to operator signals.
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
Repository
Tools for mapping interface commands to operator signals.
Basic Info
Statistics
- Stars: 0
- Watchers: 3
- Forks: 1
- Open Issues: 0
- Releases: 0
Metadata Files
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
joy_in(sensor_msgs/Joy)
Raw signals from interface driver.
Published topics
joy_out(sensor_msgs/Joy)
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_node/signal(std_msgs/Float64MultiArray)
Operator signals.
Published topics
operator_node/window(std_msgs/Float64MultiArray)
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
joy(sensor_msgs/Joy)
Interface signals.
Published topics
operator_node/signal(std_msgs/Float64MultiArray)
Operator signals.
Services
operator_node/toggle(std_srvs/SetBool)
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
joy(sensor_msgs/Joy)
Interface signals.
Published topics
operator_node/signal(std_msgs/Float64MultiArray)
Operator signals.
Services
operator_node/toggle(std_srvs/SetBool)
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(sensor_msgs/Joy)
Joy messages representing keyboard events.
Owner
- Name: Chris Mower
- Login: cmower
- Kind: user
- Location: London, UK
- Company: Huawei Technologies R&D
- Website: https://cmower.github.io/
- Repositories: 55
- Profile: https://github.com/cmower
Senior Research Scientist at Huawei Technologies R&D.
GitHub Events
Total
Last Year
Committers
Last synced: over 1 year ago
Top Committers
| Name | 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)