1 / 2
HP Otto: Otto Omni3 — image 1
1 / 2

HP Otto: Otto Omni3

Order a print of this model

We calculate the final price from your selected file. You review and accept it before payment.

Saved on this device.

Omni wheel mod for HP Otto using 3 wheels

Rating
0 / 5
Likes
47
Downloads
39
Makes
0
Views
779
Reviews
0

Updated at source:

Model information

License
Creative Commons — Attribution — Noncommercial — Share Alike

This modification of the HP Otto starter replaces the standard lower body part with one designed to take 3 HP Otto 'servo wheel' continuous rotation servos arranged with 120 degree separation. A three way servo clamp secures them in place.

I already had some 62mm omni wheels from a different project, but the mounting can easily be adapted to suit other desings of wheel, such as Ivan3D's design here on printables

  https://www.printables.com/model/283636-omniwheel-58-mm

I have struggled to find a source for the particular 62mm wheels I used, but I have just found them on Alibaba: https://www.alibaba.com/product-detail/Mecanum-Wheel-Set-for-TT-Motor_1601679676742.html

Printing

PLA, 15% infill, no supports. All STL files are in the correct orientation for printing.

Assembly

The wheel adaptors are attached in the same manner as the starter kit wheels, with the servo horn screw also securing the adaptor. Then the hexagonal shaft is pushed in and the omni wheel pushed onto this. The exact design of the shaft can be modified for different axle fittings.

The rest of the assembly is the same as for a standard Otto. Otto is assembled with one wheel at the back and two angle wheels at the front. I use connector 8 for the back wheel.

Control

I've written some micropython code to control the movement in any given direction. But for those interested, here's the principle.

  • v1 = -Vx + angle_v

  • v2 = cos60 Vx - sin60 Vy + angle_v

  • v3 = cos60 Vx + sin60 Vy + angle_v

so for a desired speed in a given direction(dir_angle) with a given speed of rotation(angular_v)

  • vx = -speed * sin(dir_angle)

  • vy = speed * cos(dir_angle)

  • v1 = -vx + angular_v

  • v2 = 0.5 vx - √3 / 2 * vy + angular_v

  • v3 = 0.5 vx +√3 / 2  * vy + angular_v

Code

Micropython code to control Otto Omni3 from the new HP Otto phone app can be found here: https://github.com/UEA-envsoft/HP-Otto-Omni3

The joystick control controls movement in any given direction, the D-pad control controls rotation of the robot.