This is the repository for The University of Melbourne's ("Wizards of Aus") winning entry into the Office Assistant Robot Competition at HRI'24 held in Boulder, Colorado. The robotic platform used in the competition is the TIAGo mobile manipulator from PAL robotics. Full installation and setup instructions are detailed below.
A real-world evaluation of the system resulted in a publication, "OfficeMate: Pilot Evaluation of an Office Assistant Robot", which was accepted at HRI'25 in Melbourne. The paper can be found here. If you find our work interesting or useful, please consider citing it:
@inproceedings{pan2025officemate,
author = {Pan, Jiahe and Sch\"{o}mbs, Sarah and Zhang, Yan and Tabatabaei, Ramtin and Bilal, Muhammad and Johal, Wafa},
title = {OfficeMate: Pilot Evaluation of an Office Assistant Robot},
booktitle = {Proceedings of the 2025 ACM/IEEE International Conference on Human-Robot Interaction},
pages = {1529–1533},
year = {2025}
}
mkdir -p ~/tiago_ws/src
cd ~/tiago_ws/src/
git clone --recurse-submodules https://github.com/yzhang2332/woa_tiago.git
sudo apt-get update
sudo apt-get install libportaudio2 python3-pip net-tools cmatrix
To install the required Python libraries:
cd ~/tiago_ws/src/woa_tiago/ultralytics_ros/
python3 -m pip install -r requirements.txt
Then, install the ROS dependencies:
cd ~/tiago_ws/
rosdep install -r -y -i --from-paths .
cd ~/tiago_ws/src/woa_tiago/
pip install -r requirements.txt
NOTE: The above might output an error - ERROR: flask 3.0.2 has requirement click>=8.1.3, but you'll have click 7.0 which is incompatible.
If so, simply execute the following in the terminal:
pip install flask
cd ~/tiago_ws/src/woa_tiago/tiago_gpt4/
mkdir config && cd config
touch gpt_api.yaml
gedit gpt_api.yaml
Paste your API into the file, in the format of:
api_key: "YOUR_API_KEY"
cd ~/tiago_ws/
catkin build detection_msgs tiago_follow_person tiago_gpt4 tiago_nav ultralytics_ros
Using Ethernet connection is preferred, especially if we want to subscribe to image topics (e.g. RGB or depth images) which are published at 30Hz.
After connecting successfully using Ethernet, in the terminal run:
ifconfig
Find the corresponding connection with name starting with “enp0”, and copy the ip address after “inet”.
Open the .bashrc
file:
cd
gedit .bashrc
and add the following (below the source init_pal_env.sh
line):
source /home/pal/tiago_ws/devel/setup.bash
export ROS_MASTER_URI=http://tiago-196c:11311
# HERE, USE THE PREVIOUSLY COPIED IP ADDRESS
# example: export ROS_IP=10.68.0.128
export ROS_IP=<your_ip_address>
alias map='rviz rviz -d /home/pal/tiago_ws/src/woa_tiago/rviz_configs/map.rviz'
alias cmap='rviz rviz -d /home/pal/tiago_ws/src/woa_tiago/rviz_configs/local_costmap.rviz'
alias fmap='rviz rviz -d /home/pal/tiago_ws/src/woa_tiago/rviz_configs/filtered_map.rviz'
Make sure:
- The microphone is connected to the developemnt laptop
- The robot is connected to the laptop via Etheret
Then, in a new terminal, source the setup and run the main launch file:
source ~/.bashrc
roslaunch tiago_gpt4 hri_competition.launch