Contoro Controller
Objective: Design a controller to aid a human operator in the teleoperation of the end effector of a robot arm.
The project sponsor, Contoro Robotics, aims to develop a robotic arm capable of unloading trucks, a task requiring precise operator control over the gripper. Consequently, the controller design focused on enabling the operator to use a pinching motion to control the gripper. This motion was selected for its intuitiveness and ability to allow the user to apply precise force while actuating the control button.
As the electrical lead for the team, my design was guided by the constraints of core functionality and compactness. The electrical system consisted of the following components:
Microcontroller: The Osoyoo Pro Micro is a compact controller that has 7 PWM output channels that connect to the motor driver.
Actuator Driver: The DRV 3388 is a dual H-bridge motor driver that can take inputs from both trigger servos.
Actuator: Two compact MG90S hobby servos that are connected to a 3D printed moment arm.
Sensors: The internal potentiometer of the hobby servo was accessed through the “servo hacking” process.
Cable Management: A prototyping board was used to create long term circuit connections. JST-XH connectors were added to simplify the circuit and maintenance.
Initially, I intended to use a magnetic encoder (AS5600) for position sensing to record user input. However, this approach required the encoder to be positioned near the triggers, which conflicted with the mechanical design. To resolve this issue, we opted to eliminate the sensor and instead leverage the internal potentiometer of the servo using a technique we termed “servo hacking.”
Servo hacking involves desoldering the connection between the internal potentiometer and the motor, then rerouting these connections to the microcontroller and motor driver, respectively. This approach allows for the implementation of custom control loops directly within the servo, enabling the integration of haptic feedback for the user.