Kobuki strange behaviour in Gazebo
I am running ROS Indigo with Gazebo 5.1 in Ubuntu 14.04.2 64bits. I am executing the following commands:
roslaunch kobuki_gazebo kobuki_empty_world.launch
roslaunch kobuki_keyop keyop.launch
rosrun rviz rviz
And when teleoperating the robot moves properly in RViz but not in Gazebo: the rotating movements seem to be OK but going forward/backward is not working.
Also, at the beginning the robot simulation was shaky. I fixed that by removing the custom physics of the empty.world file in kobuki_gazebo package and this part is good now.
Any advice on how to debug the issue? Thank you!
Terminal output for roslaunch kobuki_gazebo kobuki_empty_world.launch
:
~/catkin_turtlebot$ roslaunch turtlebot_gazebo turtlebot_world.launch ... logging to /home/jvgomez/.ros/log/39c6131c-f94b-11e4-95e6-7824afa13789/roslaunch-RR05-16926.log Checking log directory for disk usage. This may take awhile. Press Ctrl-C to interrupt Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://RR05:40114/
SUMMARY
========
PARAMETERS * /bumper2pointcloud/pointcloud_radius:
0.24 * /cmd_vel_mux/yaml_cfg_file: /opt/ros/indigo/s... * /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: indigo * /rosversion: 1.11.10 * /use_sim_time: True
NODES /
bumper2pointcloud (nodelet/nodelet)
cmd_vel_mux (nodelet/nodelet)
depthimage_to_laserscan (nodelet/nodelet)
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 [16941] ROS_MASTER_URI=http://localhost:11311
setting /run_id to 39c6131c-f94b-11e4-95e6-7824afa13789
process[rosout-1]: started with pid [16954] started core service [/rosout]
process[gazebo-2]: started with pid [16978]
process[gazebo_gui-3]: started with pid [16982]
process[spawn_turtlebot_model-4]: started with pid [16988]
process[mobile_base_nodelet_manager-5]: started with pid [16993]
process[cmd_vel_mux-6]: started with pid [16997]
process[bumper2pointcloud-7]: started with pid [17051]
process[robot_state_publisher-8]: started with pid [17084]
process[laserscan_nodelet_manager-9]: started with pid [17126]
process[depthimage_to_laserscan-10]: started with pid [17146]
[ INFO] [1431506222.525472510]: Finished loading Gazebo ROS API Plugin.
[ INFO] [1431506222.526713615]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...
[ INFO] [1431506223.160382075,
0.030000000]: waitForService: Service [/gazebo/set_physics_properties] is now available.
[ INFO] [1431506223.195195975, 0.060000000]: Physics dynamic reconfigure ready.
[ INFO] [1431506224.215947081,
0.740000000]: Camera Plugin (robotNamespace = /), Info: Using the 'robotNamespace' param: '/'
[ INFO] [1431506224.249416155, 0.740000000]: Camera Plugin (ns = /) <tf_prefix_>, set to ""
[spawn_turtlebot_model-4] process has finished cleanly log file: /home/jvgomez/.ros/log/39c6131c-f94b-11e4-95e6-7824afa13789/spawn_turtlebot_model-4*.log
UPDATE I have also tested the playground demo ( http://wiki.ros.org/kobuki_gazebo?dis... ), everything loads OK and visualization is also OK, but the robot does not move at all.
UPDATE 2 I have tried TurtleBot tutorials, but with turtlebot_gazebo from source and, as before, everything is visualized, I can even see the pointclouds on RViz, but teleoperation still does not work and a couple of errors appear in RViz: Grid>Transform>For frame [odom]: frame [odom] does not exist and RobotModel>Transform>No transform from [wheel_left_link] to [base_footprint] and the same for right wheel. Obviously I am missing to launch something.
I'm facing similar problems both moving the TB2 and the arm. I guess that all these problems comes from gazebo5 not understanding current (indigo) URDF <inertia> and <gazebo> tags, but we need a guru's insight
I have tested the same code in Gazebo4.1.3 and it works like a charm, so it is a Gazebo5 problem.
@jorge: is there an issue at Gazebo's issue tracker(s) for this? Or is "gazebo5 not understanding current (indigo) URDF <inertia> and <gazebo> tags" a feature, not a bug?
not sure, but I bet for option 2. So no issue.... just wait for updated tutorials on using ROS-Gazebo5, that should come with Jade (as Jade uses gazebo 5 by default)
@jorge Where can I see anything related to the URDF <inertia> and <gazebo> tags in Gazebo 5? Any changelog or something. I cannot find anything. Thanks!
I also failed to find any information about integrating ROS robots with Gazebo 5. However, as JAde uses Gazebo 5, I expect that new tutorials will come soon.
Taking a look at the change log, I saw the following line:
Change behavior of Joint::SetVelocity, add Joint::SetVelocityLimit(unsigned int, double) * Pull request #1218 * Issue #964
for Gazebo 5.0.0. I will go deeper into this@jorge I found the reason :) Check my edited answer. It could be helpful for you as well.