ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

kaponloto's profile - activity

2022-05-25 06:28:09 -0500 received badge  Famous Question (source)
2022-05-25 06:28:09 -0500 received badge  Notable Question (source)
2022-05-25 06:28:09 -0500 received badge  Popular Question (source)
2021-07-01 05:50:14 -0500 received badge  Famous Question (source)
2020-12-04 02:47:26 -0500 received badge  Notable Question (source)
2020-10-13 15:02:05 -0500 received badge  Popular Question (source)
2020-10-11 06:19:24 -0500 answered a question message_filter synchronize boolean msg

Indeed. thank you for your answer.

2020-10-11 06:19:24 -0500 received badge  Rapid Responder
2020-10-11 06:18:25 -0500 marked best answer message_filter synchronize boolean msg

Hello I want to add a boolean msg in my synchronizer but it seems that BoolConstPtr definition in the callback function is not working. Here is my class and callback dsefiniton.

class LandingNode {

public:
LandingNode (ros::NodeHandle &nh);
~LandingNode ();
void proc_callback (const sensor_msgs::ImageConstPtr& msgLeft,const sensor_msgs::ImageConstPtr& msgRight, const std_msgs::BoolConstPtr& msgHover);
private:
  typedef message_filters::sync_policies::ApproximateTime<sensor_msgs::Image, sensor_msgs::Image, std_msgs::Bool> sync_pol;
  message_filters::Subscriber<sensor_msgs::Image> *sub_left;
  message_filters::Subscriber<sensor_msgs::Image> *sub_right;
  message_filters::Subscriber<std_msgs::Bool>  *sub_hover;
  message_filters::Synchronizer<sync_pol> *sync_;
};

