Independence in the Home: A Wearable Interface for a Person with Quadriplegia to Teleoperate a Mobile Manipulator
Code for paper: Independence in the Home: A Wearable Interface for a Person with Quadriplegia to Teleoperate a Mobile Manipulator
Authors: Akhil Padmanabha, Janavi Gupta, Chen Chen, Jehan Yang, Vy Nguyen, Doug Weber, Carmel Majidi, Zackory Erickson
- HAT: Follow the bill of materials and circuit diagram on the website. Contact akhilpad@andrew.cmu.edu for support with build instructions.
- Stretch RE2 robot
- Clicker: Any mouse with a piece of tape at the bottom to disallow it from being able to move the cursor (such that only the buttons work) can be used.
- A laptop
- Anydesk: Or any similar software to gain access to the robot
Follow the HAT Package README
Follow the Driver Assistance README
Upload the nano master calibration file to both the Arduino Nano's.
cd hat_ws
source devel/setup.bash
roslaunch hat_pkg threshold.launch
Click on your clicker once to calibrate the HAT initially. Then, rotate your head to the maximum position that you can along the roll, pitch and yaw axis. Finally, click once more after rotating.
cd hat_ws
source devel/setup.bash
roslaunch hat_pkg laptop.launch
Look at the terminal output initially to ensure that the HAT is calibrated. If it doesn't calibrate, try setting it down on a table or calibrating it like a phone compass by making a figure 8.
cd hat_ws
source devel/setup.bash
- With rosbag (check below for more details on rosbag)
roslaunch hat_pkg robot_data.launch task_name:= <insert task name here>
- Without rosbag:
roslaunch hat_pkg robot.launch
- With driver assistance:
roslaunch da_core driver_assistance.launch interface:=hat
When the script initially launches, the system is in idle mode. Different sequences of clicks using the clicker takes you to different modes. Below is a summary of how mode clicking works:
- Idle mode -> Robot Control (drive mode): 1 click
- Drive mode -> Arm mode -> Wrist mode -> Drive mode: 1 click
- Turning on and off Driver Assistance: 3 clicks
- Idle mode -> Cursor Control ->: 1 click
- Any mode -> Idle mode: Hold down
- To stop the robot from moving temporarily, move your head to the calibrated position.
- To stop HAT from controlling the robot, hold down on the clicker until the system goes into Idle mode.
- If the researcher wants to stop the experiment and stop the robot, kill the terminal on the robot by clicking
bash Ctrl+C
or press the E-Stop (white button) on the robot to fully stop it.
Open three different terminals on the laptop:
- On Terminal 1
roscore
- On Terminal 2
The following are the topics that are recorded:
rostopic echo /<topic_name>
- /rpy_filtered
- /state
- /mouse
- /velocities
- /da
- On Terminal 3
cd Desktop/data rosbag play <name_of_bag_file>