- IEEE INFOCOM CNERT Workshop, 2024
- Best paper award
Nithish K Gnani, Joydeep Pal, Deepak Choudhary, Himanshu V, Soumya R, Kaushal M, T V Prabhakar, Chandramani Singh
The devices run the code found in the following directories:
- Host 1: Host1-Operator - Runs the code for Geomagic touch. Uses OpenHaptics and C programming.
- Host 2: Host2-Teleoperator - Runs the code for UR3 root. Uses ROS 1 and Python
- Edge Switch 1: Tremor_Reduction - Runs the code to eliminate packets linked to unintenetional hand tremors. Uses P4 for SmartNIC.
- Edge Switch 2: Pose_Correction - Runs the code to perform automatic grip inspection and pose correction while holding a tool. Uses P4 for SmartNIC.
Connect Geomagic Touch on one of the ports of the SmartNIC and UR3 on the other port. Update the match action json file accordingly.
Go to the relevant folder for wither pose correction or tremor suppression and execute the commands in the following order:
- On the host system of the SmartNIC
cd Pose_Correction/orTremor_Reduction/
sudo bash
./EdgeP4_start.sh
./EdgeP4_load.sh- On the UR3 system (Host2-Teleoperator)
sudo bash
cd Host2-Teleoperator/
ip addr add 10.0.0.2/24 dev enp1s0f1
./arp_fix.sh- On the GeoMagic Touch system (Host1-Operator)
sudo bash
cd Host1-Operator/
ip addr add 10.0.0.1/24 dev enp1s0f0
./arp_fix.sh- To stop and unload the P4 program, run the following command on the SmartNIC host system
./EdgeP4_stop.sh-
Install the Universal Robots ROS driver by following the instructions here.
-
Paste the relevant script file (513_2DGrip_10FSR_DummyVals) in the Universal_Robots_ROS_Driver/ur_robot_driver/scripts/ folder of the UR ROS driver.
-
Run the UR3 side (Host2-Teleoperator) on separate terminals:
roscore
roslaunch ur_robot_driver ur3_bringup.launch robot_ip:=xx.yy.zz.aa #replace with the IP of the UR3
roslaunch ur_robot_driver example_rviz.launch #optional
rosrun ur_robot_driver test_move- If you build the force sensor array, read the force values using PySerial library and replace the dummy values in the script file.
-
Install the OpenHaptics SDK by following the instructions here.
-
Initialize the device by running the Touch Setup and Touch Diagnostics that come with the SDK.
-
Now, run the Operator side (Host1-Operator):
make
./Operator-
Type
qto quit the program -
The terminal display will beblank as the OpenHaptics toolkit has some issue. You can resset the terminal or type future commands without looking at the terminal display.
-
To clean the files, run
make clean.
