Hello everyone!
I'm trying to control the panda robot together with the UR5 robot through MoveIt!. For this, I combined both robots in a xacro file and correctly set up the simulation, including moving to poses etc.
Now I want to work with the real robots and have some troubles with the controllers. At first, I only try to control the Panda robot. The franka_example_controllers worked fine. Now I try to use a new controller. My controllers.yaml file looks like this:
UR5_controller:
action_ns: follow_joint_trajectory
type: FollowJointTrajectory
default: true
joints:
- ur5_shoulder_pan_joint
- ur5_shoulder_lift_joint
- ur5_elbow_joint
- ur5_wrist_1_joint
- ur5_wrist_2_joint
- ur5_wrist_3_joint
Panda_controller:
type: effort_controllers/JointTrajectoryController
joints:
- panda_joint1
- panda_joint2
- panda_joint3
- panda_joint4
- panda_joint5
- panda_joint6
- panda_joint7
gains:
panda_joint1: { p: 120, d: 5, i: 0.0, i_clamp: 10000 }
panda_joint2: { p: 300, d: 10, i: 0.02, i_clamp: 10000 }
panda_joint3: { p: 180, d: 5, i: 0.01, i_clamp: 1 }
panda_joint4: { p: 180, d: 7, i: 0.01, i_clamp: 10000 }
panda_joint5: { p: 120, d: 7, i: 0.01, i_clamp: 1 }
panda_joint6: { p: 100, d: 5, i: 0.01, i_clamp: 1 }
panda_joint7: { p: 100, d: 2, i: 0.0, i_clamp: 1 }
constraints:
goal_time: 2.0
state_publish_rate: 25
This leads me to an error while setting up:
[ERROR] [1561555629.203914705]: No controller_list specified.
The rest of setting up works: RViz opens, showing me the real robot states.
When trying to execute a trajectory, I get the following error message:
[ERROR] [1561553234.640997333]: Unable to identify any set of controllers that can actuate the specified joints: [ panda_joint1 panda_joint2 panda_joint3 panda_joint4 panda_joint5 panda_joint6 panda_joint7 ]
[ERROR] [1561553234.641057622]: Known controllers and their joints:
[ERROR] [1561553234.641112443]: Apparently trajectory initialization failed
It sounds like there weren't any controllers found, though the (rqt_)controller_manager says something different.
Here comes my first question, because it really confuses me that in some places it says, the controllers.yaml file should look like this:
controller_list:
- name: UR5_controller
[...]
When I tried the latter method, I got another error:
[ERROR] [1561554412.210393573]: Could not load controller 'Panda_controller' because the type was not specified. Did you load the controller configuration on the parameter server (namespace: '/Panda_controller')?
In this case, the controller manager doesn't know my controllers.
EDIT: According to [this post](http://answers.ros.org/question/312534/confused-about-loading-ros_control-and-moveit-controllers/) you have to configure two controllers.yaml-files: one for moveit, one for ROS. Can somebody confirm this? Doesn't sound like a clean solution. I tried to make it in this way, but it didn't work either.
Also, when I'm setting up, I get another error, which I already got in the simulation. I guess it's not relevant and related to OMPL, because there are logging messages about OMPL before and after it.
[ INFO] [1561554412.219047682]: Initializing OMPL interface using ROS parameters
[ERROR] [1561554412.229484188]: Could not find the planner configuration 'None' on the param server
[ERROR] [1561554412.246956134]: Could not find the planner configuration 'None' on the param server
[ INFO] [1561554412.270927903]: Using planning interface 'OMPL'
After all, I have some questions if I'm even on the right track. In some answers and tutorials, it sounds like there would be no predefined controllers (except from the franka_example_controllers, which already include the desired poses) at all. Therefore, in any case I would have to do my own controller.
Is this correct? Or is it (as I tried) enough to reference one of the controllers of ros_control? If so, what am I doing wrong?
I'm just trying to use a simple controller which I can give a pose/trajectory, which it executes.
This is my setup:
- ROS Melodic
- Ubuntu 18.04.2 LTS
- Intel® Xeon(R) CPU E3-1225 v3 @ 3.20GHz × 4
- Realtime Kernel (4.19.37-rt20-rc1 #1 SMP PREEMPT RT)
Thanks a lot! If you need any additional information (launch file, rqt_graph, ...) , let me know!
↧