Coder Social home page Coder Social logo

cyberdog_ros2's Introduction

Xiaomi CyberDog ROS 2

License

CyberDogDog

English

简介

本项目包含小米铁蛋®的ROS 2主要功能包.

基本信息

  • 铁蛋默认用户是mi, 密码为123
  • 使用USB线连接Download接口, 可通过ssh [email protected]连接铁蛋进行内部操作

软件架构

我们基于ROS 2实现了大部分的机器人应用, 如架构图所示, 包括多设备链接、多模态感知、多模态人机交互、自主决策、空间定位、导航和目标追踪等功能. 目前使用的DDS中间件是Cyclone DDS, ROS 2的版本为Galactic.

由于NVIDIA对Jetson系列截至目前(202109)只提供了Ubuntu 18.04的支持, 故我们对Ubuntu 18.04进行了ROS 2的适配和修改. 具体的修改内容可以通过mini.repos进行拉取, 我们去除了部分没必要的仓, 并添加了一些需要使用的仓库.

本项目的详细文档都在各个子模块的根目录里, 如有需要可以直接点击进行了解

前置条件

如在目标设备上直接编译, 需要保证已连接互联网. 首选环境是铁蛋, 次选环境是Docker开发环境.

如是前者,需要保证执行如下指令:

$ apt-get update
$ apt-get install nvidia-l4t-jetson-multimedia-api cuda-compiler-10-2

如是后者, 可以考虑使用arm64的Docker. 我们在未来会支持交叉编译。

大陆地区加速

如果您在中华人民共和国大陆地区, 可以使用我们提供的Docker的构建加速和colcon的编译加速

构建Docker时, 可使用docker build -t arm_docker:1.0 . --build-arg gfw=1进行构建镜像, 以提高速度.

使用colcon编译包时, 可在colcon编译的语句最后添加--cmake-args -DBUILD_INSIDE_GFW=ON以获取加速, 如colcon build --merge-install --packages-select sdl2_vendor lcm_vendor mpg123_vendor toml11_vendor --cmake-args -DBUILD_INSIDE_GFW=ON.

构建 & 部署

本项目支持两种构建策略:

  • 最小功能包: 只编译影响整机启动和运动的相关功能包.
  • 基础功能包: 编译本仓(cyberdog_ros2)的全部功能包.

最小功能包

编译方法:

  • 下载cyberdog_ros2.
$ mkdir -p ros_apps/src
$ cd ros_apps/src
$ git clone https://github.com/MiRoboticsLab/cyberdog_ros2.git
$ cd ..
  • 使用--packages-up-to编译(确保source过ROS 2的环境变量)
$ colcon build --merge-install --packages-up-to cyberdog_bringup

或者, 编译到指定目录, 注意: 如有需要请替换/opt/ros2/cyberdog的值为其他.

$ export OUTPUT_DIR=/opt/ros2/cyberdog
$ colcon build --merge-install --install-base $OUTPUT_DIR --packages-up-to cyberdog_bringup

基础功能包

编译方法:

  • 下载cyberdog_ros2.
  • Download cyberdog_ros2.
$ mkdir -p ros_apps/src
$ cd ros_apps/src
$ git clone https://github.com/MiRoboticsLab/cyberdog_ros2.git
$ cd ..
  • 直接编译所有的包(确保source过ROS 2的环境变量)
$ colcon build --merge-install

或者, 编译到指定目录, 注意:如有需要请替换/opt/ros2/cyberdog的值为其他.

$ export OUTPUT_DIR=/opt/ros2/cyberdog
$ colcon build --merge-install --install-base $OUTPUT_DIR

此外,小米提供的部分闭源功能包:小爱同学支持默认不打开,需要通过在--cmake-args后添加-DXIAOMI_XIAOAI=ON分别打开两个功能的编译。

通用的部署方式

如果使用的是/opt/ros2/cyberdog路径进行编译, 且环境是铁蛋, 重启机器或服务即可部署完毕.

重启服务的方式:

To restart the service:

$ sudo systemctl restart cyberdog_ros2.service

相关项目

相关资源

向铁蛋贡献力量!

浏览页面CONTRIBUTING.md了解如何向铁蛋贡献力量!

cyberdog_ros2's People

Contributors

erjanmx avatar homalozoa avatar northdk avatar sqybi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cyberdog_ros2's Issues

Could you provide the urdf file and STEP file for CyberDog?

Brief modification description

providing URDF file for cyberdog

Detailed information

We wish that by having the urdf file, we can make a simulation interface based on PyBullet. And robot learning research based on cyberdog can be performed

Where can you buy a robot for $ 1,500?

Where can i buy a cyberdog for $ 1,500?
After the sale of 1000 pieces, will it still be produced? What are your future plans?
I would like to buy but cannot find where.

Dependency problem of building ros2(mini.reps) from source

#rmw_implementation: No definition of [rmw_connextdds] for OS version [bionic]

Missing rmw_connextdds in mini.repos

#imu_tools: Cannot locate rosdep definition for [rviz_imu_plugin]

imu_tools depends on rviz_imu_plugin that not include in mini.repos

隔壁问题提到了next generation

有点冷清鸭

看隔壁一个兄弟问一千五百刀的铁蛋哪里买,有大佬回复说next generation,请问这个next generation会怎么改进,如何收集意见呢

我相信大部分能拿到铁蛋的用户还是有很多意见想提的,但是个人感觉git不是一个适合国内大部分实际拿到铁蛋用户的社区(似乎开发者并不是主要筛选幸存者),微博上或者微信建立一个官方的讨论群组不好吗

昨天收到了狗,很开心,不知道怎么分享快乐(社区发不出去贴子我服了...),特地来贵宝地感谢一下项目组各位大佬,话说能不能出个钢化膜保护一下铁蛋的眼睛,搞机器人的二次开发磕磕碰碰的也挺心疼的……

compile err :colcon build --merge-install --packages-up-to cyberdog_bringup

tmi@tmi-NUC8i7BEH:~/ws_cyberdog$ colcon build --merge-install --packages-up-to cyberdog_bringup

Starting >>> cascade_lifecycle_msgs
Starting >>> ception_msgs
Starting >>> interaction_msgs
Starting >>> lcm_vendor
Starting >>> motion_msgs
Starting >>> behaviortreecppv3_vendor
Starting >>> grpc_vendor
Starting >>> toml11_vendor
--- stderr: ception_msgs
CMake Error at /opt/ros/foxy/share/rosidl_adapter/cmake/rosidl_adapt_interfaces.cmake:60 (message):
execute_process(/usr/bin/python3 -m rosidl_adapter --package-name
ception_msgs --arguments-file
/home/tmi/ws_cyberdog/build/ception_msgs/rosidl_adapter__arguments__ception_msgs.json
--output-dir
/home/tmi/ws_cyberdog/build/ception_msgs/rosidl_adapter/ception_msgs
--output-file
/home/tmi/ws_cyberdog/build/ception_msgs/rosidl_adapter/ception_msgs.idls)
returned error code 1:

Traceback (most recent call last):

File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/parser.py", line 738, in parse_primitive_value_string
  value = int(value_string)

ValueError: invalid literal for int() with base 10: '0xFFFFFFFFFFFFFFFF'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

