How to know if the controllers are working/controlling?
Spawned robot in gazebo is falling down/crushing to the floor.
Hello guys,
I was thinking I have made everything properly but I have found myself in a situation in which I have spawned robot in gazebo fallen down on the floor.
From what I could tell you, there is no error in the terminal after launching gazebo.launch
file, but the gazebo starts and the robot is the position like is crushed down, fallen, like there is no control at all (I would have shown a picture, but I have no right yet).
So I tried these approache, with gazebo in pause:
- lauch file with controllers loaded and I can see the controllers are loaded in the terminal. When gazebo starts the robot is spawned in the position defined in the sdf file. After starting the simulation it just fells down.
- lauch file with controllers loaded and I can see the controllers are loaded in the terminal. When gazebo starts the robot is spawned in the position defined in the sdf file. Change the gravity in z axis from -9.8 to 0 and after starting the simulation the robot stays in the position.
- lauch file without controllers. When gazebo starts the robot is spawned in the position defined in the sdf file. After starting the simulation it just fells down.
- lauch file with controllers. When gazebo starts the robot is spawned in the position defined in the sdf file. After starting the simulation it just fells down. Change the gravity in z axis from -9.8 to 0 and after starting the simulation the robot stays in the position.
So from this I would say that the controllers are not controlling the robot as they should or not at all, right?
Shouldn't I be able to see the controller publishing on the /follow_joint_trajectory/goal/
topic something?
when I echo
the topic I get this:
WARNING: topic [/fanuc_arm_controller/follow_joint_trajectory/goal] does not appear to be published yet
WARNING: no messages received and
simulated time is active. Is /clock being published?
The clock is being published, I have tried the echo the clock topic
I am using EffortController/JointTrajectoryController
and I have made a package using the moveit, but I am not launching the move_group.launch
file because when I have tried to launch I had the same problem with the robot model. That's why I wanted to try first just to spawn a model and then to add a move_group.launch
to the my main.launch file
In the urdf file I am spawning I have transmissions and there is effort inteface, like this for each joint:
<transmission name="trans_joint_1">
<type>transmission_interface/SimpleTransmission</type>
<joint name="joint_1">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
</joint>
<actuator name="joint_1_motor">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>
What I am I doing wrong here or missing? How can I check if the controller is controlling the joints?
UPDATE 29.11.2019:
Hello everyone I have found some time to try to figure out what could have happen here, I ...
You tagged this with
ros-i
. What isros-i
about this one specifically?It should have been ROS I, not ros-i. sorry, this tag is not even necessary since it is already tagged as melodic.I will fix it.