USF Robot - ROS 2 Joystick Control Demonstration

  Рет қаралды 1,506

Farida the Ninja Ballerina

Farida the Ninja Ballerina

Күн бұрын

GitHub Repository: github.com/Nin...
This project, developed over the summer of 2024 for my university's Electrical Engineering department, features a 3D-printed robot designed and created by me for use in an Applied Robotics class. The robot's mechanical design was crafted using Autodesk Fusion, and it is programmed in Python on a Raspberry Pi 5 running Armbian OS (Ubuntu 22.04 LTS) and ROS 2 Humble Hawksbill.
** Update: Ramp logic is now implemented for link 1 and link 2 (buttons A, B, X and Y) **
Control System:
- Joystick: 8BitDo Ultimate C
- Mapped Controls:
Analog Stick (Axis 0, 1): Controls base rotation. Values from -32767 to 32767 are converted to degrees, then the angle difference is calculated to determine clockwise or counterclockwise movement.
Analog Stick (Axis 2, 3): Controls wrist rotation using the same conversion method as the base rotation.
Button LB: Closes the gripper. The position of the gripper is incremented by 480 units per press.
Button RB: Opens the gripper. The position of the gripper is decremented y 480 units per press.
Button A: Moves link 1 forward. The ramp logic gradually and quadratically increases the position of link 1.
Button B: Moves link 1 backward. The ramp logic gradually and quadratically decreases the position of link 1.
Button X: Moves link 2 forward. Gradually and quadratically increases the position of link 2 using ramp logic.
Button Y: Moves link 2 backward. Gradually and quadratically decreases the position of link 2 using ramp logic.
Mechanical Design:
- End Effector: Gripper secured with two racks and a pinion gear connected to the last servo (servo 4).
Wiring Schematics:
The Raspberry Pi 5 connects to a level shifter via TTL serial (Tx and Rx). The level shifter safely interfaces with the Raspberry Pi 5 with the Pololu Micro Maestro 6-channel servo controller by adjusting voltage levels. The system operates five servos (servo 0 to servo 4) powered by a 6V power supply.

Пікірлер: 12
@ChrisLocke1969
@ChrisLocke1969 Ай бұрын
add ramping to servos, you'll be much more satisfied! Looking good, kudos!
@Ninja_Ballerina
@Ninja_Ballerina Ай бұрын
Thank you for the suggestion! It moves more smoothly now with the gradual ramping. I updated my repository with the ramp logic in robot_controller.py. I appreciate the encouragement!
@ChrisLocke1969
@ChrisLocke1969 Ай бұрын
@@Ninja_Ballerina you've done an amazingly great job - multiple axis robots are a challenge, you should be proud - can't wait to see what challenge you take on next! New subscriber, I am!
@Ninja_Ballerina
@Ninja_Ballerina Ай бұрын
​@@ChrisLocke1969 Thank you so much for the kind words and for subscribing! Mapping the joystick inputs was indeed a fun challenge for a multiple-axis robot. I used jstest /dev/input/js0 to observe that the axes range from -32767 to 32767, which are 16-bit signed integer values. Seeing these ranges made me think of Cartesian coordinates, where the joystick's x and y positions can be interpreted as points on a 2D plane. I calculated the arctangent of the y and x values and converted them to degrees. After I determined the angle difference, I was able to map the joystick's motion to the robot's rotation direction. Believe it or not, the part I enjoyed the most was the mechanical design in Autodesk Fusion. I look forward to any more challenges and projects that I will partake in during my academic journey. Thanks again for the support!
@ChrisLocke1969
@ChrisLocke1969 Ай бұрын
@@Ninja_Ballerina now THAT's how its done!! Impressive!
@Nikalym
@Nikalym Ай бұрын
gotta love engineering, gonna leave a sub right away!
@ayishanecholi1353
@ayishanecholi1353 Ай бұрын
Farida Rocks!! Awesome🤩👏👏👏
@Hajdew
@Hajdew Ай бұрын
Cool Robot
@sandulchandila
@sandulchandila Ай бұрын
That is awsome
@savagesarethebest7251
@savagesarethebest7251 Ай бұрын
That is cool
@user-om3ik2rl3o
@user-om3ik2rl3o Ай бұрын
Smart ❤ and gorgeous ❤
@Negmo
@Negmo Ай бұрын
HeHe
Solving the problem EVERY robot has (with ros2_control)
24:36
Articulated Robotics
Рет қаралды 83 М.
COMMUNISM vs CAPITALISM: Who Made Better Power Tools?
24:39
The Doubtful Technician
Рет қаралды 691 М.
Nurse's Mission: Bringing Joy to Young Lives #shorts
00:17
Fabiosa Stories
Рет қаралды 15 МЛН
АЗАРТНИК 4 |СЕЗОН 1 Серия
40:47
Inter Production
Рет қаралды 1,2 МЛН
At the end of the video, deadpool did this #harleyquinn #deadpool3 #wolverin #shorts
00:15
Anastasyia Prichinina. Actress. Cosplayer.
Рет қаралды 16 МЛН
3 Hours vs. 3 Years of Blender
17:44
Isto Inc.
Рет қаралды 4,8 МЛН
My Robot Was Blind, But Now He Can See!
10:41
Agentic Powered Robots
Рет қаралды 1,9 М.
The coolest robot I've ever built!
19:40
Thomas Burns
Рет қаралды 4,6 МЛН
Alternative to bearings for tiny robots
12:05
Breaking Taps
Рет қаралды 703 М.
This intense AI anger is exactly what experts warned of, w Elon Musk.
15:51
I forced EVERYONE to use Linux
22:59
NetworkChuck
Рет қаралды 515 М.
When Your Game Is Bad But Your Optimisation Is Genius
8:52
Vercidium
Рет қаралды 1,5 МЛН
L'ascenseur (The Elevator) - Version 3.0
6:53
Farida the Ninja Ballerina
Рет қаралды 1,6 М.
Nurse's Mission: Bringing Joy to Young Lives #shorts
00:17
Fabiosa Stories
Рет қаралды 15 МЛН