Skip to content

Commit

Permalink
Merge pull request #157 from k-okada/action
Browse files Browse the repository at this point in the history
Add GithubAction, release 3.1.10
  • Loading branch information
fkanehiro authored Jun 10, 2022
2 parents eac8c03 + 823901b commit 5acd854
Show file tree
Hide file tree
Showing 24 changed files with 294 additions and 112 deletions.
43 changes: 43 additions & 0 deletions .github/workflows/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
on:
push:
branches:
# - master
pull_request:

env:
DISPLAY: '0:0'

jobs:
linuxs:
runs-on: ubuntu-latest
# continue-on-error: ${{ matrix.experimental }}
strategy:
fail-fast: false
matrix:
include:
- ROS_DISTRO: indigo
CONTAINER: ubuntu:14.04
- ROS_DISTRO: kinetic
CONTAINER: ubuntu:16.04
- ROS_DISTRO: melodic
CONTAINER: ubuntu:18.04
- ROS_DISTRO: noetic
CONTAINER: ubuntu:20.04

container: ${{ matrix.CONTAINER }}

steps:
- name: Checkout
uses: actions/checkout@v2

- name: remove esm repos
if: ${{ matrix.CONTAINER == 'ubuntu:14.04' }}
run: sudo rm /etc/apt/sources.list.d/ubuntu-esm-infra-trusty.list ## fix Err https://esm.ubuntu.com trusty-infra-security/main amd64 Packages, gnutls_handshake() failed: Handshake failed

- name: Run test
shell: bash
run: |
set -x
export ROS_DISTRO=${{ matrix.ROS_DISTRO }}
ls -al
. ./.travis.sh
31 changes: 31 additions & 0 deletions .github/workflows/trusty-hrpsys-util.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
diff --git a/util/simulator/CMakeLists.txt b/util/simulator/CMakeLists.txt
index beb53389..2fb81821 100644
--- a/util/simulator/CMakeLists.txt
+++ b/util/simulator/CMakeLists.txt
@@ -32,12 +32,20 @@ add_library(hrpsysext SHARED
PyShape.cpp
)

-find_package(Boost REQUIRED COMPONENTS python)
-target_link_libraries(hrpsysext
- Boost::python
- hrpsysUtil
- ${PYTHON_LIBRARIES}
- )
+find_package(Boost COMPONENTS python)
+if(Boost_python_FOUND) # Boost::python released since 1.67 https://www.boost.org/doc/libs/1_71_0/libs/python/doc/html/rn.html
+ target_link_libraries(hrpsysext
+ Boost::python
+ hrpsysUtil
+ ${PYTHON_LIBRARIES}
+ )
+else()
+ target_link_libraries(hrpsysext
+ boost_python
+ hrpsysUtil
+ ${PYTHON_LIBRARIES}
+ )
+endif()

set_target_properties(hrpsysext PROPERTIES PREFIX "")
set_target_properties(hrpsysext PROPERTIES SUFFIX ".so")
9 changes: 7 additions & 2 deletions .travis.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ apt-get install dpkg -y # for https://github.com/ros/rosdistro/issues/19481
# install: # Use this to install any prerequisites or dependencies necessary to run your build
apt-get install -qq -y f2c libopencv-dev libf2c2 libf2c2-dev doxygen cmake libeigen3-dev libjpeg-dev git jython libatlas-base-dev libboost-all-dev libpng-dev
apt-get install -qq -y collada-dom-dev || apt-get install -qq -y libcollada-dom2.4-dp-dev # libcollada-dom2.4 for melodic
apt-get install -qq -y ros-$ROS_DISTRO-openrtm-aist ros-$ROS_DISTRO-openrtm-aist-python ros-$ROS_DISTRO-mk ros-$ROS_DISTRO-rosbuild ros-$ROS_DISTRO-rostest ros-$ROS_DISTRO-roslang python-rosdep
apt-get install -qq -y ros-$ROS_DISTRO-openrtm-aist ros-$ROS_DISTRO-mk ros-$ROS_DISTRO-rosbuild ros-$ROS_DISTRO-rostest ros-$ROS_DISTRO-roslang
apt-get install -qq -y ros-$ROS_DISTRO-openrtm-aist-python || echo "try without openrtm-aist-python"
apt-get install -qq -y python-rosdep || apt-get install -qq -y python3-rosdep
cd $CI_SOURCE_PATH
# before_script: # Use this to prepare your build for testing e.g. copy database configurations, environment variables, etc.
source /opt/ros/$ROS_DISTRO/setup.bash
Expand All @@ -32,12 +34,15 @@ export ROS_PARALLEL_JOBS="-j2 -l2"
mkdir -p ~/ws/src
ln -sf ${CI_SOURCE_PATH} ~/ws/src/${REPOSITORY_NAME}
git clone http://github.com/fkanehiro/hrpsys-base ~/ws/src/hrpsys
patch -d ~/ws/src/hrpsys -p1 < ${CI_SOURCE_PATH}/.github/workflows/trusty-hrpsys-util.patch
sed -i "s@if(ENABLE_DOXYGEN)@if(0)@" ~/ws/src/hrpsys/CMakeLists.txt # disable doc generation
cd ~/ws
rosdep init
rosdep update
rosdep update --include-eol-distros
rosdep install -r -q -n --from-paths src --ignore-src --rosdistro $ROS_DISTRO -y || echo "use libpng-dev in package.xml"
catkin_make_isolated

if [[ "$ROS_DISTRO" == "noetic" ]]; then exit 0; fi
source devel_isolated/setup.bash
export ROS_PACKAGE_PATH=`pwd`/devel_isolated:$ROS_PACKAGE_PATH
export EXIT_STATUS=0; [ "`find devel_isolated/openhrp3/share/openhrp3 -iname '*.test'`" == "" ] && echo "[openhrp3] No tests ware found!!!" || find devel_isolated/openhrp3/share/openhrp3 -iname "*.test" -print0 | xargs -0 -n1 rostest || export EXIT_STATUS=$?; [ $EXIT_STATUS == 0 ]
Expand Down
100 changes: 100 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,106 @@
Changelog for package openhrp3
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

3.1.10 (2022-06-10)
-------------------

* hrplib/hrpModel

* [hrplib/hrpModel/ForwardDynamicsCBM.cpp] check equation num in solveUnknownAccels (`#155 <https://github.com/fkanehiro/openhrp3/issues/155>`_)
* [hrplib/hrpModel] Calculation of the mass of a portion of the kinematic chain (`#142 <https://github.com/fkanehiro/openhrp3/issues/142>`_)

* Add calcTotalMass to LinkTraverse
* Added calcJacobianDot to JointPath
* Calculation of the spatial velocity

* [hrplib/hrpModel/ModelNodeSet.cpp] change the way to check existence of children field (`#139 <https://github.com/fkanehiro/openhrp3/issues/139>`_)
* [hrpModel/JointPath.cpp] try to enforce joint limits in calcInverseKinetatics() (`#137 <https://github.com/fkanehiro/openhrp3/issues/137>`_)
* [hrplib/hrpModel/JointPath.cpp] add local_p arg for calcJacobian (`#127 <https://github.com/fkanehiro/openhrp3/issues/127>`_)

* fix local_p coordinate
* add local_p arg for calcJacobian

* hrplib/hrpPlanner

* [hrplib/hrpPlanner] fix warnings(-Wdelete-incomplete) (`#138 <https://github.com/fkanehiro/openhrp3/issues/138>`_)
* [hrplib/hrpPlanner/TimeUtil.cpp] add stdint.h to use uint64_t on arm, close `#123 <https://github.com/fkanehiro/openhrp3/issues/123>`_ (`#124 <https://github.com/fkanehiro/openhrp3/issues/124>`_)

* hrplib/hrpCollision

* [hrplib/hrpCollision] enable to bypass normal vector correction (`#141 <https://github.com/fkanehiro/openhrp3/issues/141>`_)
* [hrpCollision] add ColdetModelPair::operator=() (`#136 <https://github.com/fkanehiro/openhrp3/issues/136>`_)


* hrplib/hrpUtil

* [hrplib/hrpUtil/EasyScanner.cpp] Always use locale-free variant of strtod (`#144 <https://github.com/fkanehiro/openhrp3/issues/144>`_)
* [hrplib/hrpUtil/testEigen3d.cpp] Fix C++11 support (`#134 <https://github.com/fkanehiro/openhrp3/issues/134>`_)

* server/ModelLoader

* [server/ModelLoader/projectGenerator.cpp] write peridoic.rate to conf file (`#156 <https://github.com/fkanehiro/openhrp3/issues/156>`_)
* [server/ModelLoader/ColladaWriter.h] Apply abs when computing max_torque (`#153 <https://github.com/fkanehiro/openhrp3/issues/153>`_)
* [server/ModelLoader/ColladaWriter.h] Fix missing return statement (`#152 <https://github.com/fkanehiro/openhrp3/issues/152>`_)
* [server/ModelLoader] Check if segment node is defined (`#135 <https://github.com/fkanehiro/openhrp3/issues/135>`_)
* [server/ModelLoader/ColladaWriter.h] Changed ambientcolor (`#133 <https://github.com/fkanehiro/openhrp3/issues/133>`_)

* sample

* [sample/model/sample1_bush.wrl] add comma (`#154 <https://github.com/fkanehiro/openhrp3/issues/154>`_)

* CMake

* [CMakeLists.txt, hrplib/hrpCorba/CMakeLists.txt] add an option COMPILE_PYTHON_STUFF
* [CMakeLists.txt, cmake_modules/FindOpenRTM.cmake] enable to compile with OpenRTM 1.2.2
* [CMakeLists.txt, server/ModelLoader/CMakeLists.txt] support newer boost (`#146 <https://github.com/fkanehiro/openhrp3/issues/146>`_)

* [openhrp3.1.pc.in] fix path order in openhrp3.1.pc.in (`#129 <https://github.com/fkanehiro/openhrp3/issues/129>`_)

* installPackages

* [util]

* add packages.list.ubuntu.20.04
* add packages.list.debian.9
* add packages.list.debian.10
* update package list
* add packages.list.ubuntu.18.04

* [uril] add a package list for debian7
* [util/pkg_install_debian.sh] add RTM repository without asking user
* [uril] install packages without asking user

* Enable GithubAction tests (`#155 <https://github.com/fkanehiro/openhrp3/issues/155>`_)

* noetic does not run test because of missing python3 omniorb
* [test/test_openhrp3.py] fix python3 error on mixing binary and string
```
raise TypeError("Can't mix strings and bytes in path components") from None
```
* install python3-rosdep if python-rosdep failed
* try without openrtm-aist-python
* remove esm repos

* compile example and JoysticControl in newer openrtm than 1.1.0
* [sample/controller/CMakeLists.txt] add sample/controller/{SamplePD,SampleHG,SampleLF} when >= OPENRTM_VERSION100 (`#150 <https://github.com/fkanehiro/openhrp3/issues/150>`_)
* CMake < 3.7 compatibility, see https://github.com/glfw/glfw/issues/1584
* [sample/CMakeLists.txt] [sample] compile example and JoysticControl in newer openrtm than 1.1.0

* hrplib/hrpCorba/CMakeLists.txt: fix for Python3
* patch trusty-hrpsys-util.patch, https://github.com/fkanehiro/hrpsys-base/pull/1308 fails on 14.04
* add indigo/kinetic, run rosdep update with --include-eol-distros
* fix for python3: 2to3 -w -f has_key .
* fix for python3: 2to3 -w -f print .
* add .github/workflows/config.yml

* TravisCI

* add .travis.yml and create .travis.sh (`#149 <https://github.com/fkanehiro/openhrp3/issues/149>`_)
* [.travis.yml] update dpkg to install rosdistro in trusty (`#143 <https://github.com/fkanehiro/openhrp3/issues/143>`_)
* .travis.yml : update to trusty/indigo (`#128 <https://github.com/fkanehiro/openhrp3/issues/128>`_)

* Contributors: Fumio Kanehiro, Iori Kumagai, Jun Inoue, Kei Okada, Mitsuharu Morisawa, Naoki Hiraoka, Pierre Gergondet, Rafael Cisneros, Iori Yanokura, Yasuhiro Ishiguro, Kunio Kojima

3.1.9 (2017-02-17)
------------------

Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ endif()

set(OPENHRP_VERSION_MAJOR 3)
set(OPENHRP_VERSION_MINOR 1)
set(OPENHRP_VERSION_MICRO 9)
set(OPENHRP_VERSION_MICRO 10)
set(OPENHRP_VERSION_ADD_TAIL )
set(CPACK_DEBIAN_PACKAGE_VERSION_TAIL 0)

Expand Down
2 changes: 1 addition & 1 deletion hrplib/hrpCorba/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ set(given_headers ORBwrap.h)

install(FILES ${given_headers} ${idl_h_files} DESTINATION ${RELATIVE_HEADERS_INSTALL_PATH}/hrpCorba)
execute_process(
COMMAND python -c "import sys; print '%s.%s'%(sys.version_info[0:2])"
COMMAND python -c "import sys; print('%s.%s'%(sys.version_info[0:2]))"
OUTPUT_VARIABLE python_version
OUTPUT_STRIP_TRAILING_WHITESPACE)

Expand Down
2 changes: 1 addition & 1 deletion package.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<package>
<name>openhrp3</name>
<version>3.1.9</version>
<version>3.1.10</version>
<description>
<p>This package does not only wrap <a href = "http://www.openrtp.jp/openhrp3/en/index.html">OpenHRP3</a> but actually provides the built artifact from the code from its <a href = "https://openrtp.jp/svn/hrg/openhrp">mainstream repository</a>. Being ROS-agnostic by itself, you can also use this via ROS together with the packages in <a href = "http://www.ros.org/wiki/rtmros_common">rtmros_common</a> that bridge between two framework.</p>
<p><i>OpenHRP3 (Open Architecture Human-centered Robotics Platform version 3) is an integrated software platform for robot simulations and software developments. It allows the users to inspect an original robot model and control program by dynamics simulation. In addition, OpenHRP3 provides various software components and calculation libraries that can be used for robotics related software developments</i> (<a href = "http://www.openrtp.jp/openhrp3/en/about.html">excerpts from here</a>). </p>
Expand Down
2 changes: 1 addition & 1 deletion sample/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
add_subdirectory(controller)
if(OPENRTM_VERSION STREQUAL OPENRTM_VERSION100 OR OPENRTM_VERSION STREQUAL OPENRTM_VERSION101 OR OPENRTM_VERSION STREQUAL OPENRTM_VERSION102 OR OPENRTM_VERSION STREQUAL OPENRTM_VERSION110)
if(OPENRTM_VERSION VERSION_GREATER OPENRTM_VERSION100 OR OPENRTM_VERSION VERSION_EQUAL OPENRTM_VERSION100)
add_subdirectory(example)
add_subdirectory(JoystickControl)
endif()
Expand Down
2 changes: 1 addition & 1 deletion sample/JoystickControl/TkJoyStick/TkJoyStickComp.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ def convert(self, x, y):
_v = self._k * math.hypot(x, y)
_vl = _v * math.cos(_th - (math.pi/4.0))
_vr = _v * math.sin(_th - (math.pi/4.0))
print x, y, _vl, _vr
print(x, y, _vl, _vr)
return [_vl, _vr]

def set_pos(self, pos, pol):
Expand Down
2 changes: 1 addition & 1 deletion sample/JoystickControl/TkJoyStick/tkjoystick.py
Original file line number Diff line number Diff line change
Expand Up @@ -533,7 +533,7 @@ def test ():

while 1:
m.update()
print m.get_pos()
print(m.get_pos())


if __name__ == '__main__': test()
2 changes: 1 addition & 1 deletion sample/controller/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ macro(create_simple_controller CONTROLLER_NAME)

endmacro()

if(OPENRTM_VERSION STREQUAL OPENRTM_VERSION100 OR OPENRTM_VERSION STREQUAL OPENRTM_VERSION101 OR OPENRTM_VERSION STREQUAL OPENRTM_VERSION102 OR OPENRTM_VERSION STREQUAL OPENRTM_VERSION110)
if(OPENRTM_VERSION VERSION_GREATER OPENRTM_VERSION100 OR OPENRTM_VERSION VERSION_EQUAL OPENRTM_VERSION100)
add_subdirectory(SamplePD)
add_subdirectory(SampleHG)
add_subdirectory(SampleLF)
Expand Down
6 changes: 3 additions & 3 deletions sample/script/HRPCommon.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ def initialisePlugins(self):
count = 0
for pn,vn,pc in plist:
if self.Initialise and 1<<count:
print 'initialise ', pn, ' as ', vn
print('initialise ', pn, ' as ', vn)

#
# pCORBA: plugin corba name
Expand All @@ -32,7 +32,7 @@ def loadAndCreatePlugin(self, pCORBA, pFile, pClass):
p = hrp.findPlugin(pCORBA)

if p == None:
print 'load and create'
print('load and create')
self.MotionSys.load(pFile)
p = self.MotionSys.create(pFile, pCORBA, '')

Expand All @@ -46,5 +46,5 @@ def loadAndCreatePlugin(self, pCORBA, pFile, pClass):
return narrowedP

else:
print 'plugin '+pCORBA+' does not exist'
print('plugin '+pCORBA+' does not exist')
return None
2 changes: 1 addition & 1 deletion sample/script/autoplay.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ def run(self):
item = uimanager.getSelectedItem(GrxWorldStateItem, None)
n = item.getLogSize()
if n > 0:
print "now auto playing..."
print("now auto playing...")

c = 0
while 1:
Expand Down
12 changes: 6 additions & 6 deletions sample/script/hrp.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ def findReceiver(objname, rnc=None):
obj = findObject(objname, rnc)
return CommandReceiverHelper.narrow(obj)
except:
print "exception in findReceiver("+objname+")"
print("exception in findReceiver("+objname+")")

def findPlugin(name, rnc=None):
try:
Expand All @@ -61,27 +61,27 @@ def findPluginManager(name, rnc=None):
obj = findObject(name, rnc)
return PluginManagerHelper.narrow(obj)
except:
print "exception in findPluginManager"
print("exception in findPluginManager")

def findWalkPlugin(name, rnc=None):
try:
obj = findObject(name, rnc)
return walkpluginHelper.narrow(obj)
except:
print "exception in findWalkPlugin"
print("exception in findWalkPlugin")

def findSeqPlugin(name, rnc=None):
try:
obj = findObject(name, rnc)
return SequencePlayerHelper.narrow(obj)
except:
print "exception in findSeqPlugin"
print("exception in findSeqPlugin")

def findLogPlugin(name, rnc=None):
try:
return LoggerPluginHelper.narrow(findObject(name, rnc))
except:
print "exception in findLogPlugin"
print("exception in findLogPlugin")

def findDynamicsPlugin(name, rnc=None):
try:
Expand All @@ -105,7 +105,7 @@ def findStabilizerPlugin(name, rnc=None):
try:
return findPlugin(name, rnc)
except:
print "exception in findStabilizerPlugin"
print("exception in findStabilizerPlugin")
return None

def findIoControlPlugin(name, rnc=None):
Expand Down
10 changes: 5 additions & 5 deletions sample/script/hrpPrep.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ def doNarrow4Python(corbaClass, corbaObject):
#print 'narrowed result is', tmp
return tmp
except:
print 'narrow exception:', corbaObject, 'to', corbaClass
print('narrow exception:', corbaObject, 'to', corbaClass)

return None

Expand All @@ -69,8 +69,8 @@ def getORBPython(argv):


def getPluginObject2NarrowPython(name):
print name
print 'getPluginObject2NarrowPython('+name+')'
print(name)
print('getPluginObject2NarrowPython('+name+')')
try:
exec('from _GlobalIDL import '+name+' as localImport')
return localImport
Expand All @@ -84,7 +84,7 @@ def getPluginObject2NarrowPython(name):

try: # platform is Jython
import java.lang.System as System
print 'platform is probably Jython'
print('platform is probably Jython')
import org.omg.CORBA as CORBA

from org.omg.CosNaming import NameComponent
Expand Down Expand Up @@ -120,7 +120,7 @@ def getPluginObject2NarrowPython(name):
getPluginObject2Narrow = getPluginObject2NarrowJython

except ImportError: # platform is not Jython
print 'platform is probably CPython'
print('platform is probably CPython')
import omniORB.CORBA as CORBA
import CosNaming
import _GlobalIDL as IDLBase
Expand Down
Loading

0 comments on commit 5acd854

Please sign in to comment.