This repo contains code from the paper "ACE-F: A Cross Embodiment Foldable System with Force Feedback for Dexterous Teleoperation"
conda create -n acef python=3.11
conda activate acef
pip install -r requirements.txt-
Install the Dynamixel Wizard and use it to set the baudrates and ids of your dynamixel motors. We use a baudrate of 4000000 and ids 0, 1, 2 in our example.
-
Plug arm dynamixel ids into the get_dynamixel_config() method within the peripherals.py file.
-
Use the serial numbers of all peripheral devices (such as grippers) to modify the port variables in the peripherals.py file.
After device setup, you can try teleoperating a 7-DOF Franka Emika Panda robot in Robosuite.
- Open a split terminal
- In the left terminal, run:
cd scripts && python sim_robosuite.py --renderer --use_gripper - Based on your gripper input device, choose one of the following examples:
If using a dynamixel as the gripper input, in the right terminal run:
If using an arduino as the gripper input, in the right terminal run:
cd scripts && python acef_interface.py --imu --gripperIf no gripper is configured, in the right terminal run:cd scripts && python acef_interface.py --imu --arduinocd scripts && python acef_interface.py --imu - Hold onto the end-effector while the program connects to peripherals and moves to its initial position.
- Once your hand is oriented properly, press 'c' to calibrate the IMU and set the robot's default orientation to your current orientation.
- If you desire force feedback, press 'f' to turn it on.
- If you wish to turn it off, press 'g'

