- shell_recon_interfaces defines
DoShellRecon
ros service - shell_recon_service contains the shell reconstruction service and client
- We use ros2_numpy for conversion between numpy and
ros2 sensor_msgs.msg
. ros2_numpy is further dependent upon ament_cmake.
- Download submodules:
git submodule update --init
- Make sure your ros2-foxy-fitzroy environment and
colcon
is correctly configured is correct. - Setup python:
python -m venv env # Python should be >= 3.6 for open3d to work source env/bin/activate pip install -r build_requirements.txt pip install -r src/shell_recon_service/shell_recon_service/shell-reconstruction/requirements.txt
- Build all the packages (make sure you are in the project root)
colcon build
From project root, run the following commands:
- Run service:
. install/setup.bash # ROS2 Path setup export PYTHONPATH=$PWD/env/lib/python3.8/site-packages:$PYTHONPATH # Help ROS2 find python environment packages export PYTHONPATH=$PWD/src/shell_recon_service/shell_recon_service/shell-reconstruction/:$PYTHONPATH # Add shell module path ros2 run shell_recon_service service
- In seperate terminal, run client:
. install/setup.bash export PYTHONPATH=$PWD/env/lib/python3.8/site-packages:$PYTHONPATH # Help ROS2 find python environment packages export PYTHONPATH=$PWD/src/shell_recon_service/shell_recon_service/shell-reconstruction/:$PYTHONPATH # Add shell module path ros2 run shell_recon_service client --pkl_data_path $PWD/src/shell_recon_service/shell_recon_service/shell-reconstruction/demo_data/real_data.pkl
- The shell reconstruction results will be generated at the following location:
src/shell_recon_service/shell_recon_service/shell-reconstruction/demo_data/reconstruction_ros_service