We here introduce our latest direct-drive gripper. Compared to the previous version that we presented in ICRA 2023, the current one adopts swivel fingertips with passive compliance for enhanced adaptiveness. Follow the instructions below to create one.
Related repos
Prepare for the following parts.
- T-motor gb54-2 X 4
- Odrive s1 X 4
- AS5048A Encoder + solid magnet X 4
- Bearing - outer-diameter = 100mm, inner-diameter = 6mm X 12
- Spring - spring constant = 2.0N/mm, length = 10mm, outer-diameter = 4φ X 2
- Wire terminal box X 1
- Shielded cable X 1
- 3-phase cable X 3
- Bearing_insert_holder X 2
- Bearing pin X 2
- Distal link X 2
- Distal tip cap left X 1
- Distal tip spring version left X 1
- Distal tip cap right X 1
- Distal tip spring version right X 1
- Finger tip X 2
- Motor shell X 1
- Motor plate X 4
- Proximal link X 2
- Porximal link cap X 2
- Proximal link pillar X 2
- Rotation limiter X 2
Parts related to motors can be put together as follows.
We need four motor subassemblies. Each one can be assembled as follows.
The components should be connected following the diagram below. The encoder connection(black) and power connection(green) will be further elaborated.
First connect the DC power supply to the wall plug. Then connect it to the four ODrive boards, positive to positive, negetaive to negative. There is no on/off button on the boards, plug in the wall plug to turn the system on, unplug to turn it off.
For the encoder connection, we fabricate a cable assembly as shown below in the schematic. It is recommended to verify the connectivity and resistance of each connection to make sure the cables are soldered properly. We also recommend to label each connector like the schematic.
After successful fabrication, connect the motor encoders and the ODrives.
Keep the 3-phase connection consistent as shown below.
Each actuator module require calibration before use. This step can not be done after the gripper is assembled, so do not postpone this step.
We explicitly define the direction of the rotor
to be the direction the hexagonal logo on the rotor is pointing at, and the zero position of the motor
to be when the direction of the motor is pointing at the opposite direction of the power port on the stator.
ODrive provides a GUI service for setting up the motordriver. (Odrive GUI) In the configuration tab in this GUI, You can set up the motordriver's configuration.
- Power source
- DC bus overvoltage trip level: 26
- DC bus undervoltage trip level: 22
- DC max positive current: 'Leave it blank'
- DC max negative current: -0.5
- Motor
- Type: Gimbal
- Phase resistance: 2.675
- Pole pairs: 7
- KV: 26
- Current limit: 1
- Motor calib current: 10
- Motor calib voltage: 2
- Lock-in spin current: 10
- Encoder
- Type: SPI(AMS protocol)
- nCS pin: GPIO 12
- Control mode
- control mode: Position Control
- Soft velocity limit: 10
- Hard velocity limit: 13.75
- Torque limit: 0.192
- Interface
- UART(115200)
Here we calibrate the zero position of the motor. Mount the actuator on the calibration stand and install the calibration arm onto the actuator according to the diagram
Put the motor into zero position as show in the diagram below. Press down the calibration arm to make sure the stand and arm touch tightly.
Check the 'pos_estimate' value of each odrive(ODrive0, ODrive1, ODrive2, ODrive3...) in the 'inspector' tab of the Odrive GUI and memorize this value. Later, you will use this value to set motor offset when you create the 'Actuator' object.
You sholud insert the bearings in the red circle.
If the default mounting does not work for you, it's very easy to make a custom mount. The gripper has a 60 mm PCD with 4 ⨉ M4 mounting interface, as shown in the drawing below.
The gripper is designed to be compatible with Rainbow robotics RB5. For other robot systems, it would be better to customize the adapter plate and coupling.
Our software is implemented with python3 and tested on Ubuntu. You can also refer to this website https://docs.odriverobotics.com/v/latest/guides/getting-started.html.
- ubuntu : 20.04
- Python : 3.10.11
- Odrive control untility : 0.6.7
- First, you should install accompanying PC program for the ODrive, 'odrivetool'.
pip install --upgrade odrive
- Set up USB device permissions.
sudo bash -c "curl https://cdn.odriverobotics.com/files/odrive-udev-rules.rules > /etc/udev/rules.d/91-odrive.rules && udevadm control --reload-rules && udevadm trigger"
- To launch the main interactive ODrive tool, type 'odrivetool'. And then, type 'odrv0.vbus_voltage' to inspect the boards main supply voltage.
odrivetool
If the program is installed and the odrive is connected successfully, then you can see the messages.
ODrive control utility v0.6.7
Please connect your ODrive
You can also type help() or quit().
Connected to ODrive S1 384D34783539 (firmware v0.6.7) as odrv0
In [1]: odrv0.vbus_voltage
Out [1]: 23.931137084960938
- Hyeonje Cha, [email protected]
- Seunghwa Oh, [email protected]