Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/production' into update_xml_2023…
Browse files Browse the repository at this point in the history
…0920
  • Loading branch information
Puttichai committed Jan 15, 2024
2 parents 4ab294d + dd0d774 commit cfdf549
Show file tree
Hide file tree
Showing 41 changed files with 712 additions and 259 deletions.
104 changes: 104 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
name: CI

on:
push:

jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: ['3.9']
os: [ubuntu-20.04]
architecture: ["x64"]

steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
if: ${{ matrix.python-version != 'pyston' }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
architecture: ${{ matrix.architecture }}
- name: Set up APT
run: |
sudo apt-get update -y
sudo apt-get -y install dirmngr gnupg apt-transport-https liblog4cxx-dev libopenscenegraph-dev libcoin-dev libsoqt520-dev
sudo apt-get -y install g++ gfortran git pkg-config debhelper gettext zlib1g-dev libminizip-dev libxml2-dev liburiparser-dev libpcre3-dev libgmp-dev libmpfr-dev qtbase5-dev libqt5opengl5-dev libavcodec-dev libavformat-dev libswscale-dev libsimage-dev libode-dev libqhull-dev libann-dev libhdf5-serial-dev liblapack-dev libboost-iostreams-dev libboost-regex-dev libboost-filesystem-dev libboost-system-dev libboost-thread-dev libboost-date-time-dev libboost-test-dev libmpfi-dev ffmpeg libtinyxml-dev libflann-dev sqlite3 libccd-dev libeigen3-dev libgpgme-dev libgpgmepp-dev
sudo apt-get update -y
sudo apt-get -y install cmake-data cmake cmake-curses-gui ninja-build
- name: Set up Python modules
run: |
python3 -m pip install nose==1.3.7 six==1.16.0
python3 -m pip install numpy==1.24.3 IPython==8.14.0
python3 -m pip install https://github.com/cielavenir/sympy/releases/download/0.7.1-py3/sympy-0.7.1-py3.tar.gz
python3 -m pip install scipy==1.10.1
- name: Install RapidJSON
run: |
set -e
git clone https://github.com/Tencent/rapidjson.git && mkdir rapidjson/build
cd rapidjson/build
# there are no stable version available
cmake .. -GNinja -DRAPIDJSON_HAS_STDSTRING=ON -DRAPIDJSON_BUILD_DOC=OFF -DRAPIDJSON_BUILD_EXAMPLES=OFF -DRAPIDJSON_BUILD_TESTS=OFF
ninja -j4 && sudo ninja install
cd ../..
- name: Install ASSIMP
run: |
set -e
git clone https://github.com/assimp/assimp.git && mkdir assimp/build
cd assimp/build
git checkout v5.2.5
cmake .. -GNinja
ninja -j4 && sudo ninja install
cd ../..
- name: Install Fcl
run: |
set -e
git clone https://github.com/rdiankov/fcl.git && mkdir fcl/build
cd fcl/build
git checkout origin/trimeshContactPoints20200813
cmake .. -GNinja -DFCL_BUILD_TESTS=OFF
ninja -j4 && sudo ninja install
cd ../..
- name: Install Pybind11
# Need patched version of pybind11:
# File "/usr/local/lib/python3.11/site-packages/openravepy/_openravepy_/__main__.py", line 180, in main
# for type in InterfaceType.values.values():
# ^^^^^^^^^^^^^^^^^^^^
# AttributeError: type object 'openravepy._openravepy_.openravepy_int.InterfaceTy' has no attribute 'values'. Did you mean: 'value'?
run: |
set -e
git clone https://github.com/pybind/pybind11.git && mkdir pybind11/build
cd pybind11/build
# git remote add woody https://github.com/woodychow/pybind11.git
# git fetch woody
git remote add ciel https://github.com/cielavenir/pybind11.git
git fetch ciel
git checkout ciel/v2.9_ty
cmake .. -GNinja -DPYBIND11_TEST=OFF -DPythonLibsNew_FIND_VERSION=3
ninja -j4 && sudo ninja install
cd ../..
- name: Install msgpack-c
run: |
set -e
git clone https://github.com/msgpack/msgpack-c && mkdir msgpack-c/build
cd msgpack-c/build
git checkout cpp-6.0.0
cmake .. -GNinja -DMSGPACK_BUILD_EXAMPLES=OFF -DMSGPACK_BUILD_TESTS=OFF
ninja -j4 && sudo ninja install
cd ../..
- name: Install
run: |
set -e
mkdir -p build
cd build
cmake .. -GNinja -DUSE_PYBIND11_PYTHON_BINDINGS=ON -DOPT_PYTHON=OFF
ninja -j4 && sudo ninja install
cd ..
- name: Basic Test
# setup-python does not look at /usr/local/lib
# todo: check other tests
run: |
PYTHONPATH=/usr/local/lib/python3.9/site-packages OPENRAVE_DATA=$PWD/src python3 -m nose test/test_controller.py
6 changes: 3 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ set( CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS TRUE )

# Define here the needed parameters
set (OPENRAVE_VERSION_MAJOR 0)
set (OPENRAVE_VERSION_MINOR 131)
set (OPENRAVE_VERSION_PATCH 3)
set (OPENRAVE_VERSION_MINOR 136)
set (OPENRAVE_VERSION_PATCH 1)
set (OPENRAVE_VERSION ${OPENRAVE_VERSION_MAJOR}.${OPENRAVE_VERSION_MINOR}.${OPENRAVE_VERSION_PATCH})
set (OPENRAVE_SOVERSION ${OPENRAVE_VERSION_MAJOR}.${OPENRAVE_VERSION_MINOR})
message(STATUS "Compiling OpenRAVE Version ${OPENRAVE_VERSION}, soversion=${OPENRAVE_SOVERSION}")
Expand Down Expand Up @@ -417,7 +417,7 @@ find_package(LibXml2 REQUIRED)

add_library(openrave_gpgme IMPORTED INTERFACE)
if (OPT_ENCRYPTION)
find_package(Gpgmepp 1.14 REQUIRED)
find_package(Gpgmepp 1.13 REQUIRED)
target_link_libraries(openrave_gpgme INTERFACE Gpgmepp)
target_compile_definitions(openrave_gpgme INTERFACE "OPENRAVE_ENCRYPTION=1")
endif()
Expand Down
74 changes: 71 additions & 3 deletions docs/source/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,81 @@ ChangeLog
Unreleased
==========

* When loading connected body, also have to prefix "grippername" and "grippernames"

Version 0.131.3
Version 0.136.1
===============

* Support reading of `grippername` under `manipulator` from XML files.

Version 0.136.0
===============

* Set correct geometry group name for fclspace

Version 0.135.2
===============

* Fix the issue that grabbed bodies are not checked for collision when their grabbing links are not collision-enabled.

Version 0.135.1
===============

* Fixed a dictionary inside gripperInfo be wiped out after modification.
* Optimize collision checking by FCL for GeometryType.Container and GeometryType.Cage.

Version 0.135.0
===============

* Add an OBB intersection check function

Version 0.134.2
===============

* Fixed ExtractAll not returning removed bodies correctly

Version 0.134.1
===============

* Fixed QtCoinViewer SetUserText, fixing compilation

Version 0.134.0
===============

* Add AABBFromOrientedBox

* Add ViewerBase::SetUserText

Version 0.133.3
===============

* Fix changing bias for the configuration jitterer and support more dofs than the arm joints.
* Fix `KinBody::RegrabAll` to not accidentally invalidate `Grabbed::_setGrabberLinkIndicesToIgnore`.

Version 0.133.2
===============

* Fix not initializing grabbed bodies to self-collision checker when cloning KinBody, restoring grabbed state from the state saver.
* Fix cloning _listNonCollidingLinksWhenGrabbed to different env

Version 0.133.1
===============

* Fix cache of FCLCollisionManagerInstance for self-collision checker wasn't cleared for previously grabbed bodies even when they were removed from the env.

* Fix initializing _listNonCollidingLinksWhenGrabbed based on incorrect grabbed bodies when grabbed bodies are shuffled between creation of Grabbed and Grabbed::ComputeListNonCollidingLinks.

Version 0.133.0
===============

* Fix nonAdjacentLinks and _listNonCollidingLinksWhenGrabbed were affected by collision callbacks.

Version 0.132.0
===============

* Fix bugs around multiple grabbed bodies
1. Self-collision between grabbed bodies were checked even after the grabbed body was released under the certain condition.
2. When cloning a kinbody with multiple grabbed bodies, `Grabbed::_listNonCollidingLinksWhenGrabbed` was not copied properly. caused `std::vector` range error.
* When loading connected body, also have to prefix "grippername" and "grippernames"

Version 0.131.2
===============

Expand Down
4 changes: 3 additions & 1 deletion include/openrave/collisionchecker.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,9 @@ enum CollisionOptions
CO_ActiveDOFs = 0x10,
CO_AllLinkCollisions = 0x20, ///< if set then all the link collisions will be returned inside CollisionReport::vLinkColliding. Collision is slower because more pairs have to be checked.
CO_AllGeometryCollisions = 0x40, ///< if set, then will return the collisions of all the colliding geometries. Do not need to explore all pairs of links once the first pair is found. This option can be slow.
CO_AllGeometryContacts = 0x80, ///< if set, then will return the contact points of all the colliding geometries. Do not need to explore all pairs of links once the first pair is found. This option can be slow.
CO_AllGeometryContacts = 0x80, ///< if set, then will return the contact points of all the colliding geometries. Do not need to explore all pairs of links once the first pair is found. This option can be slow.

CO_IgnoreCallbacks = 0x100 ///< if set, then will not use the registered collision callbacks.
};

/// \brief action to perform whenever a collision is detected between objects
Expand Down
Loading

0 comments on commit cfdf549

Please sign in to comment.