April 22, 2025
Browser-Based Teleoperation:
For our interface, we first began by implementing the twist function specified in the ROS tutorials. This was helpful in understanding the link between publishing and subscriping to topics and sending messages. We were able to establish a connection between the robot, ROSBridge, and our UI (which would update to display a successful message upon connection), and we were also able to echo the "cmd_vel" topic in the terminal to verify that messages were being sent from our website. We then applied this knowledge to the TA-provided example interface as shown below. We added functionality for rolling and unrolling the Stretch wrist and fiddled with accessing camera output.
Our final UI was created from the TA-provided base UI, and uses the follow_joint_trajectory action (sent on button click) to send target positions for various parts of the robot. The UI also subscribes to the Stretch's camera topic in order to receive camera data from the robot.
Planned Interface
We envision a multi-faceted interface for our user that allows them to conduct preset physcial therapy sessions and track progress. Firstly, default sessions can be programemd using the arm and leg weakness buttons. Small adjustments can be made using the robot control page. Additionally, we will show the force sensor output so the user knows if they have reached their goal. Finally, the camera angles will also be shown to give users a better understanding of how their progress looks.
We also plan on having a user profile that will track their progress over time and graphically, allowing for better personalization.