Gazebo | Ignition | Community
Ask Your Question

Tom Moore's profile - activity

2015-11-18 03:10:06 -0500 received badge  Student (source)
2015-11-01 08:32:20 -0500 received badge  Famous Question (source)
2015-11-01 08:32:20 -0500 received badge  Notable Question (source)
2015-07-03 23:09:55 -0500 received badge  Popular Question (source)
2015-06-25 15:59:57 -0500 asked a question ros-indigo-gazebo5-ros-pkgs on OSRF servers lagging behind version on ROS package servers?

I am using ROS Indigo with ros-indigo-gazebo5-ros-* installed. I was using the hector_quadrotor_gazebo package, and per the wiki instructions, I re-built everything from source to ensure compatibility. This worked very well for several months.

Recently, after an apt-get update and apt-get upgrade, my simulation no longer functions. I get this error:

core service [/rosout] found
process[spawn_robot-1]: started with pid [3537]
process[robot_state_publisher-2]: started with pid [3538]
/opt/ros/indigo/lib/robot_state_publisher/robot_state_publisher
process[ground_truth_to_tf-3]: started with pid [3579]
process[controller_spawner-4]: started with pid [3621]
[INFO] [WallTime: 1435259586.341210] [0.000000] Loading model xml from ros parameter
[INFO] [WallTime: 1435259586.350827] [0.000000] Waiting for service /gazebo/spawn_urdf_model
[INFO] [WallTime: 1435259586.354584] [1221.026000] Calling service /gazebo/spawn_urdf_model
[INFO] [WallTime: 1435259586.456276] [1221.128000] Controller Spawner: Waiting for service controller_manager/load_controller
[INFO] [WallTime: 1435259586.865404] [1221.169000] Spawn status: SpawnModel: Successfully spawned model
[spawn_robot-1] process has finished cleanly
log file: /home/tmoore/.ros/log/2805a436-1b6e-11e5-ae0c-cd10309fc746/spawn_robot-1*.log
[INFO] [WallTime: 1435259587.670885] [1221.170000] Controller Spawner: Waiting for service controller_manager/switch_controller
[INFO] [WallTime: 1435259587.674071] [1221.170000] Controller Spawner: Waiting for service controller_manager/unload_controller
[INFO] [WallTime: 1435259587.676925] [1221.170000] Loading controller: controller/twist
Traceback (most recent call last):
  File "/opt/ros/indigo/lib/controller_manager/spawner", line 212, in <module>
    if __name__ == '__main__': main()
  File "/opt/ros/indigo/lib/controller_manager/spawner", line 190, in main
    resp = load_controller(name)
  File "/opt/ros/indigo/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 435, in __call__
    return self.call(*args, **kwds)
  File "/opt/ros/indigo/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 505, in call
    raise ServiceException("unable to connect to service: %s"%e)
rospy.service.ServiceException: unable to connect to service: [Errno 104] Connection reset by peer
[INFO] [WallTime: 1435259587.756492] [1221.170000] Shutting down spawner. Stopping and unloading controllers...
[WARN] [WallTime: 1435259591.759524] [1221.170000] Controller Spawner couldn't reach controller_manager to take down controllers. Waited for 3 second(s).
[controller_spawner-4] process has died [pid 3621, exit code 1, cmd /opt/ros/indigo/lib/controller_manager/spawner controller/twist --shutdown-timeout 3 __name:=controller_spawner __log:=/home/tmoore/.ros/log/2805a436-1b6e-11e5-ae0c-cd10309fc746/controller_spawner-4.log].
log file: /home/tmoore/.ros/log/2805a436-1b6e-11e5-ae0c-cd10309fc746/controller_spawner-4*.log

After some digging, I noticed that the ROS Ubuntu package servers are hosting ros-indigo-gazebo-ros-pkgs with version 2.4.8, whereas the OSRF servers have version 2.4.7 of ros-indigo-gazebo5-ros-pkgs. Assuming this is our issue, we can try pulling down the source for release 2.4.8 and building it against gazebo5 ourselves, but will there be an update to the OSRF-hosted packages?

2015-06-25 15:43:54 -0500 received badge  Famous Question (source)
2015-03-05 02:28:55 -0500 received badge  Notable Question (source)
2015-03-04 11:28:06 -0500 received badge  Popular Question (source)
2015-02-25 12:33:17 -0500 asked a question Fixed-wing UAV simulation?

Are there any models of fixed-wing UAVs? I'd like to be able to simulate one and control it through ROS. This video seems promising, but I can't seem to locate anything else about it.

2014-12-22 15:05:41 -0500 received badge  Famous Question (source)
2014-09-16 12:38:26 -0500 received badge  Notable Question (source)
2014-09-05 10:43:38 -0500 received badge  Popular Question (source)
2014-09-05 10:42:03 -0500 asked a question Coordinate frames in set_model_state topic with gazebo_ros

Apologies for the cross-post between here and the ROS answers forum. I didn't receive a response there, so I am trying here. I'm not sure on which end the problem lies (gazebo itself or gazebo_ros).

