虽然我使用ROS,但我认为这更像是一个C ++问题。
我正在创建一个复杂类(moveit::planning_interface::MoveGroup::Plan
)的元素,我想将它保存到文件中,以便我可以加载它并在其他运行中使用它。因为它的内容不仅仅是ints / floats / strings / etc.我不能使用PicklingTools。我见过Boost::serialization
,但由于我没有定义这个结构,我认为我不能用它。
有没有办法做到这一点?
moveit::planning_interface::MoveGroup::Plan
有以下成员:
double planning_time_
moveit_msgs::RobotState start_state_
moveit_msgs::RobotTrajectory trajectory_
定义链接:
我试着写一下:
template<class Archive>
void serialize(Archive & ar, moveit::planning_interface::MoveGroup::Plan & g, const unsigned int version){
ar & g.planning_time_;
ar & g.start_state_;
ar & g.trajectory_;
}
} // namespace serialization
} // namespace boost
它编译但是没有用。此外,我不知道如何实际保存它以便以后使用它。从现在起它会保存此类的所有实例吗?