eager-dev / eager

[deprecated] Engine Agnostic Gym Environment for Robotics
https://eager-control.readthedocs.io/
Apache License 2.0
16 stars 0 forks source link

Gazebo: add solids and reset #168

Closed jelledouwe closed 2 years ago

jelledouwe commented 3 years ago
/usr/bin/python3.6 /home/bas/PycharmProjects/eager/examples/eager_examples/scripts/example_reset.py
... logging to /home/bas/.ros/log/dd491cd6-e08b-11eb-ac46-ac675d3b5380/roslaunch-bas-Alienware-m15-R2-8323.log
started roslaunch server http://192.168.68.113:33947/

SUMMARY
========

PARAMETERS
 * /rosdistro: melodic
 * /rosversion: 1.14.11

NODES
  /ros_env/
    physics_bridge (eager_bridge_gazebo/gazebo_node.py)

ROS_MASTER_URI=http://localhost:11311
process[ros_env/physics_bridge-1]: started with pid [8387]
... logging to /home/bas/.ros/log/dd491cd6-e08b-11eb-ac46-ac675d3b5380/roslaunch-bas-Alienware-m15-R2-8387.log
started roslaunch server http://192.168.68.113:40527/

SUMMARY
========

PARAMETERS
 * /gazebo/enable_ros_network: True
 * /rosdistro: melodic
 * /rosversion: 1.14.11
 * /use_sim_time: True

NODES
  /
    gazebo (gazebo_ros/gzserver)
    gazebo_gui (gazebo_ros/gzclient)

ROS_MASTER_URI=http://localhost:11311
process[gazebo-1]: started with pid [8447]
process[gazebo_gui-2]: started with pid [8452]
... logging to /home/bas/.ros/log/dd491cd6-e08b-11eb-ac46-ac675d3b5380/roslaunch-bas-Alienware-m15-R2-8387.log
xacro: in-order processing became default in ROS Melodic. You can drop the option.
[Err] [REST.cc:205] Error in REST request

libcurl: (51) SSL: no alternative certificate subject name matches target host name 'api.ignitionfuel.org'
started roslaunch server http://192.168.68.113:42481/

SUMMARY
========

