diff --git a/firewire_nodelet_plugin.xml b/firewire_nodelet_plugin.xml index 78eb24b71833f00a395acb92b9ed1d01e40492ad..90cb46ea380d61741b704a7976a64f07cf26b48f 100755 --- a/firewire_nodelet_plugin.xml +++ b/firewire_nodelet_plugin.xml @@ -1,5 +1,5 @@ -<library path="lib/libfirewire_camera_driver_nodelet"> - <class name="iri_firewire_camera/iri_firewire_nodelet" type="FirewireCameraNodelet" base_class_type="nodelet::Nodelet"> +<library path="lib/libiri_firewire_camera_nodelet"> + <class name="iri_firewire_camera/FirewireCameraNodelet" type="FirewireCameraNodelet" base_class_type="nodelet::Nodelet"> <description> Nodelete for the iri firewire camera module </description> diff --git a/include/camera_common.h b/include/camera_common.h index aa0e6c1deb5442e16a58d4f64317f1649ea840fc..39264b08b823befdc0295b5e0a625dd275159737 100755 --- a/include/camera_common.h +++ b/include/camera_common.h @@ -27,4 +27,12 @@ typedef struct sensor_msgs::CameraInfo CameraInfo_msg_; }TROSCamera; +typedef struct +{ + image_transport::ImageTransport *it; + image_transport::CameraPublisher camera_image_publisher_; + sensor_msgs::ImagePtr Image_msg_; + sensor_msgs::CameraInfoPtr CameraInfo_msg_; +}TROSCameraPtr; + #endif diff --git a/launch/firewire.launch b/launch/firewire.launch new file mode 100755 index 0000000000000000000000000000000000000000..9490be351f3805de0aaf4b4e9f347b130e745bea --- /dev/null +++ b/launch/firewire.launch @@ -0,0 +1,65 @@ +<launch> + + <!-- bumblebee --> + <!-- published topics: /sensors/head_right/image_raw --> + <!-- subscribed topics: --> + <!-- service clients: --> + <!-- service servers: --> + <!-- action clients: --> + <!-- action servers: --> + <node pkg ="iri_firewire_camera" + type="iri_firewire_camera" + name="bumblebee"> + <remap from="/bumblebee/camera_image" + to="/sensors/head_right/image_raw"/> + <param name="Camera_node" value="0" /> + <param name="frame_id" value="bumblebee_right" type="string" /> + <!-- set calibration file --> + <param name="cal_file" value="file://$(find iri_firewire_camera)/calibration/$(env ROBOT)_right_camera.yaml" type="string" /> + <param name="ISO_speed" value="400" /> + <param name="Framerate" value="7.5" /> + <param name="Color_coding" value="3" /> + <param name="Image_width" value="1024" /> + <param name="Image_height" value="768" /> + <param name="~tf_prefix" value="/$(env ROBOT)" type="str"/> + </node> + + <!-- published topics: /processed_image --> + <!-- subscribed topics: /sensors/head_right/image_raw --> + <!-- /sensors/head_right/camera_info --> + <!-- service clients: --> + <!-- service servers: --> + <!-- action clients: --> + <!-- action servers: --> + <!-- image crop --> + <node pkg ="nodelet" + type="nodelet" + name="image_proc_dec" + args="standalone image_proc/crop_decimate"> + <param name="decimation_x" value="2" /> + <param name="decimation_y" value="2" /> + <remap from="/camera/image_raw" + to="/sensors/head_right/image_raw"/> + <remap from="/camera/camera_info" + to="/sensors/head_right/camera_info"/> + </node> + + <!-- image rectification --> + <node pkg ="image_proc" + type="image_proc" + name="image_proc_rect"> + <remap from="/image_raw" + to="/camera_out/image_raw" /> + <remap from="/camera_info" + to="/camera_out/camera_info" /> + <remap from="/image_rect_color" + to="/processed_image" /> + </node> + + <node pkg="image_view" + type="image_view" + name="image_view" > + <remap from="/image" to="/processed_image"/> + </node> + +</launch> diff --git a/launch/firewire_nodelet.launch b/launch/firewire_nodelet.launch index 94dc81c257c764b2ad7f0fc059c94e290939f8da..96d17b417ec7c804dc9669f04828cf9af3595c4f 100755 --- a/launch/firewire_nodelet.launch +++ b/launch/firewire_nodelet.launch @@ -2,7 +2,7 @@ <node pkg="nodelet" type="nodelet" name="standalone_nodelet" args="manager" output="screen"> <param name="Camera_node" value="0" /> <param name="frame_id" value="bumblebee_frame" type="string" /> - <param name="cal_file" value="file://$(find iri_firewire_camera)/calibration/bumblebee_right.yml" type="string" /> + <param name="cal_file" value="file://$(find iri_firewire_camera)/calibration/$(env ROBOT)_right_camera.yaml" type="string" /> <param name="ISO_speed" value="400" /> <param name="Framerate" value="7.5" /> <param name="Color_coding" value="3" /> @@ -22,7 +22,7 @@ </node> <!-- firewire camera driver --> - <node pkg="nodelet" type="nodelet" name="iri_firewire_nodelet" args="load iri_firewire_camera/iri_firewire_nodelet standalone_nodelet" output="screen"> + <node pkg="nodelet" type="nodelet" name="iri_firewire_nodelet" args="load iri_firewire_camera/FirewireCameraNodelet standalone_nodelet" output="screen"> </node> <!-- image decimation --> diff --git a/package.xml b/package.xml index c82d03db414a7f001542b53c40bc8a938b2d594b..99c438411984c5328fdb2eb52ccb8bbbd376e77f 100644 --- a/package.xml +++ b/package.xml @@ -61,5 +61,6 @@ <!-- The export tag contains other, unspecified, tags --> <export> <!-- Other tools can request additional information be placed here --> + <nodelet plugin="${prefix}/firewire_nodelet_plugin.xml" /> </export> </package> diff --git a/src/firewire_camera_driver_nodelet.cpp b/src/firewire_camera_driver_nodelet.cpp index f031363448361a168c369fefc12796d28c270ded..1e0adac5f487d59c3b6560f7c827698803db9315 100755 --- a/src/firewire_camera_driver_nodelet.cpp +++ b/src/firewire_camera_driver_nodelet.cpp @@ -237,5 +237,5 @@ FirewireCameraNodelet::~FirewireCameraNodelet() } // parameters are: package, class name, class type, base class type -PLUGINLIB_DECLARE_CLASS(iri_firewire_camera, iri_firewire_nodelet, FirewireCameraNodelet, nodelet::Nodelet); +PLUGINLIB_DECLARE_CLASS(iri_firewire_camera, FirewireCameraNodelet, FirewireCameraNodelet, nodelet::Nodelet);