domingo, 26 de septiembre de 2010

Stage

http://www.ros.org/wiki/stage

miércoles, 22 de septiembre de 2010

move_base_stage Tutorial

Following the tutorial of amazing ROS in: http://www.ros.org/wiki/move_base_stage/Tutorials/stage%20and%20navigation%20stack

...

Well trying the tutorial everything went fine until I followed the step #5. At the last command I recieved an error message like this:



So I went to the .cc code and found the part of the code where that error message was generated:



I coulnd't find where actually the error was, so I decided to change the !=4 to !=3 and see what happens...

After making stage I ran the willow.world once again...

It didn't work, I changed the values first and then the message and it didn't change, I also rosmake stage and nothing... It seems to bee usign another code, because in all the extension of the model.cc there is no other message like that, I also might be reading a copy of that code in another part... so I will follow all the instructions again and see if it works well...
---
roscp is a useful commandline tool for copying files from one package to another.
pr2 throws a robot on map =D

------
map_server
Provides the map_server ROS Node, which offers map data as a ROS Service. It also provides the map_saver command-line utility, which allows dynamically generated maps to be saved to file.
Maps manipulated by the the tools in this package are stored in a pair of files. The YAML file describes the map meta-data, and names the image file. The image file encodes the occupancy data.

http://www.ros.org/wiki/map_server
----

Other resources:

Navigator Stack and Stage:
Simple tutorial that sets up navigation stack and rosstage. Can be used by any new beginner just to see how awesome and simple ROS is

miércoles, 8 de septiembre de 2010

To test navigation stack with both robots.

After the new actualization of the "To simulate two robots" ticket I need to run two robots in two maps. The commands I need to follow are these:

$ roscd simulator_stage
$ svn co `roslocate svn navigation_stage`
$ roslaunch navigation_stage move_base_multi_robot.launch

First of all I will check how does the twoRobots world run.

I think the problem might be around here:
oscar@oscar-laptop:/opt/ros/cturtle/stacks/sscrovers-ros-pkg$ rostopic echo robot_footprint

WARNING: topic [/robot_footprint] does not appear to be published yet

Because robot_footprint

robot_footprint (geometry_msgs/Polygon)

* Polygonal "footprint" around the robot. Rendered as a line.

I don't see any robot nor form on the map, and I should see it even in a corner of it.



I decided to try another example, in this case one using the same fake_localization node. I tried the move_base_fake_localization_10cm.launch example. But I had the the same problem. Then I decided to echo the different topics and see their messages, and I saw that many topics didn't publish anything, and the /odom topic published origin values.

After trying many ways to find the issue I decided to write a letter to the ROS community as follows:

HI everybody,

Im trying to run the launch/move_base_multi_robot.launch example launch file, it simulates two robots on different windows. But when the windows of nav_view opens I don't see anything but the map (image 1). Neither the inflated obstacles nor the particle cloud or the robot footprint seem to appear. I also looked for information in what was being published over those topics but there weren't any messages. I also receive a warning message when I run the launch file but I don't know if it has anything to do with it (Image 2):

[ WARN] [1285694547.646811796, 3.800000000]: The base_scan observation buffer has not been updated for 2.10 seconds, and it should be updated every 0.40 seconds.

This problem occurs also with the move_base_fake_localization_10cm.launch example, but in this case it opens a window from stage (Stage-3.2.2) and from there I can see the footprint of the robot (image 3). Also when I listen to the /odom topic (rostopic echo /odom) It prints the following (image 4):

wist:
twist:
linear:
x: 0.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0
covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]

Could you please tell me the possible reason of why I cant see the footprints of the robot or anything else besides the map on the nav_view window?

The Version of Ubuntu I use is 10.4
The Version of ROS is CTurtle.
The Version of Stage is 3.2.2.

Image 1:


Image 2:


Image 3:


Image 4:


........
Chatting with Renato:

We saw that a a part of the launch file code is responsible of why in the multi robot example we don't see any stage map. When the stage node is declared there is a part where...

and if you delete it you can see now the stage map.

Actually when you set the goal on the nav_view map, the respective robot starts to move.

-----

Finally I could solve the problem by editing the rgb.txt file. Now both maps have their respective robots, and no important error seems to make problems on the simulation.

--
Oscar Rodrigo Hernández Panczenko IMT

Resources:

.pgm format: http://netpbm.sourceforge.net/doc/pgm.html

To see an image in terminal go to the directory where that image is and cast oeg:
http://netpbm.sourceforge.net/doc/pgm.html

------------------------------------
To see images cast eog "file"
To see pdf files cast xpdf "file"
------------------------------------
/rosout (roslib/Log)

* Standard ROS topic for publishing logging messages.
---------------------------------------
/clock Topic

Nodes are automatically subscribed to the /clock Topic, which is a global Topic published by a Clock Server. The Clock Server publishes regular time Messages (at an unspecified rate).
-------------------------------------
nav_view
Is a GUI for visualizing 2-D navigation. It is a specialized interface for the navigation stack.

nav_view displays:

* A map
* A robot's pose
* A cloud of particles (e.g., from a localization system)
* Two paths (e.g., from a path planner)
* A set of obstacles (and inflated obstacles)

http://www.ros.org/wiki/nav_view

--------------------------------------
fake_localization:

The fake_localization package provides a single node, fake_localization, which substitutes for a localization system, providing a subset of the ROS API used by amcl. This node is most frequently used during simulation as a method to provide perfect localization in a computationally inexpensive manner.

Specifically, fake_localization converts odometry data into pose, particle cloud, and transform data of the form published by amcl.

--------------------------------------
amcl:

amcl is a probabilistic localization system for a robot moving in 2D. It implements the adaptive (or KLD-sampling) Monte Carlo localization approach (as described by Dieter Fox), which uses a particle filter to track the pose of a robot against a known map.

http://www.ros.org/wiki/amcl

--------------------------------------

map_server

map_server provides the map_server ROS Node, which offers map data as a ROS Service. It also provides the map_saver command-line utility, which allows dynamically generated maps to be saved to file.

http://www.ros.org/wiki/map_server

--------------------------------------

cmd_vel:

cmd_vel geometry_msgs/Twist

* velocity commands to differentially drive the position model of the robot

http://www.ros.org/wiki/stage

--------------------------------------
navigation_stage

This package holds example launch files for running the ROS navigation stack in stage.

http://www.ros.org/wiki/navigation_stage

--------------------------------------
Information about some topics involved: