myrobotlab icon indicating copy to clipboard operation
myrobotlab copied to clipboard

WebGUI Config of the IK3D Service similar to other services.

Open Cyber-One opened this issue 3 years ago • 3 comments

Is your feature request related to a problem? Please describe. The InverseKinematic3D service (IK3D Service) is a powerful and complex service with no User Interface in either SwingGUI or WebGUI. What's more the IK3D Service is able to control multiple arms.

Describe the solution you'd like A user interface that allows for a arm to be created or edited. (I'm assuming there will be a default arm in the defaultConfig) The ability to add or remove links to the arm and edit the links as needed as the robot design is modified (make an arm longer or shorter or fine tune the parameters.) The ability to attach the link to a servo/DIYservo, limits and current position can then be obtained from the servo service for the current link. Also the ability to enable/disable the control of the servos on an arm. (This will allow other systems to control the arm.)

Describe alternatives you've considered Coding in either Java or Python. This method is not very NOOB user friendly.

Additional context The ability to use a moveTo() function that selects the Arm, X, Y and Z axis target destination, number of steps, and time between steps would also be handy as part of the UI. This service would be handy for each of the arms and the head of the Inmoov robot. as well as the SpotMicro Robot or any other robot that has a multi servo leg or Arm attached.

While it is possible to write your own forward and inverse kinematics for any arm up to 3 joint, beyond that does require the use of the IK3D service.
The Inmoov Arm has 5 joints not including the fingers or the lower torso. Inputs to the IK3D service should be accessible from the Servo Mixer or a service similar to the servoMixer created to support the WebGUI control of multiple arms.

The term "Arm" here is defined as a multi joint device that may have a hand, end-effector or foot attached to the end.

Ray Edgley

Cyber-One avatar Jan 16 '22 11:01 Cyber-One

I would try and use this on my legs. Currently: hips have pitch & yaw, knees have pitch, feet have pitch & roll, so 5 degrees of freedom. My last legs had 6, hips also had roll which I may add to my current legs. All joints have angle sensors (AS5600) for feedback, and all motors are controlled with RoboClaw bds. The RoboClaw bds. use encoders for position and you can set current limits on the motors. So we need to support servos and DC motors. Harland

https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=icon Virus-free. www.avast.com https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=link <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>

On Sun, Jan 16, 2022 at 6:08 AM Cyber-One @.***> wrote:

Is your feature request related to a problem? Please describe. The InverseKinematic3D service (IK3D Service) is a powerful and complex service with no User Interface in either SwingGUI or WebGUI. What's more the IK3D Service is able to control multiple arms.

Describe the solution you'd like A user interface that allows for a arm to be created or edited. (I'm assuming there will be a default arm in the defaultConfig) The ability to add or remove links to the arm and edit the links as needed as the robot design is modified (make an arm longer or shorter or fine tune the parameters.) The ability to attach the link to a servo/DIYservo, limits and current position can then be obtained from the servo service for the current link. Also the ability to enable/disable the control of the servos on an arm. (This will allow other systems to control the arm.)

Describe alternatives you've considered Coding in either Java or Python. This method is not very NOOB user friendly.

Additional context The ability to use a moveTo() function that selects the Arm, X, Y and Z axis target destination, number of steps, and time between steps would also be handy as part of the UI. This service would be handy for each of the arms and the head of the Inmoov robot. as well as the SpotMicro Robot or any other robot that has a multi servo leg or Arm attached.

While it is possible to write your own forward and inverse kinematics for any arm up to 3 joint, beyond that does require the use of the IK3D service. The Inmoov Arm has 5 joints not including the fingers or the lower torso. Inputs to the IK3D service should be accessible from the Servo Mixer or a service similar to the servoMixer created to support the WebGUI control of multiple arms.

The term "Arm" here is defined as a multi joint device that may have a hand, end-effector or foot attached to the end.

Ray Edgley

— Reply to this email directly, view it on GitHub https://github.com/MyRobotLab/myrobotlab/issues/1013, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACN74N44VMDE2TZQ4NPCQKTUWKRLRANCNFSM5MCUQNGA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you are subscribed to this thread.Message ID: @.***>

johnharland avatar Jan 17 '22 17:01 johnharland

I'm surprised the Roboclaw service doesn't have support of moveTo() since it has an encoder input on it. http://myrobotlab.org/service/RoboClaw

But yes once the moveTo() feature is added to that service, it could be included as well :-) Ray

Cyber-One avatar Jan 17 '22 19:01 Cyber-One

it does, both relative moves and absolute from 0 plus you can set speed, acceleration and deceleration on the move Drive M1 With Signed Speed And Acceleration Drive M1 with a signed speed and distance value Drive M1 With Signed Speed, Accel And Distance Drive M1 with signed Speed, Accel, Deccel and Position there are a lot of commands john

On Mon, Jan 17, 2022 at 2:29 PM Cyber-One @.***> wrote:

I'm surprised the Roboclaw service doesn't have support of moveTo() since it has an encoder input on it. http://myrobotlab.org/service/RoboClaw

But yes once the moveTo() feature is added to that service, it could be included as well :-) Ray

— Reply to this email directly, view it on GitHub https://github.com/MyRobotLab/myrobotlab/issues/1013#issuecomment-1014835297, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACN74N7TL3VONJ2GJHB7T2TUWRU2NANCNFSM5MCUQNGA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you commented.Message ID: @.***>

johnharland avatar Jan 17 '22 20:01 johnharland