Go to the documentation of this file.
21 #include <std_msgs/String.h>
26 #include <tf/transform_broadcaster.h>
27 #include <camera_info_manager/camera_info_manager.h>
28 #include <tf/transform_listener.h>
29 #include <nav_msgs/Odometry.h>
30 #include <geometry_msgs/PoseWithCovarianceStamped.h>
31 #include <nav_msgs/MapMetaData.h>
32 #include <nav_msgs/GetMap.h>
33 #include <nav_msgs/OccupancyGrid.h>
34 #include <image_transport/image_transport.h>
35 #include <cv_bridge/cv_bridge.h>
36 #include <sensor_msgs/image_encodings.h>
37 #include <sensor_msgs/Imu.h>
38 #include <opencv2/imgproc/imgproc.hpp>
39 #include <sensor_msgs/Image.h>
40 #include <sensor_msgs/LaserScan.h>
41 #include <webots_ros/camera_get_info.h>
42 #include <webots_ros/robot_get_device_list.h>
43 #include <webots_ros/save_image.h>
44 #include <webots_ros/get_int.h>
45 #include <webots_ros/set_int.h>
46 #include <webots_ros/get_string.h>
47 #include <webots_ros/set_float.h>
48 #include <CGAL/Exact_predicates_exact_constructions_kernel.h>
49 #include <CGAL/Simple_polygon_visibility_2.h>
50 #include <CGAL/Arrangement_2.h>
51 #include <CGAL/Arr_segment_traits_2.h>
52 #include <CGAL/Arr_naive_point_location.h>
53 #include <CGAL/Polygon_2.h>
55 #include <CGAL/Triangular_expansion_visibility_2.h>
56 #include <CGAL/squared_distance_2.h>
60 typedef CGAL::Exact_predicates_exact_constructions_kernel
Kernel;
65 typedef CGAL::Arr_segment_traits_2<Kernel>
Traits_2;
71 typedef CGAL::Triangular_expansion_visibility_2<Arrangement_2>
TEV;
125 Field(ros::NodeHandle);
133 void addObstacle(std::string, std::vector<Point_2>);
227 void setName(std::string, ros::NodeHandle nh);
319 tf::TransformBroadcaster
br;
365 void init(ros::NodeHandle, std::string);
476 tf::TransformBroadcaster
br;
503 WebotsCamera(ros::NodeHandle, image_transport::ImageTransport, std::string);
510 void enable(ros::NodeHandle);
541 image_transport::Publisher
pub;
tf::Transform transformCamera
Transform and Broadcaster of camera frame.
std::stringstream frameBase_linkName
Name of base_link frame.
void cameraCallback(const sensor_msgs::Image::ConstPtr &image)
void modifyObstacle(std::string, std::vector< Point_2 >)
void setSegments(std::vector< Point_2 >)
std::stringstream pose_alvar_publisher_name
void moveCallback(const geometry_msgs::Twist &msg)
ros::Subscriber subCameraCamera
subscriber for camera image from webots
void generateOccupancyGrid()
tf::Transform transformOdom
std::stringstream frameAr_pose_markerName
Name of alvar marker frame.
void setName(std::string)
std::string controllerNameinWebots
name of controller in webots environment
void updatePositionOrientation()
CGAL::Arrangement_2< Traits_2 > Arrangement_2
void subscribeGyro(ros::NodeHandle)
void setPositionOrientation(tf::Vector3, tf::Quaternion)
geometry_msgs::PoseWithCovarianceStamped pose_alvar
Vaifable for storing pose from alvar.
std::vector< Segment_2 > segments
segments variable for storing segments
float mapResolution
several map Parameters
std::string name
Name of camera.
std::vector< float > imageCamera
Vector for obtaining image from camera.
ros::Publisher pub_info
Publisher for camera info.
CGAL::Exact_predicates_exact_constructions_kernel Kernel
float vx
variables for storing position, veloctiy parameters
std::stringstream frameMapName
Name of map frame.
ros::ServiceClient rightWheelVelocityClient
std::string gyroNameinWebots
tf::TransformBroadcaster br
std::stringstream LaserScan_publisher_name
Name of LaserScan publisher.
std::stringstream imagePublisherName
Names of publishers.
void EKFOdometryCallback(const nav_msgs::Odometry &msg)
std::stringstream odom_publisher_name
Name of odometry publisher.
tf::TransformListener listener
void publishOccupancyGrid(ros::NodeHandle n)
std::string name
Number of robot.
std::stringstream frameOdomName
Name of odom frame.
void gyroCallback(const sensor_msgs::Imu &imu)
geometry_msgs::Pose origin
std::stringstream frameCameraName
Name of camera frame.
void deleteObstacle(std::string)
void transmitLaserScan(Robot[], int list_length, Field *field)
std::string cameraNameinWebots
std::stringstream frameAr_pose_markerName
variable for storing alvar marker name
ros::Publisher pose_alvar_publisher
ros::Publisher LaserScan_publisher
Publishers of LaserScan msg and Odometry msg.
std::stringstream infoPublisherName
void updateObstacleFromAlvar(std::string, std::vector< int >)
std::stringstream cmd_vel_subscriber_name
name of topic for cmd_vel
void odometryCallback(const nav_msgs::Odometry &msg)
CGAL::Polygon_2< Kernel > Polygon_2
ros::ServiceClient leftWheelPositionClient
void enableGyro(ros::NodeHandle)
tf::TransformBroadcaster br
Broadcaster and listener of robot transforms.
ros::Publisher map_pub
Occupancy grid publisher.
std::string robotNameinWebots
name of robot in webots environment
ros::ServiceClient leftWheelVelocityClient
CGAL::Triangular_expansion_visibility_2< Arrangement_2 > TEV
nav_msgs::Odometry odom
Variable for storing Odometry msg.
void transmitLaserScan(WebotsRobot[], int list_length, Field *field)
WebotsCamera(ros::NodeHandle, image_transport::ImageTransport, std::string)
webots_ros::set_float wheelSrv
variable for interfacing with webots
tf::Transform transformBase_Link
CGAL::Arr_segment_traits_2< Kernel > Traits_2
void subscribeMove(ros::NodeHandle)
std::vector< Point_2 > points
points variable for storing points
std::vector< signed char > data
data variable for storing occupancy grid
void transmitPoseFromAlvarPoseMsg()
std::string controllerNameinWebots
Names of controller and camera in webots.
void setPositionOrientation(tf::Vector3, tf::Quaternion)
void subscribe(ros::NodeHandle)
image_transport::Publisher pub
Publisher for image.
ros::Subscriber sub_ekf_odom
subscriber for robot odometry from ekf_odom
Arrangement_2::Edge_const_iterator Edge_const_iterator
ros::Publisher odom_publisher
Kernel::Vector_2 Vector_2
std::vector< Obstacle > obstacles
obstacles variable for storing obstacles
void enable(ros::NodeHandle)
ros::Subscriber subCmd_vel
Subscriber for cmd_vel topic.
tf::Transform transformMap
Variables for transforms of frames.
tf::TransformListener listener
listener variable listening to alvar marker transforms
Arrangement_2::Halfedge_const_handle Halfedge_const_handle
Kernel::Segment_2 Segment_2
Arrangement_2::Face_handle Face_handle
void addObstacle(std::string, std::vector< Point_2 >)
void init(ros::NodeHandle, std::string)
int width
Parameters of camera.
float wheelDistance
Robot physical parameters.
ros::Time time
Variables for determening time difference.
std::string name
name variable for storing name
sensor_msgs::CameraInfo cam_info
variable for storing camera info
void setName(std::string, ros::NodeHandle nh)
ros::ServiceClient rightWheelPositionClient
service clients for individual wheels of robot
std::stringstream robot_ekf_odom_subscriber_name
rosinljubljana
Author(s): Igor Banfi
autogenerated on Mon Feb 24 2020 12:32:36