Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cartesian velocity control #191

Closed
wants to merge 3 commits into from

Conversation

OmidRezayof
Copy link
Contributor

Cartesian velocity control.
NOTE: This code is under development and may still have issues.
DO NOT try this code near robot singular points. Also, if you're using the motion planning in move_2_cart, be aware that singularities may occur when converting quaternions to euler angles and this may cause unexpexted movements.
Also, unexpected/fast movements may occur if the computer is under load from other tasks and cause delays in the calculation of motion planning so ALWAYS keep your hand on the safety button to be sure.

Copy link
Member

@mhubii mhubii left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thank you for the PR @OmidRezayof. Left you some review. Hope this makes sense to you, let me know

@@ -126,20 +126,18 @@ class JointPIDArray {
using pid_array_t = std::array<control_toolbox::Pid, KUKA::FRI::LBRState::NUMBER_OF_JOINTS>;

public:
JointPIDArray() = default;
JointPIDArray() = delete;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could you please make sure to pull the latest changes from the humble branch?

So that no changes are made to the driver.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @mhubii. I'm a little confused. Didn't you change the pid parameters and how they are configured based on the Issue in this commit?
I was checking my lbr_system_parameters.yaml with yours and they're the same?

@@ -4,7 +4,7 @@ hardware:
port_id: 30200 # port id for the UDP communication. Useful in multi-robot setups
remote_host: INADDR_ANY # the expected robot IP address. INADDR_ANY will accept any incoming connection
rt_prio: 80 # real-time priority for the control loop
pid_p: 10.0 # P gain for the joint position (useful for asynchronous control)
pid_p: 0.1 # P gain for the joint position (useful for asynchronous control)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same goes for the config file here.

and is broadly attributable to Dr Alambeigi (who taught the course).
'''

import numpy as np
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is there a way to provide this functionality through a pip installable library?

@@ -0,0 +1,208 @@
#! /usr/bin/env python3

import rclpy
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you'll have to run the black formatter to pass the linting tests for all python files

@mhubii
Copy link
Member

mhubii commented Jun 20, 2024

closing in favor of #192

@mhubii mhubii closed this Jun 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants