ubuntu16.04安装ros+bebop_autonomy记录

一、安装ros
参考教程
【官网】http://wiki.ros.org/cn/kinetic/Installation/Ubuntu
【博客】https://www.cnblogs.com/kekeoutlook/p/13799189.html
安装ros时遇到问题

问题一

有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出。
下列信息可能会对解决问题有所帮助:

下列软件包有未满足的依赖关系:
 ros-kinetic-desktop-full : 依赖: ros-kinetic-desktop 但是它将不会被安装
                            依赖: ros-kinetic-perception 但是它将不会被安装
                            依赖: ros-kinetic-simulators 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。 

遇到这类问题时,可以观察他缺少的依赖,然后安装一下其他软件测试下源有无问题,如新安装软件im,sudo apt-get install vim没有蹦出来这些依赖问题,则源无问题,可直接尝试安装缺少的依赖

sudo apt-get install ros-kinetic-desktop ros-kinetic-perception   ros-kinetic-simulators

安装完上述三个后,再执行

sudo apt-get install ros-kinetic-desktop-full 

即可

问题二
找不到sudo rosdep init命令

sudo rosdep init command not found

执行命令

pip install python3-rosdep //自动把我安装的ros卸载了
pip install python2-rosdep//E: 无法定位软件包 python2-rosdep
sudo apt-get install python-rosinstall//不顶事,还是无法找到该命令

发现不管用
最终执行命令

sudo apt install rospack-tools//能找到该命令,并且执行,

发现可以成功运行,,但是又出来一个新的问题

ERROR: Rosdep experienced an error: hostname 'raw.githubusercontent.com' doesn't match either of 'default.ssl.fastly.net', 'fastly.com', '*.a.ssl.fastly.net', '*.hosts.fastly.net', '*.global.ssl.fastly.net', '*.fastly.com', 'a.ssl.fastly.net', 'purge.fastly.net', 'mirrors.fastly.net', 'control.fastly.net', 'tools.fastly.net'
Please go to the rosdep page [1] and file a bug report with the stack trace below.
[1] : http://www.ros.org/wiki/rosdep

rosdep version: 0.19.0

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/rosdep2/main.py", line 144, in rosdep_main
    exit_code = _rosdep_main(args)
  File "/usr/lib/python3/dist-packages/rosdep2/main.py", line 428, in _rosdep_main
    return _no_args_handler(command, parser, options, args)
  File "/usr/lib/python3/dist-packages/rosdep2/main.py", line 437, in _no_args_handler
    return command_handlers[command](options)
  File "/usr/lib/python3/dist-packages/rosdep2/main.py", line 581, in command_init
    data = download_default_sources_list()
  File "/usr/lib/python3/dist-packages/rosdep2/sources_list.py", line 331, in download_default_sources_list
    f = urlopen(url, timeout=DOWNLOAD_TIMEOUT)
  File "/usr/lib/python3.6/urllib/request.py", line 223, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python3.6/urllib/request.py", line 526, in open
    response = self._open(req, data)
  File "/usr/lib/python3.6/urllib/request.py", line 544, in _open
    '_open', req)
  File "/usr/lib/python3.6/urllib/request.py", line 504, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.6/urllib/request.py", line 1368, in https_open
    context=self._context, check_hostname=self._check_hostname)
  File "/usr/lib/python3.6/urllib/request.py", line 1325, in do_open
    encode_chunked=req.has_header('Transfer-encoding'))
  File "/usr/lib/python3.6/http/client.py", line 1264, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.6/http/client.py", line 1310, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.6/http/client.py", line 1259, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.6/http/client.py", line 1038, in _send_output
    self.send(msg)
  File "/usr/lib/python3.6/http/client.py", line 976, in send
    self.connect()
  File "/usr/lib/python3.6/http/client.py", line 1425, in connect
    server_hostname=server_hostname)
  File "/usr/lib/python3.6/ssl.py", line 407, in wrap_socket
    _context=self, _session=session)
  File "/usr/lib/python3.6/ssl.py", line 817, in __init__
    self.do_handshake()
  File "/usr/lib/python3.6/ssl.py", line 1077, in do_handshake
    self._sslobj.do_handshake()
  File "/usr/lib/python3.6/ssl.py", line 694, in do_handshake
    match_hostname(self.getpeercert(), self.server_hostname)
  File "/usr/lib/python3.6/ssl.py", line 327, in match_hostname
    % (hostname, ', '.join(map(repr, dnsnames))))
ssl.CertificateError: hostname 'raw.githubusercontent.com' doesn't match either of 'default.ssl.fastly.net', 'fastly.com', '*.a.ssl.fastly.net', '*.hosts.fastly.net', '*.global.ssl.fastly.net', '*.fastly.com', 'a.ssl.fastly.net', 'purge.fastly.net', 'mirrors.fastly.net', 'control.fastly.net', 'tools.fastly.net'


查看解析说,ros是基于python2版本的,所以将自己的python版本更换到了ubuntu自带的2.7版本,重新初始化还是不行,报同样的错误。在网上看了一圈,发现很多人有这个问题

ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.

寻思着会不会是同样的问题,不过是报的错不一样,尝试者用这篇博客里的方法,发现问题居然解决了(antother references link:https://www.cnblogs.com/JuiceCat/p/12000953.html)

1.通过IPAddress.com首页,输入raw.githubusercontent.com查询到真实IP地址
2.打开Ubuntu终端,输入:
sudo gedit /etc/hosts

3.在之中添加:
199.232.68.133 raw.githubusercontent.com//前面的地址替换为自己的真实ip地址
ning@ning:/etc/ros/rosdep/sources.list.d$ rosdep update
reading in sources list data from /etc/ros/rosdep/sources.list.d
ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml]:
	<urlopen error [Errno 104] Connection reset by peer> (https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml)
ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml]:
	<urlopen error [Errno 104] Connection reset by peer> (https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml)
ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml]:
	<urlopen error [Errno 104] Connection reset by peer> (https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml)
ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml]:
	<urlopen error [Errno 104] Connection reset by peer> (https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml)
ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml]:
	Failed to download target platform data for gbpdistro:
	<urlopen error [Errno 104] Connection reset by peer>
Query rosdistro index https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml
ERROR: error loading sources list:
	<urlopen error <urlopen error [Errno 104] Connection reset by peer> (https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml)>


二、安装bebop_autonomy
安装教程
【官网】https://bebop-autonomy.readthedocs.io/en/latest/installation.html#compiling-from-source
总体来说很顺利,最后执行catkin-build时,遇到问题
最初以为是cmake版本问题,因为我和一位同学的cmake均为3.10均失败了,而cmake版本为3.17的同学成功了,所以开始更换cmake版本,重新编译bebop_autonomy失败,更换cmake版本的链接。于是卸载ros,重新下载安装,再编译bebop_autonomy,失败。仔细观察出错的地方,都像是c++本身的问题,于是尝试着在
/home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/CMakeLists.txt文件中加入编译选项

cmake_minimum_required(VERSION 2.8.3)
project(bebop_driver)
add_compile_options(-std=c++11)//添加在第三行

编译成功!

/opt/ros/melodic/include/class_loader/class_loader_core.hpp:183:7: 错误:‘nullptr’在此作用域中尚未声明
   if (nullptr == getCurrentlyActiveClassLoader()) {
       ^
/opt/ros/melodic/include/class_loader/class_loader_core.hpp: 在函数‘Base* class_loader::impl::createInstance(const string&, class_loader::ClassLoader*)’中:
/opt/ros/melodic/include/class_loader/class_loader_core.hpp:242:40: 错误:‘nullptr’在此作用域中尚未声明
   AbstractMetaObject<Base> * factory = nullptr;
                                        ^
/opt/ros/melodic/include/class_loader/class_loader_core.hpp: 在函数‘std::vector<std::__cxx11::basic_string<char> > class_loader::impl::getAvailableClasses(class_loader::ClassLoader*)’中:
/opt/ros/melodic/include/class_loader/class_loader_core.hpp:300:15: 错误:ISO C++ 不允许声明无类型的‘it’ [-fpermissive]
   for (auto & it : factory_map) {
               ^
/opt/ros/melodic/include/class_loader/class_loader_core.hpp:300:20: 警告:range-based ‘for’ loops only available with -std=c++11 or -std=gnu++11
   for (auto & it : factory_map) {
                    ^
/opt/ros/melodic/include/class_loader/class_loader_core.hpp:301:43: 错误:对成员‘second’的请求出现在‘it’中,而后者具有非类类型‘int’
     AbstractMetaObjectBase * factory = it.second;
                                           ^
/opt/ros/melodic/include/class_loader/class_loader_core.hpp:303:28: 错误:对成员‘first’的请求出现在‘it’中,而后者具有非类类型‘int’
       classes.push_back(it.first);
                            ^
/opt/ros/melodic/include/class_loader/class_loader_core.hpp:304:35: 错误:‘nullptr’在此作用域中尚未声明
     } else if (factory->isOwnedBy(nullptr)) {
                                   ^
/opt/ros/melodic/include/class_loader/class_loader_core.hpp:305:42: 错误:对成员‘first’的请求出现在‘it’中,而后者具有非类类型‘int’
       classes_with_no_owner.push_back(it.first);
                                          ^
In file included from /opt/ros/melodic/include/pluginlib/./class_list_macros.hpp:40:0,
                 from /opt/ros/melodic/include/pluginlib/class_list_macros.h:35,
                 from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:26:
/opt/ros/melodic/include/class_loader/class_loader.hpp: 在全局域:
/opt/ros/melodic/include/class_loader/class_loader.hpp:82:3: 错误:expected unqualified-id before ‘usingusing DeleterType = std::function<void(Base *)>;
   ^
/opt/ros/melodic/include/class_loader/class_loader.hpp:85:3: 错误:expected unqualified-id before ‘usingusing UniquePtr = std::unique_ptr<Base, DeleterType<Base>>;
   ^
/opt/ros/melodic/include/class_loader/class_loader.hpp:127:8: 错误:‘shared_ptr’ in namespace ‘std’ does not name a template type
   std::shared_ptr<Base> createSharedInstance(const std::string & derived_class_name)
        ^
/opt/ros/melodic/include/class_loader/class_loader.hpp:160:3: 错误:‘UniquePtr’不是一个类型名
   UniquePtr<Base> createUniqueInstance(const std::string & derived_class_name)
   ^
In file included from /opt/ros/melodic/include/pluginlib/./class_list_macros.hpp:40:0,
                 from /opt/ros/melodic/include/pluginlib/class_list_macros.h:35,
                 from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:26:
/opt/ros/melodic/include/class_loader/class_loader.hpp: 在成员函数‘void class_loader::ClassLoader::onPluginDeletion(Base*)’中:
/opt/ros/melodic/include/class_loader/class_loader.hpp:246:9: 错误:‘nullptr’在此作用域中尚未声明
     if (nullptr == obj) {
         ^
In file included from /usr/local/include/boost/assert.hpp:58:0,
                 from /usr/local/include/boost/thread/pthread/pthread_mutex_scoped_lock.hpp:10,
                 from /usr/local/include/boost/thread/pthread/recursive_mutex.hpp:23,
                 from /usr/local/include/boost/thread/recursive_mutex.hpp:16,
                 from /opt/ros/melodic/include/class_loader/class_loader.hpp:37,
                 from /opt/ros/melodic/include/pluginlib/./class_list_macros.hpp:40,
                 from /opt/ros/melodic/include/pluginlib/class_list_macros.h:35,
                 from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:26:
/opt/ros/melodic/include/class_loader/class_loader.hpp: 在成员函数‘Base* class_loader::ClassLoader::createRawInstance(const string&, bool)’中:
/opt/ros/melodic/include/class_loader/class_loader.hpp:302:19: 错误:‘nullptr’在此作用域中尚未声明
     assert(obj != nullptr);  // Unreachable assertion if createInstance() throws on failure
                   ^
In file included from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:31:0:
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h: 在全局域:
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1009:55: 错误:‘array’不是‘std’的成员
 geometry_msgs::WrenchStamped toMsg(const tf2::Stamped<std::array<tf2::Vector3, 2>>& in, geometry_msgs::WrenchStamped & out)
                                                       ^
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1009:55: 附注:建议的替代:
In file included from /opt/ros/melodic/include/ros/message.h:38:0,
                 from /opt/ros/melodic/include/ros/publisher.h:33,
                 from /opt/ros/melodic/include/ros/node_handle.h:32,
                 from /opt/ros/melodic/include/ros/ros.h:45,
                 from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:25:
/usr/local/include/boost/array.hpp:61:11: 附注:  ‘boost::array’
     class array {
           ^
In file included from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:31:0:
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1009:55: 错误:‘array’不是‘std’的成员
 geometry_msgs::WrenchStamped toMsg(const tf2::Stamped<std::array<tf2::Vector3, 2>>& in, geometry_msgs::WrenchStamped & out)
                                                       ^
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1009:55: 附注:建议的替代:
In file included from /opt/ros/melodic/include/ros/message.h:38:0,
                 from /opt/ros/melodic/include/ros/publisher.h:33,
                 from /opt/ros/melodic/include/ros/node_handle.h:32,
                 from /opt/ros/melodic/include/ros/ros.h:45,
                 from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:25:
/usr/local/include/boost/array.hpp:61:11: 附注:  ‘boost::array’
     class array {
           ^
In file included from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:31:0:
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1009:81: 错误:可疑的‘>>’,使用‘>’来结束模板实参列表
 geometry_msgs::WrenchStamped toMsg(const tf2::Stamped<std::array<tf2::Vector3, 2>>& in, geometry_msgs::WrenchStamped & out)
                                                                                 ^
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1009:81: 错误:模板参数数目不对(不应是 2 个而应是 1)
In file included from /opt/ros/melodic/include/tf2/convert.h:36:0,
                 from /opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:35,
                 from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:31:
/opt/ros/melodic/include/tf2/transform_datatypes.h:44:7: 附注:提供给‘template<class T> class tf2::Stamped’
 class Stamped : public T{
       ^
In file included from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:31:0:
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1009:55: 错误:‘array’不是‘std’的成员
 geometry_msgs::WrenchStamped toMsg(const tf2::Stamped<std::array<tf2::Vector3, 2>>& in, geometry_msgs::WrenchStamped & out)
                                                       ^
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1009:55: 附注:建议的替代:
In file included from /opt/ros/melodic/include/ros/message.h:38:0,
                 from /opt/ros/melodic/include/ros/publisher.h:33,
                 from /opt/ros/melodic/include/ros/node_handle.h:32,
                 from /opt/ros/melodic/include/ros/ros.h:45,
                 from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:25:
/usr/local/include/boost/array.hpp:61:11: 附注:  ‘boost::array’
     class array {
           ^
In file included from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:31:0:
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1009:55: 错误:‘array’不是‘std’的成员
 geometry_msgs::WrenchStamped toMsg(const tf2::Stamped<std::array<tf2::Vector3, 2>>& in, geometry_msgs::WrenchStamped & out)
                                                       ^
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1009:55: 附注:建议的替代:
In file included from /opt/ros/melodic/include/ros/message.h:38:0,
                 from /opt/ros/melodic/include/ros/publisher.h:33,
                 from /opt/ros/melodic/include/ros/node_handle.h:32,
                 from /opt/ros/melodic/include/ros/ros.h:45,
                 from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:25:
/usr/local/include/boost/array.hpp:61:11: 附注:  ‘boost::array’
     class array {
           ^
In file included from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:31:0:
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1009:81: 错误:可疑的‘>>’,使用‘>’来结束模板实参列表
 geometry_msgs::WrenchStamped toMsg(const tf2::Stamped<std::array<tf2::Vector3, 2>>& in, geometry_msgs::WrenchStamped & out)
                                                                                 ^
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1009:81: 错误:模板参数数目不对(不应是 2 个而应是 1)
In file included from /opt/ros/melodic/include/tf2/convert.h:36:0,
                 from /opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:35,
                 from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:31:
/opt/ros/melodic/include/tf2/transform_datatypes.h:44:7: 附注:提供给‘template<class T> class tf2::Stamped’
 class Stamped : public T{
       ^
In file included from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:31:0:
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1009:55: 错误:‘array’不是‘std’的成员
 geometry_msgs::WrenchStamped toMsg(const tf2::Stamped<std::array<tf2::Vector3, 2>>& in, geometry_msgs::WrenchStamped & out)
                                                       ^
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1009:55: 附注:建议的替代:
In file included from /opt/ros/melodic/include/ros/message.h:38:0,
                 from /opt/ros/melodic/include/ros/publisher.h:33,
                 from /opt/ros/melodic/include/ros/node_handle.h:32,
                 from /opt/ros/melodic/include/ros/ros.h:45,
                 from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:25:
/usr/local/include/boost/array.hpp:61:11: 附注:  ‘boost::array’
     class array {
           ^
In file included from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:31:0:
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1009:55: 错误:‘array’不是‘std’的成员
 geometry_msgs::WrenchStamped toMsg(const tf2::Stamped<std::array<tf2::Vector3, 2>>& in, geometry_msgs::WrenchStamped & out)
                                                       ^
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1009:55: 附注:建议的替代:
In file included from /opt/ros/melodic/include/ros/message.h:38:0,
                 from /opt/ros/melodic/include/ros/publisher.h:33,
                 from /opt/ros/melodic/include/ros/node_handle.h:32,
                 from /opt/ros/melodic/include/ros/ros.h:45,
                 from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:25:
/usr/local/include/boost/array.hpp:61:11: 附注:  ‘boost::array’
     class array {
           ^
In file included from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:31:0:
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1009:81: 错误:可疑的‘>>’,使用‘>’来结束模板实参列表
 geometry_msgs::WrenchStamped toMsg(const tf2::Stamped<std::array<tf2::Vector3, 2>>& in, geometry_msgs::WrenchStamped & out)
                                                                                 ^
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1009:81: 错误:模板参数数目不对(不应是 2 个而应是 1)
In file included from /opt/ros/melodic/include/tf2/convert.h:36:0,
                 from /opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:35,
                 from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:31:
/opt/ros/melodic/include/tf2/transform_datatypes.h:44:7: 附注:提供给‘template<class T> class tf2::Stamped’
 class Stamped : public T{
       ^
In file included from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:31:0:
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1009:55: 错误:‘array’不是‘std’的成员
 geometry_msgs::WrenchStamped toMsg(const tf2::Stamped<std::array<tf2::Vector3, 2>>& in, geometry_msgs::WrenchStamped & out)
                                                       ^
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1009:55: 附注:建议的替代:
In file included from /opt/ros/melodic/include/ros/message.h:38:0,
                 from /opt/ros/melodic/include/ros/publisher.h:33,
                 from /opt/ros/melodic/include/ros/node_handle.h:32,
                 from /opt/ros/melodic/include/ros/ros.h:45,
                 from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:25:
/usr/local/include/boost/array.hpp:61:11: 附注:  ‘boost::array’
     class array {
           ^
In file included from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:31:0:
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1009:55: 错误:‘array’不是‘std’的成员
 geometry_msgs::WrenchStamped toMsg(const tf2::Stamped<std::array<tf2::Vector3, 2>>& in, geometry_msgs::WrenchStamped & out)
                                                       ^
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1009:55: 附注:建议的替代:
In file included from /opt/ros/melodic/include/ros/message.h:38:0,
                 from /opt/ros/melodic/include/ros/publisher.h:33,
                 from /opt/ros/melodic/include/ros/node_handle.h:32,
                 from /opt/ros/melodic/include/ros/ros.h:45,
                 from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:25:
/usr/local/include/boost/array.hpp:61:11: 附注:  ‘boost::array’
     class array {
           ^
In file included from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:31:0:
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1009:81: 错误:可疑的‘>>’,使用‘>’来结束模板实参列表
 geometry_msgs::WrenchStamped toMsg(const tf2::Stamped<std::array<tf2::Vector3, 2>>& in, geometry_msgs::WrenchStamped & out)
                                                                                 ^
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1009:81: 错误:模板参数数目不对(不应是 2 个而应是 1)
In file included from /opt/ros/melodic/include/tf2/convert.h:36:0,
                 from /opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:35,
                 from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:31:
/opt/ros/melodic/include/tf2/transform_datatypes.h:44:7: 附注:提供给‘template<class T> class tf2::Stamped’
 class Stamped : public T{
       ^
In file included from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:31:0:
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1009:42: 错误:使用模板名‘tf2::Stamped’时不带实参表无效
 geometry_msgs::WrenchStamped toMsg(const tf2::Stamped<std::array<tf2::Vector3, 2>>& in, geometry_msgs::WrenchStamped & out)
                                          ^
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1009:54: 错误:expected ‘,or...’ before ‘<’ token
 geometry_msgs::WrenchStamped toMsg(const tf2::Stamped<std::array<tf2::Vector3, 2>>& in, geometry_msgs::WrenchStamped & out)
                                                      ^
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h: 在函数‘geometry_msgs::WrenchStamped tf2::toMsg(int)’中:
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1011:3: 错误:‘out’在此作用域中尚未声明
   out.header.stamp = in.stamp_;
   ^
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1011:22: 错误:‘in’在此作用域中尚未声明
   out.header.stamp = in.stamp_;
                      ^
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h: 在全局域:
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1020:68: 错误:‘array’不是‘std’的成员
 void fromMsg(const geometry_msgs::WrenchStamped& msg, tf2::Stamped<std::array<tf2::Vector3, 2>>& out)
                                                                    ^
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1020:68: 附注:建议的替代:
In file included from /opt/ros/melodic/include/ros/message.h:38:0,
                 from /opt/ros/melodic/include/ros/publisher.h:33,
                 from /opt/ros/melodic/include/ros/node_handle.h:32,
                 from /opt/ros/melodic/include/ros/ros.h:45,
                 from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:25:
/usr/local/include/boost/array.hpp:61:11: 附注:  ‘boost::array’
     class array {
           ^
In file included from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:31:0:
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1020:68: 错误:‘array’不是‘std’的成员
 void fromMsg(const geometry_msgs::WrenchStamped& msg, tf2::Stamped<std::array<tf2::Vector3, 2>>& out)
                                                                    ^
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1020:68: 附注:建议的替代:
In file included from /opt/ros/melodic/include/ros/message.h:38:0,
                 from /opt/ros/melodic/include/ros/publisher.h:33,
                 from /opt/ros/melodic/include/ros/node_handle.h:32,
                 from /opt/ros/melodic/include/ros/ros.h:45,
                 from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:25:
/usr/local/include/boost/array.hpp:61:11: 附注:  ‘boost::array’
     class array {
           ^
In file included from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:31:0:
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1020:94: 错误:可疑的‘>>’,使用‘>’来结束模板实参列表
 void fromMsg(const geometry_msgs::WrenchStamped& msg, tf2::Stamped<std::array<tf2::Vector3, 2>>& out)
                                                                                              ^
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1020:94: 错误:模板参数数目不对(不应是 2 个而应是 1)
In file included from /opt/ros/melodic/include/tf2/convert.h:36:0,
                 from /opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:35,
                 from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:31:
/opt/ros/melodic/include/tf2/transform_datatypes.h:44:7: 附注:提供给‘template<class T> class tf2::Stamped’
 class Stamped : public T{
       ^
In file included from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:31:0:
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1020:68: 错误:‘array’不是‘std’的成员
 void fromMsg(const geometry_msgs::WrenchStamped& msg, tf2::Stamped<std::array<tf2::Vector3, 2>>& out)
                                                                    ^
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1020:68: 附注:建议的替代:
In file included from /opt/ros/melodic/include/ros/message.h:38:0,
                 from /opt/ros/melodic/include/ros/publisher.h:33,
                 from /opt/ros/melodic/include/ros/node_handle.h:32,
                 from /opt/ros/melodic/include/ros/ros.h:45,
                 from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:25:
/usr/local/include/boost/array.hpp:61:11: 附注:  ‘boost::array’
     class array {
           ^
In file included from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:31:0:
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1020:68: 错误:‘array’不是‘std’的成员
 void fromMsg(const geometry_msgs::WrenchStamped& msg, tf2::Stamped<std::array<tf2::Vector3, 2>>& out)
                                                                    ^
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1020:68: 附注:建议的替代:
In file included from /opt/ros/melodic/include/ros/message.h:38:0,
                 from /opt/ros/melodic/include/ros/publisher.h:33,
                 from /opt/ros/melodic/include/ros/node_handle.h:32,
                 from /opt/ros/melodic/include/ros/ros.h:45,
                 from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:25:
/usr/local/include/boost/array.hpp:61:11: 附注:  ‘boost::array’
     class array {
           ^
In file included from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:31:0:
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1020:94: 错误:可疑的‘>>’,使用‘>’来结束模板实参列表
 void fromMsg(const geometry_msgs::WrenchStamped& msg, tf2::Stamped<std::array<tf2::Vector3, 2>>& out)
                                                                                              ^
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1020:94: 错误:模板参数数目不对(不应是 2 个而应是 1)
In file included from /opt/ros/melodic/include/tf2/convert.h:36:0,
                 from /opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:35,
                 from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:31:
/opt/ros/melodic/include/tf2/transform_datatypes.h:44:7: 附注:提供给‘template<class T> class tf2::Stamped’
 class Stamped : public T{
       ^
In file included from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:31:0:
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1020:60: 错误:‘tf2::Stamped’不是一个类型
 void fromMsg(const geometry_msgs::WrenchStamped& msg, tf2::Stamped<std::array<tf2::Vector3, 2>>& out)
                                                            ^
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1020:67: 错误:expected ‘,or...’ before ‘<’ token
 void fromMsg(const geometry_msgs::WrenchStamped& msg, tf2::Stamped<std::array<tf2::Vector3, 2>>& out)
                                                                   ^
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h: 在函数‘void tf2::fromMsg(const WrenchStamped&, int)’中:
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1022:3: 错误:‘out’在此作用域中尚未声明
   out.stamp_ = msg.header.stamp;
   ^
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1028:3: 错误:‘array’不是‘std’的成员
   std::array<tf2::Vector3, 2> tmp_array;
   ^
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1028:3: 附注:建议的替代:
In file included from /opt/ros/melodic/include/ros/message.h:38:0,
                 from /opt/ros/melodic/include/ros/publisher.h:33,
                 from /opt/ros/melodic/include/ros/node_handle.h:32,
                 from /opt/ros/melodic/include/ros/ros.h:45,
                 from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:25:
/usr/local/include/boost/array.hpp:61:11: 附注:  ‘boost::array’
     class array {
           ^
In file included from /home/ning/bebop_ws/src/bebop_autonomy/bebop_driver/src/bebop_driver_nodelet.cpp:31:0:
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1028:26: 错误:expected primary-expression before ‘,’ token
   std::array<tf2::Vector3, 2> tmp_array;
                          ^
/opt/ros/melodic/include/tf2_geometry_msgs/tf2_geometry_msgs.h:1028:31: 错误:‘tmp_array’在此作用域中尚未声明
   std::array<tf2::Vector3, 2> tmp_array;
                               ^
make[2]: *** [CMakeFiles/bebop_driver_nodelet.dir/src/bebop_driver_nodelet.cpp.o] Error 1
make[1]: *** [CMakeFiles/bebop_driver_nodelet.dir/all] Error 2
make: *** [all] Error 2
cd /home/ning/bebop_ws/build/bebop_driver; catkin build --get-env bebop_driver | catkin env -si  /usr/bin/make --jobserver-fds=6,7 -j; cd -
.....................................................................................................................................
Failed     << bebop_driver:make                [ Exited with code 2 ]                                                                
Failed    <<< bebop_driver                     [ 3.0 seconds ]                                                                       
Abandoned <<< bebop_tools                      [ Unrelated job failed ]                                                              
[build] Summary: 2 of 4 packages succeeded.                                                                                          
[build]   Ignored:   1 packages were skipped or are blacklisted.                                                                     
[build]   Warnings:  None.                                                                                                           
[build]   Abandoned: 1 packages were abandoned.                                                                                      
[build]   Failed:    1 packages failed.                                                                                              
[build] Runtime: 3.6 seconds total. 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值