:warning: Work in progress :warning:
This workbench is an attempt to introduce automatic assembly sequence planning (ASP) into FreeCAD. ASP involves determining (all) feasible sequences in which the different components of a product can be assembled successfully. Based on an assembly product's CAD model, feasible assembly sequences are composed by considering topological and geometrical constraints, and are represented as an AND/OR graph.
This project started in the context of Ph.D. research into intention-based human-robot collaborative assembly, and was first mentioned in the following paper:
M. Cramer, K. Kellens and E. Demeester, "Probabilistic Decision Model for Adaptive Task Planning in Human-Robot Collaborative Assembly Based on Designer and Operator Intents," in IEEE Robotics and Automation Letters, vol. 6, no. 4, pp. 7325-7332, Oct. 2021, doi: 10.1109/LRA.2021.3095513.
OS: Ubuntu 22.04 LTS (ubuntu:GNOME/ubuntu)
Word size of FreeCAD: 64-bit
Version: 0.20.29177 (Git)
Build type: Release
Branch: (HEAD detached at 0.20)
Hash: 68e337670e227889217652ddac593c93b5e8dc94
Python 3.10.4, Qt 5.15.3, Coin 4.0.0, Vtk 7.1.1, OCC 7.5.1
Locale: English/United States (en_US)
These instructions will help you get the APLAN workbench up and running on your local machine.
$ git clone https://github.com/FreeCAD/FreeCAD.git freecad/freecad-source
$ git clone https://github.com/martcram/FreeCAD-APLAN.git freecad/freecad-source/src/Mod/Aplan
... or include the project as a submodule for development purposes:
$ cd freecad/freecad-source
$ git submodule add https://github.com/martcram/FreeCAD-APLAN.git src/Mod/Aplan
freecad-source/cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake
to provide the user with the option to compile this workbench:
...
option(BUILD_APLAN "Build the FreeCAD APLAN module" ON)
...
freecad-source/src/Mod/CMakeLists.txt
:
...
if(BUILD_APLAN)
add_subdirectory(Aplan)
endif(BUILD_APLAN)
...
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this workbench better, please fork the repo and create a pull request. You can also simply open an issue with the tag "Feature". Don't forget to give the project a star! Thank you!
git checkout -b feature/amazingFeature
)git commit -m 'add some amazingFeature'
)git push origin feature/amazingFeature
)Finally, have a look at the list of contributors who participated in this project.
This project is distributed under the LGPL-2.1 License. See LICENSE
for more information.