SROS2

作者: Barry_Xu | 来源:发表于2019-09-27 11:16 被阅读0次
  • 从源代码编译时候,需要为fastrpts 打开 security 的支持

    $ colcon build --symlink-install --cmake-args -DSECURITY=ON
    
  • 创建 key store

    $ ros2 security create_keystore demo_keys
    
  • 为talker 和 listener两个node 创建key 和 certificate

     $ ros2 security create_key demo_keys /talker
     $ ros2 security create_key demo_keys /listener 
    

    有可能你会遇到如下错误

    lxml.etree.XMLSchemaParseError: attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}base' does not resolve to a(n) attribute declaration., line 34
    

    修正这个问题如下
    修改sros2 的代码

    $ cd ros2_ws/src/ros2/sros2/sros2/sros2/policy/schemas
    $ wget http://www.w3.org/2001/03/xml.xsd  # 下载 xml.xsd
    $ vim policy.xsd
    修改如下
    @@ -4,7 +4,7 @@
       xmlns:xml="http://www.w3.org/XML/1998/namespace"
       elementFormDefault="qualified" attributeFormDefault="unqualified">
       <xs:import namespace="http://www.w3.org/XML/1998/namespace"
    -               schemaLocation="http://www.w3.org/2001/03/xml.xsd" />
    +               schemaLocation="xml.xsd" />
    
  • 执行demo

    $ export ROS_SECURITY_ROOT_DIRECTORY=~/sros2_demo/demo_keys
    $ export ROS_SECURITY_ENABLE=true
    $ export ROS_SECURITY_STRATEGY=Enforce
    

    每个ros2 run 的终端都要配置上面的参数
    一个终端执行

    $ ros2 run demo_nodes_cpp talker
    

    另一个终端执行

    $ ros2 run demo_nodes_py listener
    

相关文章

  • SROS2

    从源代码编译时候,需要为fastrpts 打开 security 的支持$ colcon build --syml...

网友评论

      本文标题:SROS2

      本文链接:https://www.haomeiwen.com/subject/qnpouctx.html