realtime control manipulator in ros
I have a 6 DOF manipulator URDF, I can use the computeik service to have solution for a specified pose then I publish in Rviz but I see that if I use setjointvaluetarget or setposetarget it very slow. Is there other way to do that faster than setjointvaluetarget and setpose_target. Assuming that I have a node subscribe to a node that give me the pose that manipulator have to reach. Thanks in advance
Asked by nguyentuMTA on 2019-06-07 10:47:14 UTC
Answers
First of all, I'd like to note that request-reply communication pattern is much slower than pub-sub, and this is true not only for ROS, but for other communication frameworks like 0mq and AKKA. ROS services implement the request-reply pattern so avoid them when high performance is important.
Maybe you could use the jog_arm package as mentioned in this answer but I haven't tried this solution myself.
For my current real-time teleoperation framework I use a custom implementation of inverse and forward kinematics solution simply following the tutorial from MoveIt. The node subscribes to a cartesian pose topic and publishes corresponding joint states, and subscribes to a joint states topic and publishes cartesian poses. This way I can run the control loop at 1KHz, and it can work even faster, if necessary.
So I recommend you to get your hands dirty, write a little bit of code, and you'll be able to implement more sophisticated things like converting cartesian velocities to joint speeds, which is crucial for teleoperation or visual servoing of manipulators like UR5.
Asked by VitaliyProoks on 2019-06-13 05:42:30 UTC
Comments
Which seems to be exactly what jog_arm
implements.
In general I agree with you though: for on-line control (real-time implies deterministic for me), trying to use the high-level interfaces to the full planning pipeline of moveit just isn't going to work at the moment.
Asked by gvdhoorn on 2019-06-13 06:07:59 UTC
I can't understand your word very clear can you give me some guide like an example in github thanks in advance
Asked by nguyentuMTA on 2019-06-13 09:34:22 UTC
Comments
Would this be related to #q324392?
Asked by gvdhoorn on 2019-06-08 02:08:40 UTC