File "/usr/lib/python3.8/runpy.py", line 194, in _run_module_as_main
  return _run_code(code, main_globals, None,
File "/usr/lib/python3.8/runpy.py", line 87, in _run_code
  exec(code, run_globals)
File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/__main__.py", line 19, in <module>
  sys.exit(main())
File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/main.py", line 53, in main
  abs_idl_file = convert_to_idl(
File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/__init__.py", line 24, in convert_to_idl
  return convert_srv_to_idl(
File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/srv/__init__.py", line 28, in convert_srv_to_idl
  srv = parse_service_string(package_name, input_file.stem, content)
File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/parser.py", line 842, in parse_service_string
  request_message = parse_message_string(
File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/parser.py", line 528, in parse_message_string
  constants.append(Constant(type_string, name, value))
File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/parser.py", line 326, in __init__
  self.value = parse_primitive_value_string(
File "/opt/ros/foxy/lib/python3.8/site-packages/rosidl_adapter/parser.py", line 740, in parse_primitive_value_string
  raise ex

compiler error

Please provide information for your bug report:

  • if you're using from source, provide the Git commit hash
    (via git log -1 --format="%H" | xargs): c8f2ce2

  • provide all information that is needed to analyze and reproduce the bug

mi@lubuntu:~/ros_apps$ colcon build --merge-install --install-base $OUTPUT_DIR
Starting >>> cascade_lifecycle_msgs
Starting >>> ception_msgs
Starting >>> interaction_msgs
Starting >>> motion_msgs
Starting >>> toml11_vendor
Starting >>> lcm_vendor
Finished <<< toml11_vendor [2.93s]
Starting >>> behaviortreecppv3_vendor
Finished <<< lcm_vendor [3.15s]
Starting >>> lcm_translate_msgs
Finished <<< lcm_translate_msgs [2.04s]
Starting >>> ception_base
Finished <<< cascade_lifecycle_msgs [6.64s]
Starting >>> cyberdog_utils
Finished <<< ception_base [2.25s]
Starting >>> cyberdog_ception_bridge
Finished <<< cyberdog_ception_bridge [2.23s]
Starting >>> mpg123_vendor
Finished <<< ception_msgs [11.5s]
Starting >>> grpc_vendor
Finished <<< cyberdog_utils [4.85s]
Starting >>> cyberdog_motion_bridge
[17.039s] WARNING:colcon.colcon_cmake.task.cmake.build:Could not run installation step for package 'grpc_vendor' because it has no 'install' target
Finished <<< grpc_vendor [1.43s]
Starting >>> xiaoai_sdk_vendor
Finished <<< motion_msgs [13.2s]
Finished <<< mpg123_vendor [3.51s]
Starting >>> automation_msgs
Starting >>> sdl2_vendor
Finished <<< cyberdog_motion_bridge [2.29s]
Starting >>> bcmgps_plugin
[18.965s] WARNING:colcon.colcon_cmake.task.cmake.build:Could not run installation step for package 'xiaoai_sdk_vendor' because it has no 'install' target
Finished <<< xiaoai_sdk_vendor [1.73s]
Starting >>> cyberdog_decisionutils
Finished <<< interaction_msgs [15.3s]
Starting >>> live_stream
Finished <<< behaviortreecppv3_vendor [12.5s]
Starting >>> cyberdog_bt_engine
Finished <<< bcmgps_plugin [2.32s]
Starting >>> cyberdog_bms
Finished <<< cyberdog_decisionutils [2.78s]
Starting >>> bluetooth
Finished <<< live_stream [2.59s]
Starting >>> wifirssi
Finished <<< cyberdog_bt_engine [4.11s]
Starting >>> cyberdog_body_state
Finished <<< cyberdog_bms [5.28s]
Starting >>> cyberdog_camera
Finished <<< bluetooth [4.13s]
Starting >>> cyberdog_gps
Finished <<< automation_msgs [9.40s]
Starting >>> cyberdog_interfaces
Finished <<< wifirssi [5.34s]
Starting >>> cyberdog_lightsensor
Finished <<< cyberdog_interfaces [1.59s]
Starting >>> cyberdog_decisionmaker
--- stderr: cyberdog_body_state
CMake Error at CMakeLists.txt:22 (find_package):
By not providing "Findcyberdog_utils.cmake" in CMAKE_MODULE_PATH this
project has asked CMake to find a package configuration file provided by
"cyberdog_utils", but CMake did not find one.

Could not find a package configuration file provided by "cyberdog_utils"
with any of the following names:

cyberdog_utilsConfig.cmake
cyberdog_utils-config.cmake

Add the installation prefix of "cyberdog_utils" to CMAKE_PREFIX_PATH or set
"cyberdog_utils_DIR" to a directory containing one of the above files. If
"cyberdog_utils" provides a separate development package or SDK, be sure it
has been installed.


Failed <<< cyberdog_body_state [5.92s, exited with code 1]
Aborted <<< cyberdog_decisionmaker [2.52s]
Aborted <<< cyberdog_camera [6.50s]
Aborted <<< cyberdog_lightsensor [4.85s]
Aborted <<< cyberdog_gps [11.6s]
Aborted <<< sdl2_vendor [4min 30s]

Summary: 24 packages finished [4min 48s]
1 package failed: cyberdog_body_state
5 packages aborted: cyberdog_camera cyberdog_decisionmaker cyberdog_gps cyberdog_lightsensor sdl2_vendor
5 packages had stderr output: cyberdog_body_state cyberdog_camera cyberdog_gps cyberdog_lightsensor sdl2_vendor
13 packages not processed

so how can I recorrect this error? thank you

Scene Detection Refactoring

Brief modification description

cyberdog_scenedetection was designed to classify differnent scenes in human environment and natural environment. But our engineer only implemented a gps driver in it. Besides, there is a close source dynamic library package provided by Broadcom Corporation.

Hince, we are going to refactor code of cyberdog_scenedetection.

Detailed information

刷机导致蓝牙连接不上

硬件平台:铁蛋

问题:刷机后 蓝牙连接失败;之前刷过一次小米镜像,没出问题,我今天刷了一次Jetpack官方镜像,又刷回小米镜像,发现手机app连不上蓝牙了, 网上的两个版本镜像都试了,都不行;我发现有bluetooth有报错,如下;

报错详情:bluetooth_ros2.service报错如下:
Nov 08 02:53:57 lubuntu ros2[17548]: 2021-11-08 02:53:57,015 - gattserver.py[line:1041] - DEBUG: main: set bleStatus BLE_STATUS_NONE -> BLE_STATUS_ADV
Nov 08 02:53:57 lubuntu ros2[17548]: 2021-11-08 02:53:57,016 - gattserver.py[line:950] - INFO: RegADV: RegisterAdvertisement
Nov 08 02:53:57 lubuntu ros2[17548]: 2021-11-08 02:53:57,017 - gattserver.py[line:962] - INFO: RegATT: RegisterApplication
Nov 08 02:53:57 lubuntu ros2[17548]: 2021-11-08 02:53:57,017 - gattserver.py[line:253] - INFO: get_path: <bluetooth.gattserver.RobotApplication at / at 0x7f9ae12518>
Nov 08 02:53:57 lubuntu ros2[17548]: 2021-11-08 02:53:57,020 - gattserver.py[line:1045] - DEBUG: main init and send audio cmd BOOT_COMPLETE
Nov 08 02:53:57 lubuntu ros2[17548]: 2021-11-08 02:53:57,024 - gattserver.py[line:1048] - DEBUG: RegADV: BT enable adv, set LED_BT_ADV
Nov 08 02:53:57 lubuntu ros2[17548]: 2021-11-08 02:53:57,040 - gattserver.py[line:783] - INFO: register_app_cb: GATT application registered!!!
Nov 08 02:53:57 lubuntu ros2[17548]: 2021-11-08 02:53:57,041 - gattserver.py[line:198] - INFO: GetAll
Nov 08 02:53:57 lubuntu ros2[17548]: 2021-11-08 02:53:57,041 - gattserver.py[line:201] - INFO: returning props
Nov 08 02:53:57 lubuntu ros2[17548]: *ERROR:dbus.service:Unable to append ({'Type': 'peripheral', 'ServiceUUIDs': dbus.Array(['C420'], signature=dbus.Signature('s')), 'ManufacturerData': dbus.Dictionary({65535: dbus.Array([0, 1, 2, 3, 4], signature=dbus.Signature('y'))}, signature=dbus.Signature('qv')), 'ServiceData': dbus.Dictionary({'9999': dbus.Array([0, 1, 2, 3, 4], signature=dbus.Signature('y'))}, signature=dbus.Signature('sv')), 'LocalName': dbus.String('铁蛋ne QED_ROCE_MODIFY\nne QED_ROCE_MODIFY\nne QED_ROCE_MODIFY\nne QED_ROCE_MODIFY\n_MDS_OP_LOOKUPSNAP\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\nne _NET_PSNAP_H\nne HFI1_CAP_EXTEND\nne PCI_EXP_SLTCAP\nef void (APIENTRYP\nef Bool ( PFNGLXQ\nef void (GLAPIENTR\nFUN_EXPORT PFNGLEV\nest.Adobe-DPS-Exte\nest.Adobe-DPS-Exte\n'), 'IncludeTxPower': dbus.Boolean(True)},) to message with signature a{sv}: <class 'ValueError'>: embedded null byte
Nov 08 02:53:57 lubuntu ros2[17548]: 2021-11-08 02:53:57,048 - gattserver.py[line:794] - INFO: register_ad_cb: Advertisement registered!!!
Nov 08 02:53:57 lubuntu ros2[17548]: INFO:/var/log/bluetooth.log:register_ad_cb: Advertisement registered!!!

Cannot Log in to the Cyberdog

Hello, I've tried to log in to the Cyberdog onboard system with the following steps but failed:

  1. Press the start button of the Cyberdog until both lights on the head and tail shine (blue and red separately).

  2. Connect the download cable (not the charging cable) with the Cyberdog (on the download port) and a PC/laptop

  3. Use ssh [email protected] (on a Ubuntu 18.04 PC) or Mobaxterm/putty (on a Windows10 laptop) to log in.

Both cases returned Connection timed out.

BTW, when connect to the Windows10 laptop, it reports that the APX driver is missing.

What's the problem?

手柄控制cyberdog_joy发布的话题( "body_cmd")应该加上命名空间

Please provide information for your bug report:

  • if you're using from source, provide the Git commit hash
    (via git log -1 --format="%H" | xargs):
    671a95b

  • if you're using a release package, provide the version
    (e.g. via cyberdog_version -a):

  • provide all information that is needed to analyze and reproduce the bug
    (logs, commands that have been used, ...)
    cyberdog_joy发布的“body_cmd”话题,需要加上命名空间,否则不会响应手柄动作
    pimpl_->cmd_vel_pub = this->create_publisher<msg_SE3VelocityCMD>(
    "body_cmd",
    rclcpp::SystemDefaultsQoS());

关于铁蛋语音识别

Brief modification description

铁蛋这种内置了小爱同学SDK文件的,可以自定义语音对话吗

Detailed information

运动控制相关的开发

Brief modification description

想用铁蛋做些运动控制相关的开发。

Detailed information

铁蛋的硬件主要包括:电源板、运动控制板(MR813+两块STM32,相当于mini cheetah上的up board和SPine),英伟达主控板和扩展板,12个电机驱动器。目前看开源的部分主要是英伟达主板上跑的代码。这部分主要能做的开发是感知类的开发,例如视觉、语音等,这部分的开源和其它ROS教育类的机器人没有什么区别,体现不出四足的特点。运动控制板上有MR813和两块STM32的debug口,但在没有硬件IO分配信息的情况下,改代码也显得难度巨大。不知道官方有没有底层运动控制开源的计划?另外想了解一下现在电机驱动CAN总线上的协议和mini cheetah上的是不是一样的?谢谢!

如果正确更新铁蛋内部的jetpack版本

目前铁蛋的jetpack版本是4.5.1,对应着L4T是32.5.1.
但是目前最新的jetpack版本是4.6.1,对应着L4T是32.6.1
这个更新还是蛮大的,从tensorrt7到了trt8,cuda和cudnn也都有升级。

自己也尝试直接在铁蛋内部使用jetpack官方的OTA升级方式升级,更新源、apt-get update和apt-get upgrade-dis等,不过升级完jtop和cuda驱动找不到了,cuda代码能编译但是运行不了呃。不过铁蛋的ros2是能正常跑

怀疑可能是这个ubuntu已经被修改过一些东西,在更新的时候我发现有一些warning疑似和kernel有关,或许我更新的姿势不对,,海果大大们能给点建议么。

或者我可以直接刷jetson最新版(会抹掉原来的系统),然后再搭建铁蛋环境么?
感谢!

铁蛋的app源码

Brief modification description

铁蛋的app源码会有开源的计划吗?谢谢

Detailed information

Failed to compile a simple example

download the example of minimal subscriber from ROS2 project, run colcon build, and got below errors:
mi@lubuntu:/home/jason/work/ros_apps$ colcon build --packages-up-to examples_rclcpp_minimal_subscriber
Starting >>> examples_rclcpp_minimal_subscriber
--- stderr: examples_rclcpp_minimal_subscriber
/home/jason/work/ros_apps/src/examples_rclcpp_minimal_subscriber/member_function_with_type_adapter.cpp:19:10: fatal error: rclcpp/type_adapter.hpp: No such file or directory
#include "rclcpp/type_adapter.hpp"
^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/subscriber_member_function_with_type_adapter.dir/member_function_with_type_adapter.cpp.o] Error 1
make[1]: *** [CMakeFiles/subscriber_member_function_with_type_adapter.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
/home/jason/work/ros_apps/src/examples_rclcpp_minimal_subscriber/member_function_with_unique_network_flow_endpoints.cpp:92:31: error: ‘NetworkFlowEndpoint’ is not a member of ‘rclcpp’
const std::vectorrclcpp::NetworkFlowEndpoint & network_flow_endpoints) const
^~~~~~~~~~~~~~~~~~~
/home/jason/work/ros_apps/src/examples_rclcpp_minimal_subscriber/member_function_with_unique_network_flow_endpoints.cpp:92:31: error: ‘NetworkFlowEndpoint’ is not a member of ‘rclcpp’
/home/jason/work/ros_apps/src/examples_rclcpp_minimal_subscriber/member_function_with_unique_network_flow_endpoints.cpp:92:50: error: template argument 1 is invalid
const std::vectorrclcpp::NetworkFlowEndpoint & network_flow_endpoints) const
^
/home/jason/work/ros_apps/src/examples_rclcpp_minimal_subscriber/member_function_with_unique_network_flow_endpoints.cpp:92:50: error: template argument 2 is invalid
/home/jason/work/ros_apps/src/examples_rclcpp_minimal_subscriber/member_function_with_unique_network_flow_endpoints.cpp: In constructor ‘MinimalSubscriberWithUniqueNetworkFlowEndpoints::MinimalSubscriberWithUniqueNetworkFlowEndpoints()’:
/home/jason/work/ros_apps/src/examples_rclcpp_minimal_subscriber/member_function_with_unique_network_flow_endpoints.cpp:39:17: error: ‘struct rclcpp::SubscriptionOptionsWithAllocator<std::allocator >’ has no member named ‘require_unique_network_flow_endpoints’
options_1.require_unique_network_flow_endpoints =
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jason/work/ros_apps/src/examples_rclcpp_minimal_subscriber/member_function_with_unique_network_flow_endpoints.cpp:40:9: error: ‘RMW_UNIQUE_NETWORK_FLOW_ENDPOINTS_STRICTLY_REQUIRED’ was not declared in this scope
RMW_UNIQUE_NETWORK_FLOW_ENDPOINTS_STRICTLY_REQUIRED;

.......

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.