PARAMETERS
 * /ros_env/objects/ur5e1/arm_controller/action_monitor_rate: 10
 * /ros_env/objects/ur5e1/arm_controller/constraints/elbow_joint/goal: 0.1
 * /ros_env/objects/ur5e1/arm_controller/constraints/elbow_joint/trajectory: 0.1
 * /ros_env/objects/ur5e1/arm_controller/constraints/goal_time: 0.6
 * /ros_env/objects/ur5e1/arm_controller/constraints/shoulder_lift_joint/goal: 0.1
 * /ros_env/objects/ur5e1/arm_controller/constraints/shoulder_lift_joint/trajectory: 0.1
 * /ros_env/objects/ur5e1/arm_controller/constraints/shoulder_pan_joint/goal: 0.1
 * /ros_env/objects/ur5e1/arm_controller/constraints/shoulder_pan_joint/trajectory: 0.1
 * /ros_env/objects/ur5e1/arm_controller/constraints/stopped_velocity_tolerance: 0.05
 * /ros_env/objects/ur5e1/arm_controller/constraints/wrist_1_joint/goal: 0.1
 * /ros_env/objects/ur5e1/arm_controller/constraints/wrist_1_joint/trajectory: 0.1
 * /ros_env/objects/ur5e1/arm_controller/constraints/wrist_2_joint/goal: 0.1
 * /ros_env/objects/ur5e1/arm_controller/constraints/wrist_2_joint/trajectory: 0.1
 * /ros_env/objects/ur5e1/arm_controller/constraints/wrist_3_joint/goal: 0.1
 * /ros_env/objects/ur5e1/arm_controller/constraints/wrist_3_joint/trajectory: 0.1
 * /ros_env/objects/ur5e1/arm_controller/joints: ['shoulder_pan_jo...
 * /ros_env/objects/ur5e1/arm_controller/state_publish_rate: 25
 * /ros_env/objects/ur5e1/arm_controller/stop_trajectory_duration: 0.5
 * /ros_env/objects/ur5e1/arm_controller/type: position_controll...
 * /ros_env/objects/ur5e1/joint_group_position_controller/joints: ['shoulder_pan_jo...
 * /ros_env/objects/ur5e1/joint_group_position_controller/type: position_controll...
 * /ros_env/objects/ur5e1/robot_description: <?xml version="1....
 * /rosdistro: melodic
 * /rosversion: 1.14.11

NODES
  /ros_env/objects/ur5e1/
    arm_controller_spawner (controller_manager/controller_manager)
    spawn_gazebo_model (gazebo_ros/spawn_model)

ROS_MASTER_URI=http://localhost:11311
process[ros_env/objects/ur5e1/spawn_gazebo_model-3]: started with pid [8781]
process[ros_env/objects/ur5e1/arm_controller_spawner-4]: started with pid [8786]
[INFO] [1625817706.648210, 0.000000]: Loading model XML from ros parameter robot_description
[INFO] [1625817706.652524, 0.000000]: Waiting for service /gazebo/spawn_urdf_model
[INFO] [1625817706.653878, 0.000000]: Calling service /gazebo/spawn_urdf_model
[INFO] [1625817706.920543, 0.000000]: Spawn status: SpawnModel: Successfully spawned entity
[ERROR] [1625817707.053848332]: No p gain specified for pid.  Namespace: /ros_env/objects/ur5e1/gazebo_ros_control/pid_gains/shoulder_pan_joint
[ERROR] [1625817707.054266444]: No p gain specified for pid.  Namespace: /ros_env/objects/ur5e1/gazebo_ros_control/pid_gains/shoulder_lift_joint
[ERROR] [1625817707.054660668]: No p gain specified for pid.  Namespace: /ros_env/objects/ur5e1/gazebo_ros_control/pid_gains/elbow_joint
[ERROR] [1625817707.055060775]: No p gain specified for pid.  Namespace: /ros_env/objects/ur5e1/gazebo_ros_control/pid_gains/wrist_1_joint
[ERROR] [1625817707.055440740]: No p gain specified for pid.  Namespace: /ros_env/objects/ur5e1/gazebo_ros_control/pid_gains/wrist_2_joint
[ERROR] [1625817707.055821649]: No p gain specified for pid.  Namespace: /ros_env/objects/ur5e1/gazebo_ros_control/pid_gains/wrist_3_joint
Loaded 'arm_controller'
... logging to /home/bas/.ros/log/dd491cd6-e08b-11eb-ac46-ac675d3b5380/roslaunch-bas-Alienware-m15-R2-8387.log
[ros_env/objects/ur5e1/spawn_gazebo_model-3] process has finished cleanly
log file: /home/bas/.ros/log/dd491cd6-e08b-11eb-ac46-ac675d3b5380/ros_env-objects-ur5e1-spawn_gazebo_model-3*.log
started roslaunch server http://192.168.68.113:41483/

SUMMARY
========

PARAMETERS
 * /rosdistro: melodic
 * /rosversion: 1.14.11

NODES
  /ros_env/objects/can/
    model_spawner (gazebo_ros/spawn_model)

ROS_MASTER_URI=http://localhost:11311
process[ros_env/objects/can/model_spawner-5]: started with pid [8896]
/home/bas/eager_ws/src/eager_core/src/eager_core/utils/env_checker.py:259: UserWarning: We recommend you to use a symmetric and normalized Box action space (range=[-1, 1]) cf https://stable-baselines3.readthedocs.io/en/master/guide/rl_tips.html
  "We recommend you to use a symmetric and normalized Box action space (range=[-1, 1]) "
[ERROR] [1625817708.500013538]: Updating ModelState: model [can] does not exist
[ERROR] [1625817708.502346956]: Updating ModelState: model [can] does not exist
[ERROR] [1625817708.507950720]: Can't accept new action goals. Controller is not running.
Started ['arm_controller'] successfully
[WARN] [1625817708.533742]: State "position" cannot be retrieved in this environment.
[WARN] [1625817708.540247]: State "orientation" cannot be retrieved in this environment.
[WARN] [1625817708.557998]: State "joint_vel" cannot be retrieved in this environment.
[ros_env/objects/ur5e1/arm_controller_spawner-4] process has finished cleanly
log file: /home/bas/.ros/log/dd491cd6-e08b-11eb-ac46-ac675d3b5380/ros_env-objects-ur5e1-arm_controller_spawner-4*.log
all processes on machine have died, roslaunch will exit

[ERROR] [1625817709.178799415, 1.100000000]: Updating ModelState: model [can] does not exist
[ERROR] [1625817709.180830939, 1.100000000]: Updating ModelState: model [can] does not exist
[INFO] [1625817709.248666, 0.000000]: Loading model XML from Gazebo Model Database
[INFO] [1625817709.249482, 0.000000]: Waiting for service /gazebo/spawn_sdf_model
[INFO] [1625817709.250900, 0.000000]: Calling service /gazebo/spawn_sdf_model

When exiting the pogram manually, i get the following traceback

[gazebo_gui-2] killing on exit
[gazebo-1] killing on exit
[ros_env/physics_bridge-1] killing on exit
Traceback (most recent call last):
  File "/opt/ros/melodic/lib/gazebo_ros/spawn_model", line 239, in <module>
    exit_code = sm.run()
  File "/opt/ros/melodic/lib/gazebo_ros/spawn_model", line 189, in run
    self.args.gazebo_namespace)
  File "/opt/ros/melodic/lib/python2.7/dist-packages/gazebo_ros/gazebo_interface.py", line 20, in spawn_sdf_model_client
    resp = spawn_sdf_model(model_name, model_xml, robot_namespace, initial_pose, reference_frame)
  File "/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 442, in __call__
    return self.call(*args, **kwds)
  File "/opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 530, in call
    raise rospy.exceptions.ROSInterruptException("node shutdown interrupted service call")
rospy.exceptions.ROSInterruptException: node shutdown interrupted service call
[ros_env/objects/can/model_spawner-5] process has died [pid 8896, exit code 1, cmd /opt/ros/melodic/lib/gazebo_ros/spawn_model -sdf -database coke_can -model can -x 0.00 -y 0.00 -z 1.00 -R 0.00 -P 0.00 -Y 0.00 __name:=model_spawner __log:=/home/bas/.ros/log/dd491cd6-e08b-11eb-ac46-ac675d3b5380/ros_env-objects-can-model_spawner-5.log].
log file: /home/bas/.ros/log/dd491cd6-e08b-11eb-ac46-ac675d3b5380/ros_env-objects-can-model_spawner-5*.log
all processes on machine have died, roslaunch will exit

Process finished with exit code 137 (interrupted by signal 9: SIGKILL)

That's annoying... Seems to be related to the version of Gazebo you are using, see: https://answers.gazebosim.org//question/23475/ssl-no-alternative-certificate-subject-name-matches-target-host-name-apiignitionfuelorg/ Solving is easy: Try chainging https://api.ignitionfuel.org to https://fuel.ignitionrobotics.org in ~/.ignition/fuel/config.yaml

In noetic it does not occur. I think that there are two options:

  1. We state how to solve this in the troubleshooting and keep the implementation as it is, because we are aiming at noetic.
  2. We put the sdf of each solid in the solid package, rather than letting gazebo download it. Which has consequences for the number of solids we can implement.