@@ -6,22 +6,55 @@ roswire
6
6
.. image :: https://travis-ci.org/ChrisTimperley/roswire.svg?branch=master
7
7
:target: https://travis-ci.org/ChrisTimperley/roswire
8
8
9
- Feature Roadmap
10
- ----------------
11
9
12
- * Supports ROS 1 and 2.
13
- * Differential coverage collection for C, C++ and Java.
14
- * Highly parallel: interact with multiple systems simultaneously.
15
- * Mutation API: quickly apply random source-code mutations to SUTs.
16
- * Simulation speedup.
17
- * Plugin-based simulator support.
18
- * Modular oracles.
19
- * Trace collection and streaming.
10
+ ROSWire is a Python library for static and dynamic analysis of
11
+ containerised `Robot Operating System (ROS) <https://ros.org >`_
12
+ applications.
13
+ Given a `Docker <https://docker.org >`_ image,
14
+ ROSWire provides an interface for statically querying the application
15
+ (e.g., by automatically discovering its types, packages, messages, service,
16
+ actions, etc.), as well as an interface for dynamically generating and
17
+ interacting with instances of that application in the form of Docker
18
+ containers (e.g., service calls, bag recording, topic publishing and
19
+ subscribing, catkin builds, etc.).
20
20
21
21
22
- Applications
22
+ Features
23
+ --------
24
+
25
+ * **Package Discovery: ** finds all ROS packages within a Docker image.
26
+ * **Definition Discovery: ** finds and parses all message, service and
27
+ action formats into readable data structures.
28
+ * **Message Serialisation: ** converts ROS messages from YAML or binary
29
+ to readable data structures and vice versa.
30
+ * **Bag Manipulation: ** efficiently parses
31
+ `rosbag <http://wiki.ros.org/rosbag >`_ files, which can then be inspected,
32
+ manipulated, and saved to disk.
33
+ * **Bag Playback: ** safely replay bag files inside containers.
34
+
35
+
36
+ Installation
23
37
------------
24
38
25
- * Property-based testing
26
- * Blackbox fuzzing
27
- * Model discovery
39
+ To avoid interfering with the rest of your system (i.e., to avoid Python's
40
+ equivalent of DLL hell), we strongly recommend that
41
+ ROSWire is installed within a
42
+ `virtualenv <https://virtualenv.pypa.io/en/latest/ >`_ or
43
+ `pipenv <https://pipenv.readthedocs.io/en/latest/ >`_ (pipenv is preferred).
44
+
45
+ From within the virtual environment (i.e., the `virtualenv ` or `pipenv `),
46
+ the latest stable release of ROSWire on `PyPI <https://pypi.org >`_
47
+ can be installed via:
48
+
49
+ .. code :: shell
50
+
51
+ (roswire) $ pip install roswire
52
+
53
+ ROSWire can also be installed from source:
54
+
55
+ .. code :: shell
56
+
57
+ $ git clone [email protected] :ChrisTimperley/roswire roswire
58
+ $ cd roswire
59
+ $ pipenv shell
60
+ (roswire) $ pip install .
0 commit comments