Discussion:
[Rock-dev] Problems with ROS-Bridge nav_msgs/OccupancyGrid
Janosch Machowinski
2014-09-11 09:15:15 UTC
Permalink
Hey,
I am trying to get an input port of the type
nav_msgs/OccupancyGrid. For now I did :

using_library "nav_msgs"
using_library "envire"
import_types_from "nav_msgs/OccupancyGrid.h"
typekit.ros_mappings 'std/vector</envire/BinaryEvent>' =>
'/nav_msgs/OccupancyGrid'

and defined an input port
input_port "rosOccupancyGrid", "/nav_msgs/OccupancyGrid"

But orogen is complaining, it does not know about the type
/nav_msgs/OccupancyGrid. Also no toROS/fromROS stub in
the typekit folder is generated (there is no typkit folder at all...)
Any ideas ?
Greetings
Janosch

P.S: This is kind of urgent...
Janosch Machowinski
2014-09-11 13:05:00 UTC
Permalink
Okay, I manged to work around
this issue, but the whole ros bridge seems
to be not functional.
For example, if I try to subscribe to /tf I get this error:
/home/coyote/rock1408/tools/orocos.rb/lib/orocos/ros/node.rb:267:in
`input_port': cannot find topic /tf as a subscription of node
/stereo_odometer (Orocos::NotFound)

If I can mange to subscribe to a topic, no sample
is displayed. I use this script :

require 'orocos'
include Orocos
Orocos.initialize
#this works, I can see all topics
puts(Orocos::ROS.name_service().ros_graph.topics)
ros_topic = Orocos::ROS.topic(ARGV.first)
reader = ros_topic.reader(:type => :buffer, :size => 10)
puts("Waiting for samples")
while(true)
sample = nil
while((sample = reader.read_new()) == nil)
sleep(0.1)
end

puts("Got sample #{sample}")
end

Greetings
Janosch
Post by Janosch Machowinski
Hey,
I am trying to get an input port of the type
using_library "nav_msgs"
using_library "envire"
import_types_from "nav_msgs/OccupancyGrid.h"
typekit.ros_mappings 'std/vector</envire/BinaryEvent>' =>
'/nav_msgs/OccupancyGrid'
and defined an input port
input_port "rosOccupancyGrid", "/nav_msgs/OccupancyGrid"
But orogen is complaining, it does not know about the type
/nav_msgs/OccupancyGrid. Also no toROS/fromROS stub in
the typekit folder is generated (there is no typkit folder at all...)
Any ideas ?
Greetings
Janosch
P.S: This is kind of urgent...
_______________________________________________
Rock-dev mailing list
Rock-dev at dfki.de
http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev
Steffen Planthaber
2014-09-11 13:20:13 UTC
Permalink
Hmm,

In the Virgo project, we didn't use the ros datatype directly in the
orogen file, we used a mapping form ros to a rock type, that worken,
perhaps teh issue only arises when no mappings are used?


Best, Steffen
Post by Janosch Machowinski
Okay, I manged to work around
this issue, but the whole ros bridge seems
to be not functional.
/home/coyote/rock1408/tools/orocos.rb/lib/orocos/ros/node.rb:267:in
`input_port': cannot find topic /tf as a subscription of node
/stereo_odometer (Orocos::NotFound)
If I can mange to subscribe to a topic, no sample
require 'orocos'
include Orocos
Orocos.initialize
#this works, I can see all topics
puts(Orocos::ROS.name_service().ros_graph.topics)
ros_topic = Orocos::ROS.topic(ARGV.first)
reader = ros_topic.reader(:type => :buffer, :size => 10)
puts("Waiting for samples")
while(true)
sample = nil
while((sample = reader.read_new()) == nil)
sleep(0.1)
end
puts("Got sample #{sample}")
end
Greetings
Janosch
Post by Janosch Machowinski
Hey,
I am trying to get an input port of the type
using_library "nav_msgs"
using_library "envire"
import_types_from "nav_msgs/OccupancyGrid.h"
typekit.ros_mappings 'std/vector</envire/BinaryEvent>' =>
'/nav_msgs/OccupancyGrid'
and defined an input port
input_port "rosOccupancyGrid", "/nav_msgs/OccupancyGrid"
But orogen is complaining, it does not know about the type
/nav_msgs/OccupancyGrid. Also no toROS/fromROS stub in
the typekit folder is generated (there is no typkit folder at all...)
Any ideas ?
Greetings
Janosch
P.S: This is kind of urgent...
_______________________________________________
Rock-dev mailing list
Rock-dev at dfki.de
http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev
_______________________________________________
Rock-dev mailing list
Rock-dev at dfki.de
http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev
--
Steffen Planthaber
Weltraumrobotik

Besuchsadresse der Nebengesch?ftstelle:
DFKI GmbH
Robotics Innovation Center
Robert-Hooke-Stra?e 5
28359 Bremen, Germany

Postadresse der Hauptgesch?ftsstelle Standort Bremen:
DFKI GmbH
Robotics Innovation Center
Robert-Hooke-Stra?e 1
28359 Bremen, Germany

Tel.: +49 421 178 45-4125
Zentrale: +49 421 178 45-0
Fax: +49 421 178 45-4150 (Faxe bitte namentlich kennzeichnen)
E-Mail: Steffen.Planthaber at dfki.de

Weitere Informationen: http://www.dfki.de/robotik
-----------------------------------------------------------------------
Deutsches Forschungszentrum fuer Kuenstliche Intelligenz GmbH
Firmensitz: Trippstadter Stra?e 122, D-67663 Kaiserslautern
Geschaeftsfuehrung: Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster
(Vorsitzender) Dr. Walter Olthoff
Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans A. Aukes
Amtsgericht Kaiserslautern, HRB 2313
Sitz der Gesellschaft: Kaiserslautern (HRB 2313)
USt-Id.Nr.: DE 148646973
Steuernummer: 19/673/0060/3
-----------------------------------------------------------------------
Sylvain Joyeux
2014-09-11 14:21:40 UTC
Permalink
On Thu, Sep 11, 2014 at 10:20 AM, Steffen Planthaber
Post by Steffen Planthaber
In the Virgo project, we didn't use the ros datatype directly in the
orogen file, we used a mapping form ros to a rock type, that worken,
perhaps teh issue only arises when no mappings are used?
I can confirm that. The oroGen components should only use the Rock
types on their ports, not the ROS types.

Sylvain
Janosch Machowinski
2014-09-11 14:35:02 UTC
Permalink
Uhm,
you know, that I wrote, that I did a mapping, and
that it did not work ?!
typekit.ros_mappings 'std/vector</envire/BinaryEvent>' =>
'/nav_msgs/OccupancyGrid'

For some reason this does not generate the typekit entries.
It works if I generate a mapping to some intermediate type.
E.g. :
typekit.ros_mappings 'ros2rock/IntermediateOccGrid' =>
'nav_msgs/OccupancyGrid'
Then the typekit folder and the stub functions get
generated.
Greetings
Janosch
Post by Sylvain Joyeux
On Thu, Sep 11, 2014 at 10:20 AM, Steffen Planthaber
Post by Steffen Planthaber
In the Virgo project, we didn't use the ros datatype directly in the
orogen file, we used a mapping form ros to a rock type, that worken,
perhaps teh issue only arises when no mappings are used?
I can confirm that. The oroGen components should only use the Rock
types on their ports, not the ROS types.
Sylvain
_______________________________________________
Rock-dev mailing list
Rock-dev at dfki.de
http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev
Loading...