Skip to content

Commit

Permalink
Update to Tesseract 0.21.4 and build for Python 3.12 (#62)
Browse files Browse the repository at this point in the history
* Update to tesseract 0.21.4

* Fix LD_LIBRARY_PATH during docs build for wheels workflow

* Bump version to 0.3.0

* Add python 3.12 build

* Update generated api docs

* Update docs requirements

* Update docs requirements

* Update docs build configs

* Update docs build configs

* Update docs build configs
  • Loading branch information
johnwason authored Dec 3, 2023
1 parent df6b19d commit 2c8b9f6
Show file tree
Hide file tree
Showing 20 changed files with 172 additions and 163 deletions.
28 changes: 27 additions & 1 deletion .github/workflows/wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,26 +35,43 @@ jobs:
container: ubuntu:20.04
py_platform: manylinux_2_31_x86_64
python_version: "3.7"
docs: false
docs_cmake: OFF
- os: ubuntu-20.04
runs_on: ubuntu-20.04
container: ubuntu:20.04
py_platform: manylinux_2_31_x86_64
python_version: "3.8"
docs: true
docs_cmake: ON
- os: ubuntu-20.04
runs_on: ubuntu-20.04
container: ubuntu:20.04
py_platform: manylinux_2_31_x86_64
python_version: "3.9"
docs: true
docs_cmake: ON
- os: ubuntu-20.04
runs_on: ubuntu-20.04
container: ubuntu:20.04
py_platform: manylinux_2_31_x86_64
python_version: "3.10"
docs: true
docs_cmake: ON
- os: ubuntu-20.04
runs_on: ubuntu-20.04
container: ubuntu:20.04
py_platform: manylinux_2_31_x86_64
python_version: "3.11.0"
docs: true
docs_cmake: ON
- os: ubuntu-20.04
runs_on: ubuntu-20.04
container: ubuntu:20.04
py_platform: manylinux_2_31_x86_64
python_version: "3.12.0"
docs: true
docs_cmake: ON
env:
DEBIAN_FRONTEND: noninteractive
steps:
Expand Down Expand Up @@ -91,6 +108,9 @@ jobs:
run: |
python -m pip install --upgrade pip
python -m pip install auditwheel wheel numpy setuptools colcon-common-extensions vcstool patchelf
- name: pip
if: matrix.config.docs == true
run: |
python -m pip install -r ws/src/tesseract_python/docs/requirements.txt
- name: vcs import
working-directory: ws/src
Expand All @@ -108,7 +128,7 @@ jobs:
-DTESSERACT_PYTHON_BUILD_WHEEL=ON
-DTESSERACT_PYTHON_WHEEL_PLATFORM=${{ matrix.config.py_platform }}
-DTESSERACT_ENABLE_EXAMPLES=OFF -DTESSERACT_PLUGIN_FACTORY_CALLBACKS=ON
-DTESSERACT_PYTHON_BUILD_DOCUMENTATION=ON
-DTESSERACT_PYTHON_BUILD_DOCUMENTATION=${{ matrix.config.docs_cmake }}
- name: test
shell: bash
run: |
Expand All @@ -122,9 +142,11 @@ jobs:
cd ws/src/tesseract_python/tesseract_python
pytest -s
- name: build docs
if: matrix.config.docs == true
shell: bash
working-directory: ws/build/tesseract_python
run: |
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GITHUB_WORKSPACE/ws/install/lib
cmake --build . --config Release --target tesseract_python_doc
- name: archive wheels
uses: actions/upload-artifact@v2
Expand Down Expand Up @@ -162,6 +184,10 @@ jobs:
vcpkg_triplet: x64-windows-release
cmake_arch: x64
python_version: "3.11.0"
- arch: x64
vcpkg_triplet: x64-windows-release
cmake_arch: x64
python_version: "3.12.0"
steps:
- uses: actions/checkout@v2
with:
Expand Down
20 changes: 7 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,8 +127,8 @@ from tesseract_robotics.tesseract_command_language import CartesianWaypoint, Way
MoveInstructionPoly_wrap_MoveInstruction, StateWaypointPoly_wrap_StateWaypoint, \
CartesianWaypointPoly_wrap_CartesianWaypoint, JointWaypointPoly_wrap_JointWaypoint

from tesseract_robotics.tesseract_task_composer import TaskComposerPluginFactory, PlanningTaskComposerProblemUPtr, \
TaskComposerDataStorage, TaskComposerInput, TaskComposerProblemUPtr, PlanningTaskComposerProblemUPtr_as_TaskComposerProblemUPtr
from tesseract_robotics.tesseract_task_composer import TaskComposerPluginFactory, PlanningTaskComposerProblem, \
TaskComposerDataStorage, TaskComposerContext

from tesseract_robotics_viewer import TesseractViewer

Expand Down Expand Up @@ -199,8 +199,7 @@ factory = TaskComposerPluginFactory(config_path)
# Create the task composer node. In this case the FreespacePipeline is used. Many other are available.
task = factory.createTaskComposerNode("FreespacePipeline")

# Get the input and output keys for the task
input_key = task.getInputKeys()[0]
# Get the output keys for the task
output_key = task.getOutputKeys()[0]

# Create a profile dictionary. Profiles can be customized by adding to this dictionary and setting the profiles
Expand All @@ -211,24 +210,19 @@ profiles = ProfileDictionary()
# support implicit conversion from the CompositeInstruction to the AnyPoly.
program_anypoly = AnyPoly_wrap_CompositeInstruction(program)

# Create the task data storage and set the data
task_data = TaskComposerDataStorage()
task_data.setData(input_key, program_anypoly)

# Create the task problem and input
task_planning_problem = PlanningTaskComposerProblemUPtr.make_unique(t_env, task_data, profiles)
task_problem = PlanningTaskComposerProblemUPtr_as_TaskComposerProblemUPtr(task_planning_problem)
task_input = TaskComposerInput(task_problem)
task_planning_problem = PlanningTaskComposerProblem(t_env, profiles)
task_planning_problem.input = program_anypoly

# Create an executor to run the task
task_executor = factory.createTaskComposerExecutor("TaskflowExecutor")

# Run the task and wait for completion
future = task_executor.run(task.get(), task_input)
future = task_executor.run(task.get(), task_planning_problem)
future.wait()

# Retrieve the output, converting the AnyPoly back to a CompositeInstruction
results = AnyPoly_as_CompositeInstruction(task_input.data_storage.getData(output_key))
results = AnyPoly_as_CompositeInstruction(future.context.data_storage.getData(output_key))

# Display the output
# Print out the resulting waypoints
Expand Down
10 changes: 5 additions & 5 deletions dependencies.rosinstall
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
- git:
local-name: ros_industrial_cmake_boilerplate
uri: https://github.com/ros-industrial/ros_industrial_cmake_boilerplate.git
version: 0.4.5
version: 0.5.4
- git:
local-name: tesseract
uri: https://github.com/tesseract-robotics/tesseract.git
version: 0.18.1
version: 0.21.4
- git:
local-name: tesseract_planning
uri: https://github.com/tesseract-robotics/tesseract_planning.git
version: 0.18.2
version: 0.21.4
- git:
local-name: trajopt
uri: https://github.com/tesseract-robotics/trajopt.git
version: 0.6.0
version: 0.7.0
- git:
local-name: descartes_light
uri: https://github.com/swri-robotics/descartes_light.git
version: 0.3.1
version: 0.4.2
- git:
local-name: opw_kinematics
uri: https://github.com/Jmeyer1292/opw_kinematics.git
Expand Down
10 changes: 5 additions & 5 deletions dependencies_with_ext.rosinstall
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
- git:
local-name: ros_industrial_cmake_boilerplate
uri: https://github.com/ros-industrial/ros_industrial_cmake_boilerplate.git
version: 0.4.5
version: 0.5.4
- git:
local-name: tesseract
uri: https://github.com/tesseract-robotics/tesseract.git
version: 0.18.1
version: 0.21.4
- git:
local-name: tesseract_planning
uri: https://github.com/tesseract-robotics/tesseract_planning.git
version: 0.18.2
version: 0.21.4
- git:
local-name: trajopt
uri: https://github.com/tesseract-robotics/trajopt.git
version: 0.6.0
version: 0.7.0
- git:
local-name: descartes_light
uri: https://github.com/swri-robotics/descartes_light.git
version: 0.3.1
version: 0.4.2
- git:
local-name: opw_kinematics
uri: https://github.com/Jmeyer1292/opw_kinematics.git
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,6 @@ Classes
*******


JointGroupInstructionInfo Class
===================================================================================================
.. autoclass:: tesseract_robotics.tesseract_motion_planners.JointGroupInstructionInfo
:noindex:
:exclude-members: thisown
:members:

KinematicGroupInstructionInfo Class
===================================================================================================
.. autoclass:: tesseract_robotics.tesseract_motion_planners.KinematicGroupInstructionInfo
:noindex:
:exclude-members: thisown
:members:

MotionPlanner Class
===================================================================================================
.. autoclass:: tesseract_robotics.tesseract_motion_planners.MotionPlanner
Expand Down Expand Up @@ -64,21 +50,6 @@ formatProgram Function
.. autofunction:: tesseract_robotics.tesseract_motion_planners.formatProgram
:noindex:

generateInterpolatedProgram Function
===================================================================================================
.. autofunction:: tesseract_robotics.tesseract_motion_planners.generateInterpolatedProgram
:noindex:

getClosestJointSolution Function
===================================================================================================
.. autofunction:: tesseract_robotics.tesseract_motion_planners.getClosestJointSolution
:noindex:

getInterpolatedInstructions Function
===================================================================================================
.. autofunction:: tesseract_robotics.tesseract_motion_planners.getInterpolatedInstructions
:noindex:

getJointTurns Function
===================================================================================================
.. autofunction:: tesseract_robotics.tesseract_motion_planners.getJointTurns
Expand All @@ -89,36 +60,6 @@ getRobotConfig Function
.. autofunction:: tesseract_robotics.tesseract_motion_planners.getRobotConfig
:noindex:

interpolate Function
===================================================================================================
.. autofunction:: tesseract_robotics.tesseract_motion_planners.interpolate
:noindex:

interpolateCartCartWaypoint Function
===================================================================================================
.. autofunction:: tesseract_robotics.tesseract_motion_planners.interpolateCartCartWaypoint
:noindex:

interpolateCartJointWaypoint Function
===================================================================================================
.. autofunction:: tesseract_robotics.tesseract_motion_planners.interpolateCartJointWaypoint
:noindex:

interpolateJointCartWaypoint Function
===================================================================================================
.. autofunction:: tesseract_robotics.tesseract_motion_planners.interpolateJointCartWaypoint
:noindex:

interpolateJointJointWaypoint Function
===================================================================================================
.. autofunction:: tesseract_robotics.tesseract_motion_planners.interpolateJointJointWaypoint
:noindex:

interpolate_waypoint Function
===================================================================================================
.. autofunction:: tesseract_robotics.tesseract_motion_planners.interpolate_waypoint
:noindex:

toToolpath Function
===================================================================================================
.. autofunction:: tesseract_robotics.tesseract_motion_planners.toToolpath
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,20 @@ Classes
*******


JointGroupInstructionInfo Class
===================================================================================================
.. autoclass:: tesseract_robotics.tesseract_motion_planners_simple.JointGroupInstructionInfo
:noindex:
:exclude-members: thisown
:members:

KinematicGroupInstructionInfo Class
===================================================================================================
.. autoclass:: tesseract_robotics.tesseract_motion_planners_simple.KinematicGroupInstructionInfo
:noindex:
:exclude-members: thisown
:members:

SimpleMotionPlanner Class
===================================================================================================
.. autoclass:: tesseract_robotics.tesseract_motion_planners_simple.SimpleMotionPlanner
Expand Down Expand Up @@ -126,6 +140,51 @@ ProfileDictionary_removeProfile_SimplePlannerPlanProfile Function
.. autofunction:: tesseract_robotics.tesseract_motion_planners_simple.ProfileDictionary_removeProfile_SimplePlannerPlanProfile
:noindex:

generateInterpolatedProgram Function
===================================================================================================
.. autofunction:: tesseract_robotics.tesseract_motion_planners_simple.generateInterpolatedProgram
:noindex:

getClosestJointSolution Function
===================================================================================================
.. autofunction:: tesseract_robotics.tesseract_motion_planners_simple.getClosestJointSolution
:noindex:

getInterpolatedInstructions Function
===================================================================================================
.. autofunction:: tesseract_robotics.tesseract_motion_planners_simple.getInterpolatedInstructions
:noindex:

interpolate Function
===================================================================================================
.. autofunction:: tesseract_robotics.tesseract_motion_planners_simple.interpolate
:noindex:

interpolateCartCartWaypoint Function
===================================================================================================
.. autofunction:: tesseract_robotics.tesseract_motion_planners_simple.interpolateCartCartWaypoint
:noindex:

interpolateCartJointWaypoint Function
===================================================================================================
.. autofunction:: tesseract_robotics.tesseract_motion_planners_simple.interpolateCartJointWaypoint
:noindex:

interpolateJointCartWaypoint Function
===================================================================================================
.. autofunction:: tesseract_robotics.tesseract_motion_planners_simple.interpolateJointCartWaypoint
:noindex:

interpolateJointJointWaypoint Function
===================================================================================================
.. autofunction:: tesseract_robotics.tesseract_motion_planners_simple.interpolateJointJointWaypoint
:noindex:

interpolate_waypoint Function
===================================================================================================
.. autofunction:: tesseract_robotics.tesseract_motion_planners_simple.interpolate_waypoint
:noindex:

Container Templates
*******************

Expand Down
28 changes: 14 additions & 14 deletions docs/_source/modules/tesseract_task_composer/api_docs_generated.rst
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,20 @@ RuckigTrajectorySmoothingMoveProfile Class
:exclude-members: thisown
:members:

TaskComposerContext Class
===================================================================================================
.. autoclass:: tesseract_robotics.tesseract_task_composer.TaskComposerContext
:noindex:
:exclude-members: thisown
:members:

TaskComposerContextUPtr Class
===================================================================================================
.. autoclass:: tesseract_robotics.tesseract_task_composer.TaskComposerContextUPtr
:noindex:
:exclude-members: thisown
:members:

TaskComposerDataStorage Class
===================================================================================================
.. autoclass:: tesseract_robotics.tesseract_task_composer.TaskComposerDataStorage
Expand Down Expand Up @@ -143,20 +157,6 @@ TaskComposerGraphUPtr Class
:exclude-members: thisown
:members:

TaskComposerInput Class
===================================================================================================
.. autoclass:: tesseract_robotics.tesseract_task_composer.TaskComposerInput
:noindex:
:exclude-members: thisown
:members:

TaskComposerInputUPtr Class
===================================================================================================
.. autoclass:: tesseract_robotics.tesseract_task_composer.TaskComposerInputUPtr
:noindex:
:exclude-members: thisown
:members:

TaskComposerNode Class
===================================================================================================
.. autoclass:: tesseract_robotics.tesseract_task_composer.TaskComposerNode
Expand Down
3 changes: 2 additions & 1 deletion docs/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
sphinx
sphinx==6.2.1
sphinx_rtd_theme
gitpython
recommonmark
opencv-python
Loading

0 comments on commit 2c8b9f6

Please sign in to comment.