gggggraziegrazie

graizegrazieさんのやったこと、学んだことを記録する雑記帳です

ROSでXX_msgs::YY::ConstPtrをXX_msgs::YYに変換する方法

例えばsensor_msgs::LaserScan::ConstPtrをsensor_msgs::LaserScanに変換したい時があるかと思います。sensor_msgs::LaserScan::ConstPtrの実体は、boost::shared_ptrになります。そのため、

boost::shared_ptr<sensor_msgs::LaserScan> laserscan_ptr = boost::const_pointer_cast<sensor_msgs::LaserScan>(laserscan_const_ptr);
sensor_msgs::LaserScan laserscan = *laserscan_ptr;

とすれば変換することができます。