Ask Your Question

[ros_control] VelocityJointInterface with an actuator with no sensor feedback

asked 2015-12-01 15:25:41 -0500

kukyakya gravatar image

This question is related to ros_control.

I'm working on a platform having an actuator with an embedded controller. The only thing I can do is to send a velocity command and trust the controller, I can not read the current position or velocity.

VelocityJointInterface seems to be the right interface, but JointHandle, the handle of the interface, inherits from JointStateHandle which needs valid pointers to all of position, velocity, and effort.

The first option was to make a dummy storage for position and effort (which will never be updated). It works fine for me but it'll malfunction if I use some controllers that assume those fields are correctly updated and use them, like PID controllers.

The second one is to write a new interface but I don't think it's a right way to do it since it hurts 'abstraction'.

Is there any way to disable some fields or mark them as 'N/A' without adding a new interface?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2015-12-02 00:34:42 -0500

ahendrix gravatar image

You can't use a position controller (such as a PID position controller) without position feedback.

Faking the position feedback is counterproductive; the integrated velocity error will build up until the position estimate is completely wrong.

At best, you can use one of the controllers that passes velocity commands through to the hardware.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools


Asked: 2015-12-01 15:25:41 -0500

Seen: 317 times

Last updated: Dec 02 '15