How to track applied torque values in Gazebo within a ROS application

asked 2020-04-09 08:03:28 -0500

I have a ROS application that uses Gazebo for simulation. Is there a way to observe where gazebo receives the value for the joint torques?

For example I have a \gazebo node which has some services and topics like the following. For the services I can't echo the requests at run-time to see if I see an array with 7 entries for example.

My ultimate goal is to replace the gazebo simulator with Mujoco-py or PyBullet in this application. Each of the other engines have a specific API to receive joint torques and them take one simulation step, so on one hand I'm also wondering if the similar API exists in Gazebo.

On the other hand, if I understand the pipeline within this application backward from the end-point where joint torques are given to gazebo, it will be easier to replace the simulator with another one such as Mujoco.

 * /PandaCartesianImpedanceController/controllerReference [proj_arm_control_ros/CartesianImpedanceSetpoint]
 * /PandaCartesianImpedanceController/controllerReferenceTrajectory [unknown type]
 * /PandaCartesianImpedanceController/trackReference/cancel [unknown type]
 * /PandaCartesianImpedanceController/trackReference/goal [unknown type]
 * /PandaGravityCompensatedJointTorqueController/trackReference/cancel [actionlib_msgs/GoalID]
 * /PandaGravityCompensatedJointTorqueController/trackReference/goal [proj_arm_control_ros/StateFeedbackControllerActionGoal]
 * /clock [rosgraph_msgs/Clock]
 * /franka_gripper/command [unknown type]
 * /franka_gripper/grasp/cancel [actionlib_msgs/GoalID]
 * /franka_gripper/grasp/goal [franka_gripper/GraspActionGoal]
 * /franka_gripper/homing/cancel [actionlib_msgs/GoalID]
 * /franka_gripper/homing/goal [franka_gripper/HomingActionGoal]
 * /franka_gripper/move/cancel [actionlib_msgs/GoalID]
 * /franka_gripper/move/goal [franka_gripper/MoveActionGoal]
 * /franka_gripper/stop/cancel [actionlib_msgs/GoalID]
 * /franka_gripper/stop/goal [franka_gripper/StopActionGoal]
 * /gazebo/set_link_state [unknown type]
 * /gazebo/set_model_state [unknown type]
 * /PandaCartesianImpedanceController/gotoSetpoint
 * /cartesian_impedance_reconfigure/set_parameters
 * /controller_manager/list_controller_types
 * /controller_manager/list_controllers
 * /controller_manager/load_controller
 * /controller_manager/reload_controller_libraries
 * /controller_manager/switch_controller
 * /controller_manager/unload_controller
 * /franka_gripper/execute_command
 * /franka_gripper/execute_command_buffered
 * /franka_gripper/reset_buffer
 * /gazebo/apply_body_wrench
 * /gazebo/apply_joint_effort
 * /gazebo/clear_body_wrenches
 * /gazebo/clear_joint_forces
 * /gazebo/delete_light
 * /gazebo/delete_model
 * /gazebo/get_joint_properties
 * /gazebo/get_light_properties
 * /gazebo/get_link_properties
 * /gazebo/get_link_state
 * /gazebo/get_loggers
 * /gazebo/get_model_properties
 * /gazebo/get_model_state
 * /gazebo/get_physics_properties
 * /gazebo/get_world_properties
 * /gazebo/pause_physics
 * /gazebo/reset_simulation
 * /gazebo/reset_world
 * /gazebo/set_joint_properties
 * /gazebo/set_light_properties
edit retag flag offensive close merge delete