COPYRIGHT(C) 2019 - CMU Assitive Robots Lab - Code released under MIT.
Contact - Zhi - zhi.tan@ri.cmu.edu
Update: This branch (replication) consist of code we are working on to be used in upcoming replication studies. For the original code used in the 2018 paper, please look at the Master branch.
This repository contains the code that ran the user study described in Inducing Bystander Interventions During Robot Abuse with Social Mechanisms by Tan et al. (2018). Due to the experimental nature of the work, the code does not meet industry coding guidelines / best practices and would need modifications to work on different machines. We provided a brief guide and pointers on how the system work and requires hardwares.
- ANKI Cozmo Robot
- Smartphone that can run Cozmo App (We used an Iphone 5C in the original study)
- Tablet (Samsung Galaxy Tab 10.1 in the original study)
- Micosoft Kinect 2
- Laptop with Ubuntu 16.04 (i7 Lenova laptop in the original study)
- ROS Kinetic
- Nodejs
- CMU-ARM/alloy
- SUCCESS-MURI/success_google_stt
- SUCCESS-MURI/success_ros_msgs
- SUCCESS-MURI/success_ros_aruco
- iai_kinect2
- audio_common
- our heavily modified cozmo_driver
You will also need a google cloud account that has speech to text API enabled.
- Install ROS and all the dependencies above.
- We included a
.rosintall
file that simplifies the process,wstool update study.rosinstall
- We included a
- Install all python packages listed in the requirement.txt
- Download this ROS package.
- Install Nodejs
- Install all the requirements of Nodejs located in
learning_server/package.json
- at
learning_server
runnpm install
- at
- Change the
var ros_url' in
learning_server/public/js/common.jsto the IP address or URL of the machine running the code.
- use roslaunch to start the base launch file.
roslaunch bystander_intervention_study base.launch
- This starts the kinect, rosbridge and other dependencies.
- use rosparam to set the conditions
- the parameter
bully_reaction
is a string that sets to the types of responses:none
,shutdown
andemotional
. - the parameter
empathy_flag
is a bool that when set totrue
makes the empathetic during the task
- the parameter
- use roslaunch to start the cozmo launch file.
roslaunch bystander_intervention_study cozmo.launch
- This starts the robot.
- Start the nodejs server that runs the learning application with
nodejs learning_server/server.js
- start the study by running the python script,
study.py
withrosrun bystander_intervention_study study.py
- You should be able to connect to the learning application at
128.0.0.1:3000
on your local machine.
We included a startup script,start.sh
that we used in our original study to start the program. There are several hard links in the script that will need to be modified to work correctly.