-
Notifications
You must be signed in to change notification settings - Fork 74
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
Reading and writing to the same hardware interface #52
Comments
when the controller first start, we calculate need to calculate the trajectory based on the initial_q that we get in the beginning. This is partially a bug from our side. You can see an example of this in the libfranka as well https://github.com/frankaemika/libfranka/blob/master/examples/generate_joint_position_motion.cpp#L51. So you need to keep the initial_q for the first calculation for your trajectory. You could still add another
|
Thanks for your replies & explanation! I've tried a few iterations of the code you sent above. You do have to read from When writing to hardware interfaces in a ROS2 controller, I typically don't think about the motion generator running "under the hood" in the arm's embedded system. My understanding of ROS2 control is that all of the implementation details below the hardware interface should be abstracted away from the controller level. Is there any way for this behavior to change? As it stands, when writing to the |
sorry I didn't it get it completely. Did what I send you satisfy what you needed? |
The instruction to read from the |
No you don't always need the initial_joint_position unless you command the robot. You can remove the commanding section and just read the state part.
|
Yes agreed. I think being required to read from |
You are correct, I mentioned this here. |
Sorry, I'm surprised this issue was closed. Does the team plan to fix the issue so that |
Sorry for not being clear. This bug is not on the franka_ros2 or in the FCI side. And this should not prevent you from writing your joint position controller. If you need more help, you could share your code. We can try to fix your issue. |
Btw you can always activate the rate limiter and low pass filter to avoid ["joint_motion_generator_acceleration_discontinuity"] errors ->
|
…impedance-with-bio-ik to humble * commit '30347acfe6122b8dd6ffd55e0a316cde2e0e73a8': bump version 0.1.11 chore: switch to orocos-lma-ik feat: joint impedance controller with moveit ik service
To implement a joint position controller (which accepts a topic input), we need to be able to read the current state of the robot. To do this, I added the "/position" interface to the
configure_state_interfaces
method, as shown here. When I do so, I get the following error.If we cannot read and write to the same hardware interfaces, I think we can add one extra topic input to the controller which accepts the published robot state. Still, I think the optimal solution is reading the state directly from the hardware interface. Is this supported?
Launch Output
The text was updated successfully, but these errors were encountered: