Skip to content

Commit 387d6bb

Browse files
authored
Merge branch 'master' into robots_constraints_docs
2 parents 89f7e57 + ce2797a commit 387d6bb

File tree

109 files changed

+6554
-3552
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

109 files changed

+6554
-3552
lines changed

.deepsource.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
version = 1
22

3-
test_patterns = ["*/tests/**"]
3+
test_patterns = ["tests/**"]
44

55
[[analyzers]]
66
name = "python"

.github/workflows/build.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: build
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
pull_request:
8+
branches:
9+
- master
10+
11+
jobs:
12+
build:
13+
runs-on: ${{ matrix.os }}
14+
strategy:
15+
matrix:
16+
name: [
17+
"windows-py38",
18+
"macos-py37",
19+
"ubuntu-py36",
20+
]
21+
include:
22+
- name: "windows-py38"
23+
os: windows-latest
24+
python-version: 3.8
25+
- name: "macos-py37"
26+
os: macos-latest
27+
python-version: 3.7
28+
- name: "ubuntu-py36"
29+
os: ubuntu-latest
30+
python-version: 3.6
31+
steps:
32+
- uses: actions/checkout@v2
33+
- name: Set up Python ${{ matrix.python-version }}
34+
uses: actions/setup-python@v2
35+
with:
36+
python-version: ${{ matrix.python-version }}
37+
- name: Install dependencies
38+
run: |
39+
python -m pip install --upgrade pip
40+
python -m pip install cython --install-option="--no-cython-compile"
41+
- name: Install
42+
run: |
43+
python -m pip install --no-cache-dir -r requirements-dev.txt
44+
- name: Run tests
45+
run: |
46+
invoke test

.github/workflows/integration.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: integration
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
pull_request:
8+
branches:
9+
- master
10+
11+
jobs:
12+
build:
13+
name: ubuntu-py38-integration
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: actions/checkout@v2
17+
- name: Set up Python 3.8
18+
uses: actions/setup-python@v2
19+
with:
20+
python-version: 3.8
21+
- name: Set up docker containers
22+
run: |
23+
docker run -p 19997:19997 --name vrep_rfl -d gramaziokohler/vrep-rfl
24+
docker-compose -f "docs/backends/files/ur5-demo/docker-compose.yml" up -d --build
25+
docker ps -a
26+
- name: Install dependencies
27+
run: |
28+
python -m pip install --upgrade pip
29+
python -m pip install cython --install-option="--no-cython-compile"
30+
- name: Install
31+
run: |
32+
python -m pip install --no-cache-dir -r requirements-dev.txt
33+
- name: Run linter
34+
run: |
35+
invoke lint
36+
- name: Run integration tests
37+
run: |
38+
invoke test --doctest --codeblock
39+
- name: Tear down docker containers
40+
run: |
41+
docker-compose -f "docs/backends/files/ur5-demo/docker-compose.yml" down
42+
docker rm -f vrep_rfl
43+
- name: Generate docs
44+
if: ${{ success() }}
45+
run: |
46+
invoke docs

.github/workflows/ironpython.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: ironpython
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
pull_request:
8+
branches:
9+
- master
10+
11+
jobs:
12+
build:
13+
name: windows-ironpython
14+
runs-on: windows-latest
15+
steps:
16+
- uses: actions/checkout@v2
17+
- name: Setting IronPython path
18+
run: echo "::set-env name=IRONPYTHONPATH::$env:GITHUB_WORKSPACE/src"
19+
- name: Install dependencies
20+
run: |
21+
choco install ironpython --version=2.7.8.1
22+
ipy -X:Frames -m ensurepip
23+
ipy -X:Frames -m pip install --no-deps compas roslibpy
24+
ipy -X:Frames -m pip install ironpython-pytest
25+
- name: Run tests
26+
run: |
27+
ipy tests/ipy_test_runner.py

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,9 @@ celerybeat-schedule
8585
venv/
8686
ENV/
8787

88+
# Pycharm project settings
89+
.idea/
90+
8891
# Spyder project settings
8992
.spyderproject
9093
.spyproject
@@ -106,6 +109,7 @@ ENV/
106109
# ------------------------------------------------------------------------------
107110

108111
docs/reference/generated/
112+
docs/generated/
109113

110114
*.3dmbak
111115
*.rhl

.travis.yml

Lines changed: 0 additions & 84 deletions
This file was deleted.

