The server has two main functions:
- Computing the screw axis parameters from AR-HMD data points (Step 4 above), and
- Transfering a plan from the AR-HMD to the robot (Step 9b above)
The server functions are implemented using the ar_screw_axis package.
Install the server software on a host connected to the Robofleet network. The server software is designed for Ubuntu 20.04/ROS Noetic.
cd ~
mkdir -p my_server_ws/src
cd ~/my_server_ws/src
git clone https://github.com/UTNuclearRobotics/ar_screw_axis.git
cd ~/my_server_ws
catkin build
source devel/setup.bash
Install vcstools to get started using this directory
sudo apt install python3-vcstools
- Create a catkin workspace.
cd ~
mkdir -p catkin_ws/src
cd ~/catkin_ws/src
- Clone this repo into the
catkin_ws/src
directory.
git clone https://github.com/UTNuclearRoboticsPublic/ar-affordances.git
- Clone the ar_screw_axis, robofleet_client, & robotfleet_server server packages via vcstools.
cd ar-affordances/server && vcs import < .server.repos
- Build and source your workspace.
cd ~/catkin_ws
catkin build
source devel/setup.bash
- Follow instructions on ar_screw_axis to configure the server and setup a robofleet connection.
On a host on the same network as a Robofleet server, in a properly-sourced ROS workspace, launch the demo script:
roslaunch ar_screw_axis screw_axis_demo.launch
This will launch:
- The server's robofleet client
- The
nlls_solver
screw axis solver node - The transform listener
- A
similarity_study
node to compute similarity metrics and save the data