I am using ROS Indigo with gazebo 4.0.1 as installed by the ros-indigo-gazebo4-prerelease-* packages. I am trying to use the set_model_state topic to move a Pioneer 2DX model around. The model contains the following frames:

  • chassis
  • right_wheel
  • left_wheel
  • rightwheelhinge
  • leftwheelhinge

First, I issue the following command:

rostopic pub /gazebo/set_model_state gazebo_msgs/ModelState "model_name: 'pioneer2dx'
pose:
  position:
    x: 0.0
    y: 0.0
    z: 0.0
  orientation:
    x: 0.0
    y: 0.0
    z: 0.0
    w: 0.0
twist:
  linear:
    x: 0.0
    y: 0.0
    z: 0.0
  angular:
    x: 0.0
    y: 0.0
    z: 0.1
reference_frame: 'chassis'"

The robot correctly begins to turn counter-clockwise. After it turns some nontrivial amount, I then issue a second command to stop it. I then issue this command:

rostopic pub /gazebo/set_model_state gazebo_msgs/ModelState "model_name: 'pioneer2dx'
pose:
  position:
    x: 0.0
    y: 0.0
    z: 0.0
  orientation:
    x: 0.0
    y: 0.0
    z: 0.0
    w: 0.0
twist:
  linear:
    x: 0.4
    y: 0.0
    z: 0.0
  angular:
    x: 0.0
    y: 0.0
    z: 0.0
reference_frame: 'chassis'"

My expectation is that the robot will move forward in the direction that it is currently facing. This is why I issued the command in the chassis frame. However, the robot instead starts moving forward along the X-axis in the world coordinate frame.

I have verified this with a second robot model (my own), and assumed I did something wrong with my model until the same issue appeared with the P2DX. Is this working as intended, or is it a bug? I can easily convert the desired drive command to the "correct" reference frame, but it seems as though the robot ought to be able to accept commands to drive in its body coordinate frame.

2014-09-03 13:42:14 -0500 commented answer URDF joints not appearing in Gazebo

Thank you!

2014-09-03 13:41:49 -0500 received badge  Scholar (source)
2014-09-03 08:41:40 -0500 asked a question URDF joints not appearing in Gazebo

I have a URDF model (defined in a .xacro file) of a UUV, and I am trying to enable the robot to be controllable via ROS. I believe my issue lies on the Gazebo side, which is why I'm asking this here.

Here is a snippet of my URDF:

  <joint name="base_to_physics" type="fixed">
    <parent link="base_link"/>
    <child link="base_link_physics"/>
    <origin rpy="0 0 0" xyz="0 0 0"/>
    <axis xyz="0 0 1" />
    <dynamics damping="0.7"/>
  </joint>

  <joint name="base_to_sonar" type="fixed">
    <parent link="base_link_physics"/>
    <child link="sonar"/>
    <origin rpy="0 ${-pi/2} ${-pi/2}" xyz="${l4_length/2} ${-((l4_width/2)-sonar_radius-l4_vframe_width)} ${-(-l4_top_height -((l4_height - l4_top_height)/2))}"/>
  </joint>

  <joint name="base_to_camera" type="fixed">
    <parent link="base_link_physics"/>
    <child link="camera"/>
    <origin rpy="${pi} ${-pi/2} 0" xyz="${l4_length/2} ${(l4_width/2)-sonar_radius-l4_vframe_width} ${l4_top_height+((l4_height - l4_top_height)/2)-camera_lens_center_offset}"/>
  </joint>

  <joint name="base_to_imu" type="fixed">
    <parent link="base_link_physics"/>
    <child link="imu"/>
    <origin rpy="0 0 0" xyz="0 ${(l4_width/2 - l4_width/6 - imu_width/2)} ${l4_top_height + imu_height/2}"/>
  </joint>

  <joint name="base_to_depth" type="fixed">
    <parent link="base_link_physics"/>
    <child link="depth_sensor"/>
    <origin rpy="0 0 0" xyz="0 ${(-l4_width/2 + l4_width/6 + imu_width/2)} ${l4_top_height + imu_height/2}"/>
  </joint>

However, when I launch gazebo in ROS using this command:

  <node name="spawn_urdf" pkg="gazebo_ros" type="spawn_model" args="-param robot_description -urdf -model vector_l4" />

...then I get this error:

[ERROR] [1409750686.829834847, 2469.509000000]: This robot has a joint named "base_to_physics" which is not in the gazebo model.

What I notice, and this is what makes me think it's a gazebo problem, is that in the Gazebo visualizer, if I select the robot and go to View->Joints, then no joints appear in the "Joints" tab on the right side of the window.

The only other example of this problem that I've seen is on the ROS answers site, but I have already implemented the fix detailed therein and my issue remains.

So how can I get my URDF joints to show up in Gazebo? Am I missing a tag within my joint definitions? I'm using ROS Indigo Igloo and both gzclient and gzserver report version 4.0.1.