robot_controllers icon indicating copy to clipboard operation
robot_controllers copied to clipboard

How to enable Cartesian Pose Controller in fetch driver

Open ljklonepiece opened this issue 7 years ago • 5 comments

Hi there, in robot_controllers pkg, there is a class called CartesianPoseController. It seems that this function has not been activated in fetch_drivers or fetch_bringup, may I know how I can use this class? since I think it may be useful to execute a short straight line path directly without external planner (such as by Moveit!)

Comments are welcome!

ljklonepiece avatar Mar 13 '18 06:03 ljklonepiece

Also running into this issue. Adding arm_controller/cartesian_pose to fetch_bringup/config/default_controllers.yaml and restarting the robot service does not start it.

Running the following does not work:

or:
~~~~ rosrun robot_controllers_interface start_controller.py arm_controller/cartesian_wrench~~~~

Although the following does:
~~~~ rosrun robot_controllers_interface start_controller.py arm_controller/cartesian_twist~~~~

It seems that the arm_controller/cartesian_twist/command topic is being subscribed to by robot_driver (which is called in fetch_bringup/launch/fetch.launch), but we cannot edit this. Is there a way to do a hard reset of fetch_bringup?

Any advice on how to proceed?

glebshevchukk avatar Oct 19 '18 20:10 glebshevchukk

I'm actually not sure if the cartesian pose controller has ever been tested - there may be issues in the underlying code...

mikeferguson avatar Oct 19 '18 20:10 mikeferguson

Thanks @mikeferguson for the quick reply. I will try to get it active and test it over the weekend.

glebshevchukk avatar Oct 19 '18 23:10 glebshevchukk

Also running into this issue. Adding arm_controller/cartesian_pose to fetch_bringup/config/default_controllers.yaml and restarting the robot service does not start it.

Running the following does not work:

or:
~~~~ rosrun robot_controllers_interface start_controller.py arm_controller/cartesian_wrench~~~~

Although the following does:
~~~~ rosrun robot_controllers_interface start_controller.py arm_controller/cartesian_twist~~~~

It seems that the arm_controller/cartesian_twist/command topic is being subscribed to by robot_driver (which is called in fetch_bringup/launch/fetch.launch), but we cannot edit this. Is there a way to do a hard reset of fetch_bringup?

Any advice on how to proceed?

I wrote a cartesian PD controller myself, you may want to try it out https://github.com/ljklonepiece/fetch_cartesian_control.git

you may want to adjust the parameters in cart_server.py for better speed. let me know if this works for u

ljklonepiece avatar Oct 20 '18 01:10 ljklonepiece

great to hear it works for u!

unfortunately, i have not yet tried in simulation

Yours sincerely, Juekun

PhD Candidate, School of Computing National University of Singapore

On Sun, Oct 21, 2018 at 6:26 AM glebshevchukk [email protected] wrote:

@ljklonepiece https://github.com/ljklonepiece Thanks for sharing the library, it works on our real Fetch! I think you did the right thing with sending converted positions to the cartesian_twist command topic. Interestingly, in simulation, I'm running into the issue described in fetchrobotics/fetch_gazebo#19 https://github.com/fetchrobotics/fetch_gazebo/issues/19, which prevents the cartesian_twist controller from working properly. Did you happen to run into this?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/fetchrobotics/robot_controllers/issues/35#issuecomment-431622736, or mute the thread https://github.com/notifications/unsubscribe-auth/AFUWk-5PbpwD3TxYtWRsZsr-qo-CzWLhks5um6MKgaJpZM4SoI-u .

ljklonepiece avatar Oct 21 '18 14:10 ljklonepiece