Skip to content

JS-RML/Direct-Drive-Gripper-with-Swivel-Fingertips

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Direct-Drive Gripper with Swivel Fingertips (2024)

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


Table of Contents


Parts

Prepare for the following parts.

Bill of materials (BOM)

Off-the-shelf parts

3D Printing

Motors

Parts related to motors can be put together as follows. $\color{red}{\textsf{Missing links to the images below.}}$

Motor Subassembly

We need four motor subassemblies. Each one can be assembled as follows. motor_with_magnet motor-plate actuator-module

Wiring

The components should be connected following the diagram below. The encoder connection(black) and power connection(green) will be further elaborated. wiring

Power Supply

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. power_supply

Encoder Connection

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.

encoder_wiring encoder_odrive

After successful fabrication, connect the motor encoders and the ODrives.

Motor Connection

Keep the 3-phase connection consistent as shown below. wiring-power motor_odrive

Odirve S1 Pin map.

odrive_power odrive_pinmap

Motor Calibration

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.

motor-zero

Calibrate ODrives

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)

Calibrate Zero Position

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

calibration-stand

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.

zero-stop

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.

motor_offset_gui

Gripper

Finger Assembly ⨉ 2

You sholud insert the bearings in the red circle.

finger

Gripper Assembly

gripper_shell

gripper

Mounting

mounting

gripper_mounted

Customization

Mounting

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. $\color{red}{\textsf{Move this statement to those parts that need to be redesigned. Or does this apply to all the parts?}}$ base_mount


Software

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.

Versions

  • ubuntu : 20.04
  • Python : 3.10.11
  • Odrive control untility : 0.6.7

Getting started

  1. First, you should install accompanying PC program for the ODrive, 'odrivetool'.
pip install --upgrade odrive
  1. 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"
  1. 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

Contributors

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages