SJSURoboticsTeam / joystick-serial-prototype-2022

Interface for controlling the various SJSU Robotics robots
http://mission-control-ui.s3-website-us-west-1.amazonaws.com/
0 stars 0 forks source link

Inverse Kinematics: User Input #41

Open starphys opened 1 year ago

starphys commented 1 year ago

The control system (in Target.tsx) needs to be updated to only accept input within the correct component, and to scale the x/y coordinates proportionally to that component instead of to the whole window. Right now clicking on the center of the screen is the only way to send input at the center of the model, even when it is not actually centered on the screen. This is a nice React task that doesn't strictly require other libraries, so a good way to improve React fundamentals. We also need to decide on a way to control z input, which might be click in the window (just like x and y) or might be connected to the scroll wheel or a UI element. There are disadvantages to each approach, so we should try a few and see what feels most natural. Additionally, it would be great to have an in-world cursor for the targeting system, that is a different color from the target once its placed. This will let us see where we're sending the hand to before we actually start sending angles for it. Finally, we need to disconnect the click-to-set-target from the click-to-rotate-camera controls. We might be able to bind one or the other to ctrl+click instead, or take any other approach that allows us to control them independently.

william-green commented 1 year ago

I got the branch setup and I replicated the issue. I can take the task.

william-green commented 1 year ago

Completed!

starphys commented 1 year ago

This still needs to be tested on someone else's machine. Additionally, there are several subtasks on here that haven't been started.

starphys commented 1 year ago
Viha123 commented 1 year ago

I have modified the event listeners so that now it is left click drag to rotate camera and right click to set target. I can change the specifics later if required.