Computing a solution for the "Manipulation Planning Problem".
-
Install the commands make, cmake and git
sudo apt-get install build-essential cmake git-core
-
Install the Qt framework and the CGAL library
sudo apt-get install qt-sdk libcgal-dev
-
Install LEMON (graph library): https://lemon.cs.elte.hu/trac/lemon/wiki/InstallLinux
-
Change your current directory to clone Manipulator
cd [dir]
-
Clone Manipulator
git clone https://github.com/Manipulators/Manipulator.git
-
Go inside it
cd Manipulator/
-
Create a build directory
mkdir build
-
Go inside it
cd build/
-
Generate Makefiles
cmake ../src/
-
Build executable
make
-
Run executable
./manipulator
The Qt framework provides a cross-platform C++ integrated development environment: Qt Creator. The IDE can use various build system including CMake. To run the project inside Qt Creator, the following instructions are helpful:
- Open Qt Creator
- Open the project with: File > Open File or Project...
- Choose the file CMakeLists.txt in Manipulator/src/
- Set the build folder location to Manipulator/qtcreator-build/
- Press button Run CMake to generate the Makefile
- Press keys Ctrl+R to build and run the project
Describe screen size Describe obstacles in "Obstacles". One line by polygon, described with pairs of points.
- Find the file format to describe the arguments (i.e. environment, robot, movable object, initial configuration and final configuration), this file format must be CGAL-friendly
- Create a command which takes the arguments and returns their graphical representation in a new window
- ...
- Generate an instance of the manipulation planning problem
- Generate obstacles (i.e. environment)
- Choose the radius of the circle robot
- Choose the radius of the circle movable object
- Select the initial configuration (i.e. positions of the robot and the object)
- Select the final configuration
- Compute the solution for this instance
- Compute the critical regions
- Determine the topological properties of transit and transfer paths
- Determine the manipulation graph
- Find a manipulation path
- Display the main concepts for solving the problem
- Display the representation of the instance of the problem
- Display the critical regions
- Display the manipulation graph
- Wrap the assembly into an graphical interface
- ...
- Graphical user interface
- Computational geometry
Qt and CGAL have been selected for the project since CGAL provides a package for displaying CGAL objects and data structures in the Qt Graphics View Framework.
##References
-
B. Dacre Wright, J.P. Laumond and R.Alami
Motion planning for a robot and a movable object amidst polygonal obstacles
IEEE International Conference on Robotics and Automation, Nice, 1992 -
J. Schwartz and M. Sharir
On the Piano Mover III
International Journal on Robotics Research, Vol. 2 (3), 1983