ZebraDevs / robot_controllers

Robot control infrastructure
92 stars 79 forks source link

How to enable Cartesian Pose Controller in fetch driver #35

Open ljklonepiece opened 6 years ago

ljklonepiece commented 6 years ago

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!

glebshevchukk commented 5 years ago

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?
mikeferguson commented 5 years ago

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

glebshevchukk commented 5 years ago

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

ljklonepiece commented 5 years ago

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 commented 5 years ago

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 notifications@github.com 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 .