- Python 3.10+
- Tested on Ubuntu 20.04
- Install ROS and rospy.
- Install pyaudio.
- Recommended: create and source a virtualenv.
pip install -e ".[develop]"
- Run the arm controller server on the NUC:
- ssh to the NUC:
sshnuc
with lab password - zero the arm torque offsets:
- Alias
set_zeros
on NUC - Otherwise, run the following commands:
conda activate controller
cd ~/feeding-deployment/src/feeding_deployment/robot_controller
python kinova.py
- Alias
- run the controller server:
- Alias
run_server
on NUC - Otherwise, run the following commands:
conda activate controller
cd feeding-deployment/src/feeding_deployment/robot_controller
python arm_server.py
- Alias
- ssh to the NUC:
- Run bulldog on the NUC:
- ssh to the NUC:
sshnuc
with lab password - run bulldog with alias
run_bulldog
- ssh to the NUC:
- Run a roscore on the compute system:
roscore
- Launch all the sensors on the compute system using
launch_sensors
- Launch the roslaunch on compute system for visualization / publish tfs:
- Alias
launch_robot
on compute system - Otherwise,run the following commands from the root of your ROS workspace:
conda activate feed
source devel/setup.bash
cd src/feeding-deployment/launch
roslaunch robot.launch
- Alias
- Start feeding utensil:
- Alias
launch_utensil
on compute system - Otherwise, run the following commands from the root of your ROS workspace:
conda activate feed
source devel/setup.bash
rosrun wrist_driver_ros wrist_driver
- Important Note: To shutdown this node, press Ctrl + / (Signal handling is setup to shutdown cleanly)
- Alias
- Start the web application:
- Alias
launch_app
on compute system - Otherwise, run the following commands from the root of your ROS workspace:
conda activate feed
source devel/setup.bash
cd ~/deployment_ws/src/feedingpage/vue-ros-demo
npm run serve
- Alias
- Run the feeding demo:
- Alias
run_demo
on compute system - Otherwise,run the following commands from the root of your ROS workspace:
conda activate feed
source devel/setup.bash
cd src/feeding-deployment/src/feeding_deployment/integration
python demo.py --run_on_robot --use_interface --no_waits
- Alias
- Grasp the tool and move to before bite transfer position.
- Calibrate tool:
- Alias
cd_demo
on compute system - Otherwise, run the following commands from the root of your ROS workspace:
conda activate feed
source devel/setup.bash
cd src/feeding-deployment/src/feeding_deployment/integration
python transfer_calibration.py --tool <tool_name>
where <tool_name> is one of "fork", "drink" and "wipe"
- Alias
- Manually (using buttons on the robot) move the robot to the intended inside-mouth transfer config, and press [ENTER] in the script above to record it.
- To test the tool calibration:
- Alias
cd_demo
on compute system - Otherwise, run the following commands from the root of your ROS workspace:
conda activate feed
source devel/setup.bash
cd src/feeding-deployment/src/feeding_deployment/integration
python transfer_calibration.py --tool <tool_name> --test
where <tool_name> is one of "fork", "drink" and "wipe"
- Alias
- Launch the roslaunch for visualization / publish tfs:
- Navigate to the launch files:
cd launch
- Launch:
roslaunch sim.launch
- Navigate to the launch files:
- Run the feeding demo:
- Navigate to integration scripts:
cd src/feeding_deployment/integration
- Run demo:
python demo.py
- Navigate to integration scripts:
- To check FT readings:
rostopic echo /forque/forqueSensor
- IP for robot: 192.168..10
- IP for webapp:" http://192.168.1.2:8080/#/home
Run ./run_ci_checks.sh
. It should complete with all green successes in 5-10 seconds.