# GDC_ATRIUM Repository for robust, adaptive 3D person tracking and reidentification in busy areas ## Environment Setup **Next, your environment MUST have MMPOSE and the tracking_re_id ROS2 package properly installed** Follow the instructions below to set it up ```bash # wherever you want your workspace root to be (anywhere upstream of tracking_re_id): colcon build --symlink-install source install/setup.bash # 3.10 is the latest supported by MMPOSE conda create -n mmpose python=3.10 -y conda activate mmpose # find your max. cuda version nvidia-smi # We need torch 2.1.x for mmcv 2.1.0, so here's an example using cuda 12.1 # this is what was used on sentry laptop pip install torch==2.1.2 torchvision==0.16.2 --index-url https://download.pytorch.org/whl/cu121 # mmpose dependencies pip install -U openmim mim install mmengine mim install "mmcv==2.1.0" mim install "mmdet==3.2.0" mim install "mmpose==1.2.0" pip install "numpy<2" pip install "opencv-python==4.11.0.86" ``` **This installation is referenced in each launchfile by finding the location of your conda base environment, then finding an environment named "mmpose" - if you use a different name, you must change each launch file.** ## Camera Driver / Calibration Many nodes in the ```tracking_re_id``` package rely on the ```/stereo/left/camera_info``` and ```/stereo/right/camera_info``` topics publishing calibration data for the camera. This requires calibration to be performed, replacing ```left.yaml``` and ```right.yaml``` in ```tracking_re_id/calibration```. Visit https://docs.ros.org/en/jazzy/p/camera_calibration/doc/tutorial_stereo.html for instructions on running the calibration. The left and right yaml files always had ```camera_name=narrow_stereo/left``` and ```camera_name=narrow_stereo/right``` which have to be changed to ```stereo/left``` and ```stereo/right```, respectively. To run the camera driver after calibration has been conducted, simply execute ```ros2 launch tracking_re_id start_cameras_only.launch.py```. Running ```colcon build``` again is **NOT** required, as you should have run it with ```--symlink-install``` previously.