在Ubuntu18.04和ROS-melodic中编译TI mmWave autonomous robotics(上)

不问归期 提交于 2020-01-18 04:36:44

一、luna更替

1.非重大更新

  • 禁止了spinners在同一个队列中的使用。
  • log文件现在可以依据节点名称命名。
  • python log文件支持yaml格式。

2.重大更新

robot_model元包将被舍弃。

robot_model包含用于对机器人信息的各个方面进行建模的软件包,
这些软件包以Xml机械格式(URDF)进行描述。
该堆栈的核心软件包是urdf,它解析URDF文件,
并构造机器人的对象模型(C ++)。

替代包:collada_parser, collada_urdf, joint_state_publisher, kdl_parser, resource-retriever, urdf, urdf_parser_plugin, liburdfdom-tools instead.

sudo apt-get install ros-melodic-collada-parser
sudo apt-get install ros-melodic-collada-urdf
sudo apt-get install ros-melodic-joint-state-pulisher
sudo apt-get install ros-melodic-joint-kdl-parser
sudo apt-get install ros-melodic-resource-retriever
sudo apt-get install ros-melodic-resource-urdf
sudo apt-get install ros-melodic-resource-urdf-parser-plugin
sudo apt-get install ros-melodic-resource-liburdfdom-tools

二、melodic更替

1.非重大更新

  • 从c++11到c++14
  • opencv最低支持3.2
  • rviz中的tf1 API将在下个版本中弃用,请尽量基于tf2
  • 在xacro中的--inorder选项现在是默认值了
  • 尽量使用<class_loader/class_loader.hpp> 代替 <class_loader/class_loader.h>
    class_loader软件包是与ROS无关的软件包,用于在运行时加载插件,
    并且是更高级别的ROS“ pluginlib”库的基础。
    class_loader利用主机操作系统的runtime载器打开runtime库(例如.so / .dll文件),
    对库中的已导出插件类进行自检,
    并允许用户实例化所导出类的对象而无需显式声明(即头文件)这些类。
    
  • pluginlib和class_loader已从“ros_base”元软件包移至“ros_core”元软件包

2.重大更新

2.1 kdl_parser包更新

(一).2 中提到的kdl_parser(运动和动力库)弃用了tinyxml

//过去是:
bool treeFromXml(TiXmlDocument * xml_doc,KDL :: Tree&tree
// 现在是:
bool treeFromXml(const tinyxml2 :: XMLDocument * xml_doc,KDL :: Tree&tree)

2.2 urdf包更新

(一).2 中提到的urdf同样对tinyxml2进行了支持

//过去是:
bool initXml(TiXmlElement * xml)
bool initXml(TiXmlDocument * xml)
//现在是:
bool initXml(const tinyxml2::XMLElement *xml)
bool initXml(const tinyxml2::XMLDocument *xml)

2.3 plugin_tool被从melodic中移除

现在plugin_tool是无效函数了。且应尽量使用<pluginlib/class_loader.hpp>,<pluginlib/class_desc.hpp>

创建用于非ROS软件包的插件时,应使用class_loader;
将插件导出到ROS软件包时,应使用pluginlib。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!