Closed AriYu closed 8 years ago
@AriYu
If you are using master or use_diff_drive_controller branch now, forest_robot_project/fr01_control/launch/fr01_sim_control.launch
looks wrong.
Specifically, you don't need to spawn steer_hogehoge_position_controllers if rocker_bogie_controller is spawned. They are already spawned in rocker_bogie_controller. That's why the console says something like previously registered
or replacing
.
<!-- load the controllers -->
<node name="controller_spawner" pkg="controller_manager"
type="spawner" respawn="false"
output="screen"
args="fr01_diff_drive_controller
joint_state_controller
steer_right_front_joint_position_controller
steer_right_back_joint_position_controller
steer_left_front_joint_position_controller
steer_left_back_joint_position_controller
" />
See the launch file below in add_fr01_rocker_bogie_controller
https://github.com/Nishida-Lab/forest_robot_project/blob/add_fr01_rocker_bogie_controller/fr01_control/fr01_control/launch/fr01_sim_control.launch
Here is the right one.
<node name="controller_spawner" pkg="controller_manager"
type="spawner" respawn="false"
output="screen"
args="fr01_rocker_bogie_controller
joint_state_controller
" />
Maybe some configurations under fr01_control
directory doesn't seem to inherit ones in add_fr01_rocker_bogie_controller
, Please check it out and fix it.
Thanks.
@MoriKen254 Thank you for your comments.
Sorry, I forgot to notify using branch. The testing branch is fix-fr01control-launch
.
I already had fixed fr01_sim_control.launch
you pointed out.
Thank you.
@AriYu Ok, excuse me.
Next, didn't you somehow register joint_state_controller
twice?
Basically, 'hardware_interface::JointStateInterfaceis only used in
joint_state_controller` and the console says the one is replaced.
@MoriKen254
I overlooked hardware_interface::Joint **State** Interface
.
I will try to rewrite some codes.
Thank you !!
I tried
rocker_bogie_controller
on real robot. I add newfr01_bringup
pkg for start up all necessary nodes, plugins and so on. Then, I commanded followingI succeeded to control steering joints. But wheel joints had not moved. I sought
ERROR
orWARN
on screen messages and found following messageSo, they say
Replacing previously registered interface 'hardware_interface::JointStateInterface'.
. I don't know why this is caused, but I suspect to need independent controller manager for every joint type. Now, velocity joint interface and position joint interface are into oneRobot::HW
. Do you have any other ideas about cause of this problem ?