Robotics StackExchange | Archived questions

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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 [/fanucarmcontroller/followjointtrajectory/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 have used rqt. This is what I can tell you:

/follow_joint_trajectory/feedback and /follow_joint_trajectory/goal topics are not published at all, the bandwidth and rate are undefined. Why the controller is not publishing anything on these topics? I have checked using the rqt and controllers are running.

Could it be a problem that my URDF has a hardware_interface/EffortJointInterface and the my jointstatecontroller has a Hardware_Inteface::JointStateInterface and an armcontroller has an `HardwareInteface::EffortJointInterface`

Can someone point me into the right direction?

Thanks

Asked by marko1990 on 2019-11-24 13:48:27 UTC

Comments

You tagged this with ros-i. What is ros-i about this one specifically?

Asked by gvdhoorn on 2019-11-26 09:08:34 UTC

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.

Asked by marko1990 on 2019-11-26 09:31:24 UTC

Answers

the answer is given here How to know/check/confirm/debug if a controller is controlling/working?

Asked by marko1990 on 2019-12-21 10:03:02 UTC

Comments