Start turtlebot world remotely from WIN10 with putty and xming
Hello,
i want to start my launch file remotely. I am on a WIN10 or Ubuntu 16.04 system and the system where i want to start from is also an Ubuntu 16.04 system.
I use ROS Kinetic with turtlebot simulation package. On Client Xming , putty is correctly installed and configured. Normally it should start a world in gazebo where a turtlebot stands in the middle of the room. Nothing special. When i start:
roslaunch myworld.launch
Here is how the launch file looks:
<launch>
<arg name="world_file" default="$(env TURTLEBOT_GAZEBO_WORLD_FILE)"/>
<arg name="base" value="$(optenv TURTLEBOT_BASE kobuki)"/> <!-- create, roomba -->
<arg name="battery" value="$(optenv TURTLEBOT_BATTERY /proc/acpi/battery/BAT0)"/> <!-- /proc/acpi/battery/BAT0 -->
<arg name="gui" default="false"/>
<arg name="stacks" value="$(optenv TURTLEBOT_STACKS hexagons)"/> <!-- circles, hexagons -->
<arg name="3d_sensor" value="$(optenv TURTLEBOT_3D_SENSOR kinect)"/> <!-- kinect, asus_xtion_pro -->
<include file="$(find gazebo_ros)/launch/empty_world.launch">
<arg name="use_sim_time" value="true"/>
<arg name="debug" value="false"/>
<arg name="gui" value="$(arg gui)" />
<arg name="world_name" value="/home/usr/turtlebot_project/Tworld1.world"/>
</include>
<include file="$(find turtlebot_gazebo)/launch/includes/$(arg base).launch.xml">
<arg name="base" value="$(arg base)"/>
<arg name="stacks" value="$(arg stacks)"/>
<arg name="3d_sensor" value="$(arg 3d_sensor)"/>
</include>
<node pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher">
<param name="publish_frequency" type="double" value="30.0" />
</node>
<!-- Fake laser -->
<node pkg="nodelet" type="nodelet" name="laserscan_nodelet_manager" args="manager"/>
<node pkg="depthimage_to_laserscan" type="depthimage_to_laserscan" name="depthimage_to_laserscan">
<param name="scan_height" value="10"/>
<param name="output_frame_id" value="/camera_depth_frame"/>
<param name="range_min" value="0.45"/>
<remap from="image" to="/camera/depth/image_raw"/>
<remap from="scan" to="/scan"/>
</node>
</launch>
If u need to see the world please contact me i will send it to u. Its a normal world with a turtlebot in the middle of the world.
the following happend:
SUMMARY
========
PARAMETERS
* /bumper2pointcloud/pointcloud_radius: 0.24
* /cmd_vel_mux/yaml_cfg_file: /opt/ros/kinetic/...
* /depthimage_to_laserscan/output_frame_id: /camera_depth_frame
* /depthimage_to_laserscan/range_min: 0.45
* /depthimage_to_laserscan/scan_height: 10
* /robot_description: <?xml version="1....
* /robot_state_publisher/publish_frequency: 30.0
* /rosdistro: kinetic
* /rosversion: 1.12.14
* /use_sim_time: True
NODES
/
bumper2pointcloud (nodelet/nodelet)
cmd_vel_mux (nodelet/nodelet)
depthimage_to_laserscan (depthimage_to_laserscan/depthimage_to_laserscan)
gazebo (gazebo_ros/gzserver)
gazebo_gui (gazebo_ros/gzclient)
laserscan_nodelet_manager (nodelet/nodelet)
mobile_base_nodelet_manager (nodelet/nodelet)
robot_state_publisher (robot_state_publisher/robot_state_publisher)
spawn_turtlebot_model (gazebo_ros/spawn_model)
auto-starting new master
process[master]: started with pid [24752]
ROS_MASTER_URI=http://localhost:11311
setting /run_id to a78d6c56-fdf7-11e8-b44c-d8cb8a119b1a
process[rosout-1]: started with pid [24765]
started core service [/rosout]
process[gazebo-2]: started with pid [24777]
process[gazebo_gui-3]: started with pid [24789]
process[spawn_turtlebot_model-4]: started with pid [24799]
process[mobile_base_nodelet_manager-5]: started with pid [24800]
process[cmd_vel_mux-6]: started with pid [24801]
process[bumper2pointcloud-7]: started with pid [24802]
process[robot_state_publisher-8]: started with pid [24803]
process[laserscan_nodelet_manager-9]: started with pid [24809]
process[depthimage_to_laserscan-10]: started with pid [24818]
[ INFO] [1544610075.539207899]: Finished loading Gazebo ROS API Plugin.
[ INFO] [1544610075.539636364]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...
[ INFO] [1544610075.589476198]: Finished loading Gazebo ROS API Plugin.
[ INFO] [1544610075.589887149]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 143 (GLX)
Minor opcode of failed request: 5 (X_GLXMakeCurrent)
Serial number of failed request: 19
Current serial number in output stream: 19
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 143 (GLX)
Minor opcode of failed request: 5 (X_GLXMakeCurrent)
Serial number of failed request: 19
Current serial number in output stream: 19
terminate called recursively
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::lock_error> >'
what(): boost: mutex lock failed in pthread_mutex_lock: Invalid argument
Aborted (core dumped)
Aborted (core dumped)
No handlers could be found for logger "roslaunch"
[gazebo-2] process has died [pid 24777, exit code 134, cmd /opt/ros/kinetic/lib/gazebo_ros/gzserver -e ode /home/usr/turtlebot_project/Tworld1.world __name:=gazebo __log:=/home/usr/.ros/log/a78d6c56-fdf7-11e8-b44c-d8cb8a119b1a/gazebo-2.log].
log file: /home/usr/.ros/log/a78d6c56-fdf7-11e8-b44c-d8cb8a119b1a/gazebo-2*.log
[gazebo_gui-3] process has died [pid 24789, exit code 134, cmd /opt/ros/kinetic/lib/gazebo_ros/gzclient __name:=gazebo_gui __log:=/home/usr/.ros/log/a78d6c56-fdf7-11e8-b44c-d8cb8a119b1a/gazebo_gui-3.log].
log file: /home/usr/.ros/log/a78d6c56-fdf7-11e8-b44c-d8cb8a119b1a/gazebo_gui-3*.log
Any tips? Is it to much data to run this remotely for xming ? The world is runnable without ssh directly from the ubuntu system without any issues.
Here are the new error i got when i start headless:
SUMMARY
========
PARAMETERS
* /bumper2pointcloud/pointcloud_radius: 0.24
* /cmd_vel_mux/yaml_cfg_file: /opt/ros/kinetic/...
* /depthimage_to_laserscan/output_frame_id: /camera_depth_frame
* /depthimage_to_laserscan/range_min: 0.45
* /depthimage_to_laserscan/scan_height: 10
* /robot_description: <?xml version="1....
* /robot_state_publisher/publish_frequency: 30.0
* /rosdistro: kinetic
* /rosversion: 1.12.14
* /use_sim_time: True
NODES
/
bumper2pointcloud (nodelet/nodelet)
cmd_vel_mux (nodelet/nodelet)
depthimage_to_laserscan (depthimage_to_laserscan/depthimage_to_laserscan)
gazebo (gazebo_ros/gzserver)
laserscan_nodelet_manager (nodelet/nodelet)
mobile_base_nodelet_manager (nodelet/nodelet)
robot_state_publisher (robot_state_publisher/robot_state_publisher)
spawn_turtlebot_model (gazebo_ros/spawn_model)
ROS_MASTER_URI=http://localhost:11311
process[gazebo-1]: started with pid [16436]
process[spawn_turtlebot_model-2]: started with pid [16441]
process[mobile_base_nodelet_manager-3]: started with pid [16442]
process[cmd_vel_mux-4]: started with pid [16443]
process[bumper2pointcloud-5]: started with pid [16444]
process[robot_state_publisher-6]: started with pid [16445]
process[laserscan_nodelet_manager-7]: started with pid [16456]
process[depthimage_to_laserscan-8]: started with pid [16465]
[FATAL] [1544778260.461690408]: Failed to load nodelet '/bumper2pointcloud` of type `kobuki_bumper2pc/Bumper2PcNodelet` to manager `mobile_base_nodelet_manager'
[cmd_vel_mux-5] process has died [pid 16127, exit code 255, cmd /opt/ros/kinetic/lib/nodelet/nodelet load yocs_cmd_vel_mux/CmdVelMuxNodelet mobile_base_nodelet_manager cmd_vel_mux/output:=mobile_base/commands/velocity __name:=cmd_vel_mux __log:=/home/usr/.ros/log/393a0d8e-ff7f-11e8-b44c-d8cb8a119b1a/cmd_vel_mux-5.log].
log file: /home/usr/.ros/log/393a0d8e-ff7f-11e8-b44c-d8cb8a119b1a/cmd_vel_mux-5*.log
[bumper2pointcloud-6] process has died [pid 16128, exit code 255, cmd /opt/ros/kinetic/lib/nodelet/nodelet load kobuki_bumper2pc/Bumper2PcNodelet mobile_base_nodelet_manager bumper2pointcloud/pointcloud:=mobile_base/sensors/bumper_pointcloud bumper2pointcloud/core_sensors:=mobile_base/sensors/core __name:=bumper2pointcloud __log:=/home/usr/.ros/log/393a0d8e-ff7f-11e8-b44c-d8cb8a119b1a/bumper2pointcloud-6.log].
log file: /home/usr/.ros/log/393a0d8e-ff7f-11e8-b44c-d8cb8a119b1a/bumper2pointcloud-6*.log
[ INFO] [1544778260.671554897]: Finished loading Gazebo ROS API Plugin.
[ INFO] [1544778260.673137280]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...
debug3: receive packet: type 90
debug1: client_input_channel_open: ctype x11 rchan 5 win 65536 max 16384
debug1: client_request_x11: request from 127.0.0.1 48754
debug2: fd 10 setting TCP_NODELAY
debug2: fd 10 setting O_NONBLOCK
debug3: fd 10 is O_NONBLOCK
debug1: channel 3: new [x11]
debug1: confirm x11
debug3: send packet: type 91
[robot_state_publisher-7] process has finished cleanly
log file: /home/usr/.ros/log/393a0d8e-ff7f-11e8-b44c-d8cb8a119b1a/robot_state_publisher-7*.log
[depthimage_to_laserscan-9] process has finished cleanly
log file: /home/usr/.ros/log/393a0d8e-ff7f-11e8-b44c-d8cb8a119b1a/depthimage_to_laserscan-9*.log
[mobile_base_nodelet_manager-3] process has finished cleanly
log file: /home/usr/.ros/log/393a0d8e-ff7f-11e8-b44c-d8cb8a119b1a/mobile_base_nodelet_manager-3*.log
[bumper2pointcloud-5] process has died [pid 16444, exit code 255, cmd /opt/ros/kinetic/lib/nodelet/nodelet load kobuki_bumper2pc/Bumper2PcNodelet mobile_base_nodelet_manager bumper2pointcloud/pointcloud:=mobile_base/sensors/bumper_pointcloud bumper2pointcloud/core_sensors:=mobile_base/sensors/core __name:=bumper2pointcloud __log:=/home/usr/.ros/log/393a0d8e-ff7f-11e8-b44c-d8cb8a119b1a/bumper2pointcloud-5.log].
log file: /home/usr/.ros/log/393a0d8e-ff7f-11e8-b44c-d8cb8a119b1a/bumper2pointcloud-5*.log
[laserscan_nodelet_manager-8] process has finished cleanly
log file: /home/usr/.ros/log/393a0d8e-ff7f-11e8-b44c-d8cb8a119b1a/laserscan_nodelet_manager-8*.log
Traceback (most recent call last):
File "/opt/ros/kinetic/lib/gazebo_ros/spawn_model", line 313, in <module>
sm.callSpawnService()
File "/opt/ros/kinetic/lib/gazebo_ros/spawn_model", line 271, in callSpawnService
initial_pose, self.reference_frame, self.gazebo_namespace)
File "/opt/ros/kinetic/lib/python2.7/dist-packages/gazebo_ros/gazebo_interface.py", line 28, in spawn_urdf_model_client
rospy.wait_for_service(gazebo_namespace+'/spawn_urdf_model')
File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 159, in wait_for_service
raise ROSInterruptException("rospy shutdown")
rospy.exceptions.ROSInterruptException: rospy shutdown
[spawn_turtlebot_model-3] process has died [pid 16121, exit code 1, cmd /opt/ros/kinetic/lib/gazebo_ros/spawn_model -unpause -urdf -param robot_description -model mobile_base __name:=spawn_turtlebot_model __log:=/home/usr/.ros/log/393a0d8e-ff7f-11e8-b44c-d8cb8a119b1a/spawn_turtlebot_model-3.log].
log file: /home/usr/.ros/log/393a0d8e-ff7f-11e8-b44c-d8cb8a119b1a/spawn_turtlebot_model-3*.log
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 143 (GLX)
Minor opcode of failed request: 5 (X_GLXMakeCurrent)
Serial number of failed request: 19
Current serial number in output stream: 19
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::lock_error> >'
what(): boost: mutex lock failed in pthread_mutex_lock: Invalid argument
debug3: receive packet: type 96
debug2: channel 3: rcvd eof
debug2: channel 3: output open -> drain
debug2: channel 3: obuf empty
debug2: channel 3: close_write
debug2: channel 3: output drain -> closed
debug1: channel 3: FORCE input drain
debug2: channel 3: ibuf empty
debug2: channel 3: send eof
debug3: send packet: type 96
debug2: channel 3: input drain -> closed
debug2: channel 3: send close
debug3: send packet: type 97
debug3: channel 3: will not send data after close
debug3: channel 3: will not send data after close
Aborted (core dumped)
debug3: channel 3: will not send data after close
debug3: receive packet: type 97
debug2: channel 3: rcvd close
debug3: channel 3: will not send data after close
debug2: channel 3: is dead
debug2: channel 3: garbage collecting
debug1: channel 3: free: x11, nchannels 5
debug3: channel 3: status: The following connections are open:
#0 client-session (t4 r0 i0/0 o0/0 fd 5/6 cc -1)
#1 x11 (t4 r3 i0/0 o0/0 fd 8/8 cc -1)
#2 x11 (t4 r4 i0/0 o0/0 fd 9/9 cc -1)
#3 x11 (t4 r5 i3/0 o3/0 fd 10/10 cc -1)
#4 x11 (t4 r6 i0/0 o0/0 fd 11/11 cc -1)
[gazebo-1] process has died [pid 16436, exit code 134, cmd /opt/ros/kinetic/lib/gazebo_ros/gzserver -e ode /home/usr/turtlebot_project/Tworld1.world __name:=gazebo __log:=/home/usr/.ros/log/393a0d8e-ff7f-11e8-b44c-d8cb8a119b1a/gazebo-1.log].
log file: /home/usr/.ros/log/393a0d8e-ff7f-11e8-b44c-d8cb8a119b1a/gazebo-1*.log
[mobile_base_nodelet_manager-4] process has died [pid 16126, exit code -11, cmd /opt/ros/kinetic/lib/nodelet/nodelet manager __name:=mobile_base_nodelet_manager __log:=/home/usr/.ros/log/393a0d8e-ff7f-11e8-b44c-d8cb8a119b1a/mobile_base_nodelet_manager-4.log].
log file: /home/usr/.ros/log/393a0d8e-ff7f-11e8-b44c-d8cb8a119b1a/mobile_base_nodelet_manager-4*.log
Here are the topics which are up :
/clock
/depthimage_to_laserscan/parameter_descriptions
/depthimage_to_laserscan/parameter_updates
/joint_states
/rosout
/rosout_agg
/scan
/tf
/tf_static
Missing are mobile base , camera etc...
Asked by Baumboon on 2018-12-12 05:26:29 UTC
Answers
You cannot forward GL rendering windows through x forwarding. You'll need to at least run your simulation headless. Most launch files support an argument to the effect gui:=false
.
Asked by tfoote on 2018-12-12 18:50:52 UTC
Comments
Gui is now setted to false. It crashed also
Asked by Baumboon on 2018-12-13 03:59:37 UTC
any additional advices?
Asked by Baumboon on 2018-12-13 17:09:06 UTC
If you can edit your question with more information we might be able to help you. Just saying that it crashed doesn't help much. Remember that we only have what's in your question to try to help you with. If you can provide enough information to reproduce your problem you can get more help.
Asked by tfoote on 2018-12-13 17:12:28 UTC
For example if you pass the argument but your launch files doesn't pass it through to the lower level ones it won't do much. if you still get the same errors you're not disabling the gui elements.
Asked by tfoote on 2018-12-13 17:13:13 UTC
i added launchfile, explain to world file . Additional error log . If u need further information plz tell me i am despaired no idea how to fix this...
Asked by Baumboon on 2018-12-14 04:13:55 UTC
Comments