LandingNode::LandingNode( ros::NodeHandle &nh) {
 sub_left = new message_filters::Subscriber<sensor_msgs::Image> (nh, "/left/image_raw", 10);
 sub_right = new message_filters::Subscriber<sensor_msgs::Image> (nh, "/right/image_raw", 10);
 sub_hover = new message_filters::Subscriber<std_msgs::Bool> (nh, "/is_hover", 10);
 sync_ = new message_filters::Synchronizer<sync_pol> (sync_pol(10), *sub_left, *sub_right, *sub_hover);

 sync_->registerCallback(boost::bind(&LandingNode::proc_callback, this, _1, _2, _3));
 boost::thread t = boost::thread(boost::bind(&spinthread));
}
void LandingNode::proc_callback(const sensor_msgs::ImageConstPtr& msgLeft, const sensor_msgs::ImageConstPtr& msgRight, const std_msgs::BoolConstPtr& msgHover) {

i see the following errors

error: ‘__s_getMD5Sum’ is not a member of ‘boost::shared_ptr<const std_msgs::Bool_<std::allocator<void> > >’
     return M::__s_getMD5Sum().c_str();

error: ‘value’ is not a member of ‘ros::message_traits::TimeStamp<std_msgs::Bool_<std::allocator<void> >, void>’
     ros::Time msg_time = mt::TimeStamp<typename mpl::at_c<Messages, i>::type>::value(msg);
                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
 error: ‘value’ is not a member of ‘ros::message_traits::TimeStamp<std_msgs::Bool_<std::allocator<void> >, void>’
       if ((mt::TimeStamp<M2>::value(*m2.getMessage()) < time) ^ end)
            ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/opt/ros/melodic/include/message_filters/sync_policies/approximate_time.h:565:40: error: ‘value’ is not a member of ‘ros::message_traits::TimeStamp<std_msgs::Bool_<std::allocator<void> >, void>’
         time = mt::TimeStamp<M2>::value(*m2.getMessage());
                ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~

The whole terminal msg id the following

opt/ros/melodic/include/message_filters/subscriber.h:146:7:   required from ‘void message_filters::Subscriber<M>::subscribe(ros::NodeHandle&, const string&, uint32_t, const ros::TransportHints&, ros::CallbackQueueInterface*) [with M = boost::shared_ptr<const std_msgs::Bool_<std::allocator<void> > >; std::__cxx11::string = std::__cxx11::basic_string<char>; uint32_t = unsigned int]’
/opt/ros/melodic/include/message_filters/subscriber.h:114:14:   required from ‘message_filters::Subscriber<M>::Subscriber(ros::NodeHandle&, const string&, uint32_t, const ros::TransportHints&, ros::CallbackQueueInterface*) [with M = boost::shared_ptr<const std_msgs::Bool_<std::allocator<void> > >; std::__cxx11::string = std::__cxx11::basic_string<char>; uint32_t = unsigned int]’
/home/ubuntu/catkin_ws/src/landing/src/landing2.cpp:52:93:   required from here
/opt/ros/melodic/include/ros/message_traits.h:121:28: error: ‘__s_getMD5Sum’ is not a member of ‘boost::shared_ptr<const std_msgs::Bool_<std::allocator<void> > >’
     return M::__s_getMD5Sum().c_str();
            ~~~~~~~~~~~~~~~~^~
/opt/ros/melodic/include/ros/message_traits.h: In instantiation of ‘static const char* ros::message_traits::DataType<M>::value() [with M = boost::shared_ptr<const std_msgs::Bool_<std::allocator<void> > >]’:
/opt/ros/melodic/include/ros/message_traits.h:237:104:   required from ‘const char* ros::message_traits::datatype() [with M = boost::shared_ptr<const std_msgs::Bool_<std::allocator<void> > >]’
/opt/ros/melodic/include/ros/subscribe_options.h:90:53:   required from ‘void ros::SubscribeOptions::initByFullCallbackType(const string&, uint32_t, const boost::function<void(P)>&, const boost::function<boost::shared_ptr<typename ros::ParameterAdapter<P>::Message>()>&) [with P = const ros::MessageEvent<const boost::shared_ptr<const std_msgs::Bool_<std::allocator<void> > > >&; std::__cxx11::string = std::__cxx11::basic_string<char>; uint32_t = unsigned int; typename ros::ParameterAdapter<P>::Message = boost::shared_ptr<const std_msgs::Bool_<std::allocator<void> > >]’
/opt ...
(more)
2020-10-11 06:18:25 -0500 received badge  Scholar (source)
2020-10-11 06:18:23 -0500 received badge  Supporter (source)
2020-10-10 16:27:54 -0500 asked a question message_filter synchronize boolean msg

message_filter synchronize boolean msg Hello I want to add a boolean msg in my synchronizer but it seems that BoolConstP

2020-10-10 16:27:53 -0500 asked a question message_filters synchronize boolean msg

message_filters synchronize boolean msg hello, Im facing the following error when I try to add one more msg (boolean) in

2020-07-26 14:37:08 -0500 received badge  Taxonomist
2020-07-08 17:58:49 -0500 received badge  Famous Question (source)
2020-06-05 11:06:46 -0500 received badge  Famous Question (source)
2020-04-06 10:29:25 -0500 received badge  Notable Question (source)
2020-04-06 10:29:25 -0500 received badge  Popular Question (source)
2020-04-06 10:29:09 -0500 received badge  Notable Question (source)
2020-02-25 08:20:32 -0500 received badge  Popular Question (source)
2020-02-21 04:54:41 -0500 edited question Roslaunch got a 'No such file or directory' error

Roslaunch got a 'No such file or directory' error I have built ROS and the dependencies from source to cross-compile it

2020-02-21 04:52:37 -0500 edited question Roslaunch got a 'No such file or directory' error

Roslaunch got a 'No such file or directory' error ... logging to /home/jetsonvvr/.ros/log/8a1c5b60-5304-11ea-9968-16206b

2020-02-21 04:52:37 -0500 received badge  Editor (source)
2020-02-21 04:51:32 -0500 asked a question Roslaunch got a 'No such file or directory' error

Roslaunch got a 'No such file or directory' error ... logging to /home/jetsonvvr/.ros/log/8a1c5b60-5304-11ea-9968-16206b

2020-02-20 05:38:59 -0500 received badge  Enthusiast
2020-02-19 04:54:18 -0500 edited question Rosout killing roscore on exit

Rosout killing roscore on exit I have built ROS and the dependencies from source to cross-compile it for ARM architectur

2020-02-19 04:51:13 -0500 asked a question Rosout killing roscore on exit

Rosout killing roscore on exit I have built ROS and the dependencies from source to cross-compile it for ARM architectur

2020-02-04 11:04:57 -0500 asked a question Build DJI Guidance SDK ROS pkg for ARM64 architecture (Jetson Nano)

Build DJI Guidance SDK ROS pkg for ARM64 architecture (Jetson Nano) Hello, I have installed ROS on Jetson Nano following