[MoveIt!] Help converting the World Coordinates to Joint Coordinates
Hello Everyone,
I have a query regarding implementing a Hardware Interface for Toshiba TH650 SCARA. I am looking to provide the Robot Trajectory points through ROS MoveIt! and have already made the packages for that.
I went through the link which is a good introduction to writing a Hardware Interface and I understand most of it.
The article in very clear terms states that, "In this case, your robot should provide the standard JointPositionInterface
and the JointStateInterface
, so it can re-use all controllers that are already written to work with the JointPositionInterface
and the JointStateInterface
"
Unfortunately, the Robot I am working on cannot provide me the feedback required for the 'JointStateInterface' in terms of the Joint Coordinates. It can only give me a feedback in terms of the World Co-ordinates.
I was doing some digging in and I found about the IKFast Plugin through this post
Can I somehow use the IKFast Plugin to solve my problem ? Kindly Note, mine is a 4 DOF Robot
If not this, could someone please guide me through if there are any other Plugins already present in ROS, or in MoveIt! which I could use to convert the World Coordinates to the Joint Coordinates as then it is pointless proceeding with work on the Hardware Interface.
Any help would be deeply appreciated,
Thanks in advance
What do you mean it can only give you a reference in terms of world coordinates? More particularly, what exactly is the robot giving you feedback for?
Most likely that the robot controller does not provide access to joint angles for the individual axes.
@Jalashwa: how are you currently interfacing with the controller? Can you link us to a programming manual? Most industrial robot ctrlrs are alike, and not having joint space joint angles ..
.. is rather rare. It is typically the lowest level of control that is offered.
@gvdhoorn: PFA the Github link to get the files I have. This particular Robot is a very old one. It doesn't provide the Joint States feedback,as told to me by me Colleague.
Could there be aother way to transform the world to Joint coordinates? TY
@malcolmwatt: I need the joint states feedback so that the Joint Trajectory Action Controller can use the data for actuating the Robot
I don't know anything about these robots, or how fast you could get this data, but
STE71289.pdf
, section 4.3.3 (Details of Commands) under the File subsection, and then5-III
(Current Value) mentions "Joint coordinate value" (4 *float
). That would seem to be joint states.Seeing as the maximum baudrate for your controller is 38400, it's not going to be fast in any case most likely.
@gvdhoorn: Thanks for your input :) I have also written to Toshiba Machine about this issue. In the meanwhile, any workaround that comes to your mind to mitigate this problem ?
Writing an Hardware Interface is pointless if this problem can't be solved
Have you tried accessing the "Joint coordinate value" that is mentioned in the manual? I would just experiment a bit first before concluding that it's not useful.
Yes, I have taken a note of that. I need to discuss it with my Supervisor before I can procced with it. For the moment he is convinced that I won't get the data I am looking for.