AUTHORS.rst

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@ If you use COMPAS FAB in a project, please use the following citation:
1818
Gandia, A. and
1919
Ma, Z. and
2020
Ariza, I. and
21-
Pacher, M.
21+
Pacher, M. and
22+
Lytle, B. and
23+
Huang, Y.
2224
},
2325
howpublished={https://github.com/compas-dev/compas\_fab/},
2426
note={Gramazio Kohler Research, ETH Z\"{u}rich},
@@ -41,3 +43,5 @@ Authors
4143
* Zhao Ma <[email protected]> `@xarthurx <https://github.com/xarthurx>`_
4244
* Inés Ariza <[email protected]> `@inesariza <https://github.com/inesariza>`_
4345
* Matteo Pacher <[email protected]> `@matteo-pacher <https://github.com/matteo-pacher>`_
46+
* Beverly Lytle <[email protected]> `@beverlylytle <https://github.com/beverlylytle>`_
47+
* Yijiang Huang <[email protected]> `@yijiangh <https://github.com/yijiangh>`_

CHANGELOG.rst

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,23 @@ Unreleased
1313

1414
**Added**
1515

16+
* Added ``ClientInterface``, ``PlannerInterface`` and various backend feature interfaces
17+
* Added implementations of these interfaces for ROS and V-REP
18+
* Added client for PyBullet
19+
1620
**Changed**
1721

22+
* Updated to ``COMPAS 0.16.1``
23+
* Renamed ``compas_fab.robots.Robot.to_local_coords`` to ``compas_fab.robots.Robot.to_local_coordinates``
24+
* Renamed ``compas_fab.robots.Robot.to_world_coords`` to ``compas_fab.robots.Robot.to_world_coordinates``
25+
* Backend clients have been restructured according to the new interfaces
26+
* The signatures of all kinematics, motion planning and planning scene management methods have been homogenized across backend clients and within ``Robot``
27+
* All examples have been updated to reflect these changes
28+
1829
**Fixed**
1930

31+
* Attached collision meshes are included in inverse kinematics calculations in ROS
32+
2033
**Deprecated**
2134

2235
**Removed**
@@ -43,9 +56,9 @@ Unreleased
4356
* ``MoveItPlanner``: ``inverse_kinematics`` takes now instance of ``Configuration`` and ``robot``
4457
* Property :class:`compas_fab.robots.Robot.artist` does not try to scale robot
4558
geometry if links and/or joints are not defined.
46-
* In :class:``compas_fab.robots.constraints.JointConstraint``, added ``tolerance_above`` and
59+
* In :class:`compas_fab.robots.constraints.JointConstraint`, added ``tolerance_above`` and
4760
``tolerance_below`` for allowing asymmetrical constraints.
48-
* In :class:``compas_fab.robots.Robot``, changed the ``constraints_from_configuration``
61+
* In :class:`compas_fab.robots.Robot`, changed the ``constraints_from_configuration``
4962
function with ``tolerances_above`` and ``tolerances_below``.
5063
* :meth:`compas_fab.robots.CollisionMesh.scale` now takes a scale factor
5164
instead of a :class:`compas.geometry.Scale` instance as an argument.
@@ -82,7 +95,7 @@ Unreleased
8295
* Added ``attach_tool``, ``detach_tool``, ``draw_attached_tool``, ``from_tool0_to_attached_tool`` and ``from_attached_tool_to_tool0`` to ``Robot``
8396
* Added ``attach_tool`` and ``detach_tool`` to ``Artist``
8497
* Added ``add_attached_tool`` and ``remove_attached_tool`` to ``PlanningScene``
85-
* Added redraw/clear layer support to `RobotArtist` for Rhino
98+
* Added redraw/clear layer support to :class:`~compas_fab.rhino.RobotArtist` for Rhino
8699
* Added material/color support for DAE files on ROS file loader
87100

88101
**Changed**
@@ -92,7 +105,7 @@ Unreleased
92105
**Fixed**
93106

94107
* Fixed mutable init parameters of ``Configuration``, ``JointTrajectoryPoint``, ``JointTrajectory`` and ``Robot.basic``.
95-
* Fixed interface of `RobotArtist` for Blender
108+
* Fixed interface of :class:`~compas_fab.blender.RobotArtist` for Blender
96109
* Fixed DAE parsing of meshes with multiple triangle sets
97110

98111
0.9.0
@@ -220,7 +233,7 @@ Unreleased
220233

221234
**Deprecated**
222235

223-
* The aliases for ``Frame`` and ``Transformation`` will be removed, in the future, import directly from `compas` core.
236+
* The aliases for ``Frame`` and ``Transformation`` will be removed, in the future, import directly from ``compas`` core.
224237

225238
0.4.0
226239
----------

CONTRIBUTING.rst

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,9 @@ We could always use more documentation, whether as part of the
5858
introduction/examples/usage documentation or API documentation in docstrings.
5959

6060
Documentation is written in `reStructuredText <http://docutils.sourceforge.net/rst.html>`_
61-
and use `Sphinx <http://sphinx-doc.org/index.html>`_ to generate the HTML output.
62-
63-
The project uses Numpy style docstrings, see
64-
`Sphinx extension Napoleon's documentation <https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_numpy.html>`_
65-
for examples.
61+
and use `Sphinx <http://sphinx-doc.org/index.html>`_ with
62+
`numpy-style docstrings <https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_numpy.html>`_
63+
to generate the HTML output.
6664

6765
Once you made the documentation changes locally, run the documentation generation::
6866

@@ -88,3 +86,10 @@ The best way to send feedback is to file an issue on
8886

8987
* Explain in detail how it would work.
9088
* Keep the scope as narrow as possible, to make it easier to implement.
89+
90+
A Note on Architecture for Backend Clients
91+
------------------------------------------
92+
93+
To maintain consistency from one backend client to another and to promote modularity,
94+
we make use of several interfaces. Please reference :ref:`Note on Architecture <architecture>`
95+
for more details on how to add or amend a backend client.

ISSUE_TEMPLATE.md

Lines changed: 0 additions & 20 deletions
This file was deleted.

0 commit comments

Comments
 (0)