Can I run unity-robotics-hub examples with ROS on windows 10?

Hi.

I want to use unity-robotics-hub examples to customize for my project.
As I mentioned on title, I am using ROS noetic and foxy for windows 10 on windows 10 O/S.
And I got the following errors when I run catkin_make. Because I can’t find guide to run on windows(it looks like to support Ubuntu only), I have no idea to solve this. So, I can’t proceed anymore from option B. ROS setup (manual) in the following link.

Would anyone give me some guide or advice for this?

----------------------------------- Error logs -----------------------------------------------------------------------------------

C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS>catkin_make
Base path: C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS
Source space: C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\src
Build space: C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\build
Devel space: C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\devel
Install space: C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\install

Running command: “cmake C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\src -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCATKIN_DEVEL_PREFIX=C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\devel -DCMAKE_INSTALL_PREFIX=C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\install -G Ninja” in “C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\build”

– The C compiler identification is MSVC 19.29.30146.0
– The CXX compiler identification is MSVC 19.29.30146.0
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
– Detecting C compile features
– Detecting C compile features - done
#NAME?
#NAME?
– Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
#NAME?
#NAME?
– Using CATKIN_DEVEL_PREFIX: C:/Unity-Robotics-Hub/tutorials/pick_and_place/ROS/devel
– Using CMAKE_PREFIX_PATH: C:\opt\ros\noetic\x64\tools\vcpkg\installed\x64-windows;c:\opt\ros\noetic\x64
– This workspace overlays: c:/opt/ros/noetic/x64
– Found PythonInterp: C:/opt/ros/noetic/x64/python.exe (found suitable version “3.8.3”, minimum required is “3”)
– Using PYTHON_EXECUTABLE: C:/opt/ros/noetic/x64/python.exe
#NAME?
#NAME?
– Using empy: C:/opt/ros/noetic/x64/lib/site-packages/em.py
#NAME?
#NAME?
– Using CATKIN_TEST_RESULTS_DIR: C:/Unity-Robotics-Hub/tutorials/pick_and_place/ROS/build/test_results
#NAME?
– Using Python nosetests: C:/opt/ros/noetic/x64/Scripts/nosetests.exe
– catkin 0.8.9
#NAME?
#NAME?
– ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
– ~~ traversing 23 packages in topological order:
– ~~ - dynamixel_sdk
– ~~ - mcp_can_rpi
– ~~ - moveit_msgs
– ~~ - niryo_one (metapackage)
– ~~ - niryo_one_bringup
– ~~ - niryo_one_camera
– ~~ - niryo_one_description
– ~~ - niryo_one_moveit_config
– ~~ - niryo_one_msgs
– ~~ - niryo_one_camera_jevois
– ~~ - niryo_one_commander
– ~~ - niryo_one_debug
– ~~ - niryo_one_driver
– ~~ - niryo_one_modbus
– ~~ - niryo_one_pose_converter
– ~~ - niryo_one_python_api
– ~~ - niryo_one_rpi
– ~~ - niryo_one_tcp_server
– ~~ - niryo_one_tools
– ~~ - niryo_one_urdf
– ~~ - niryo_one_user_interface
– ~~ - ros_tcp_endpoint
– ~~ - niryo_moveit
– ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
– +++ processing catkin package: ‘dynamixel_sdk’
– ==> add_subdirectory(niryo_one_ros/dynamixel_sdk)
– Architecture:
#NAME?
– +++ processing catkin package: ‘mcp_can_rpi’
– ==> add_subdirectory(niryo_one_ros/mcp_can_rpi)
– Architecture:
#NAME?
– +++ processing catkin package: ‘moveit_msgs’
– ==> add_subdirectory(moveit_msgs)
– Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
– Generating .msg files for action moveit_msgs/ExecuteTrajectory C:/Unity-Robotics-Hub/tutorials/pick_and_place/ROS/src/moveit_msgs/action/ExecuteTrajectory.action
Generating for action ExecuteTrajectory
– Generating .msg files for action moveit_msgs/MoveGroup C:/Unity-Robotics-Hub/tutorials/pick_and_place/ROS/src/moveit_msgs/action/MoveGroup.action
Generating for action MoveGroup
– Generating .msg files for action moveit_msgs/MoveGroupSequence C:/Unity-Robotics-Hub/tutorials/pick_and_place/ROS/src/moveit_msgs/action/MoveGroupSequence.action
Generating for action MoveGroupSequence
– Generating .msg files for action moveit_msgs/Pickup C:/Unity-Robotics-Hub/tutorials/pick_and_place/ROS/src/moveit_msgs/action/Pickup.action
Generating for action Pickup
– Generating .msg files for action moveit_msgs/Place C:/Unity-Robotics-Hub/tutorials/pick_and_place/ROS/src/moveit_msgs/action/Place.action
Generating for action Place
– moveit_msgs: 81 messages, 24 services
– +++ processing catkin metapackage: ‘niryo_one’
– ==> add_subdirectory(niryo_one_ros/niryo_one)
– +++ processing catkin package: ‘niryo_one_bringup’
– ==> add_subdirectory(niryo_one_ros/niryo_one_bringup)
– +++ processing catkin package: ‘niryo_one_camera’
– ==> add_subdirectory(niryo_one_ros/niryo_one_camera)
– +++ processing catkin package: ‘niryo_one_description’
– ==> add_subdirectory(niryo_one_ros/niryo_one_description)
– +++ processing catkin package: ‘niryo_one_moveit_config’
– ==> add_subdirectory(niryo_one_ros/niryo_one_moveit_config)
– +++ processing catkin package: ‘niryo_one_msgs’
– ==> add_subdirectory(niryo_one_ros/niryo_one_msgs)
– Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
– Generating .msg files for action niryo_one_msgs/JoystickJoints C:/Unity-Robotics-Hub/tutorials/pick_and_place/ROS/src/niryo_one_ros/niryo_one_msgs/action/JoystickJoints.action
Generating for action JoystickJoints
– Generating .msg files for action niryo_one_msgs/RobotMove C:/Unity-Robotics-Hub/tutorials/pick_and_place/ROS/src/niryo_one_ros/niryo_one_msgs/action/RobotMove.action
Generating for action RobotMove
– Generating .msg files for action niryo_one_msgs/Tool C:/Unity-Robotics-Hub/tutorials/pick_and_place/ROS/src/niryo_one_ros/niryo_one_msgs/action/Tool.action
Generating for action Tool
– Generating .msg files for action niryo_one_msgs/Sequence C:/Unity-Robotics-Hub/tutorials/pick_and_place/ROS/src/niryo_one_ros/niryo_one_msgs/action/Sequence.action
Generating for action Sequence
– niryo_one_msgs: 46 messages, 38 services
– +++ processing catkin package: ‘niryo_one_camera_jevois’
– ==> add_subdirectory(niryo_one_ros/niryo_one_camera_jevois)
– Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
– +++ processing catkin package: ‘niryo_one_commander’
– ==> add_subdirectory(niryo_one_ros/niryo_one_commander)
– Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
– +++ processing catkin package: ‘niryo_one_debug’
– ==> add_subdirectory(niryo_one_ros/niryo_one_debug)
– Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
– Found Boost: C:/opt/ros/noetic/x64/include (found version “1.73.0”) found components: system program_options
– Architecture:
#NAME?
– +++ processing catkin package: ‘niryo_one_driver’
– ==> add_subdirectory(niryo_one_ros/niryo_one_driver)
– Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
– Found Boost: C:/opt/ros/noetic/x64/include (found version “1.73.0”) found components: system
– Architecture:
#NAME?
– +++ processing catkin package: ‘niryo_one_modbus’
– ==> add_subdirectory(niryo_one_ros/niryo_one_modbus)
– Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
– +++ processing catkin package: ‘niryo_one_pose_converter’
– ==> add_subdirectory(niryo_one_ros/niryo_one_pose_converter)
– Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
– +++ processing catkin package: ‘niryo_one_python_api’
– ==> add_subdirectory(niryo_one_ros/niryo_one_python_api)
– +++ processing catkin package: ‘niryo_one_rpi’
– ==> add_subdirectory(niryo_one_ros/niryo_one_rpi)
– Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
– +++ processing catkin package: ‘niryo_one_tcp_server’
– ==> add_subdirectory(niryo_one_ros/niryo_one_tcp_server)
– Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
– +++ processing catkin package: ‘niryo_one_tools’
– ==> add_subdirectory(niryo_one_ros/niryo_one_tools)
– +++ processing catkin package: ‘niryo_one_urdf’
– ==> add_subdirectory(niryo_one_urdf)
– +++ processing catkin package: ‘niryo_one_user_interface’
– ==> add_subdirectory(niryo_one_ros/niryo_one_user_interface)
– Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
– +++ processing catkin package: ‘ros_tcp_endpoint’
– ==> add_subdirectory(ros_tcp_endpoint)
– +++ processing catkin package: ‘niryo_moveit’
– ==> add_subdirectory(niryo_moveit)
– Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
– niryo_moveit: 2 messages, 1 services
– Installing devel-space wrapper C:/Unity-Robotics-Hub/tutorials/pick_and_place/ROS/src/niryo_moveit/scripts/mover.py to C:/Unity-Robotics-Hub/tutorials/pick_and_place/ROS/devel/lib/niryo_moveit
– Installing devel-space wrapper C:/Unity-Robotics-Hub/tutorials/pick_and_place/ROS/src/niryo_moveit/scripts/trajectory_subscriber.py to C:/Unity-Robotics-Hub/tutorials/pick_and_place/ROS/devel/lib/niryo_moveit
– Installing devel-space wrapper C:/Unity-Robotics-Hub/tutorials/pick_and_place/ROS/src/niryo_moveit/scripts/sim_real_pnp.py to C:/Unity-Robotics-Hub/tutorials/pick_and_place/ROS/devel/lib/niryo_moveit
#NAME?
#NAME?
– Build files have been written to: C:/Unity-Robotics-Hub/tutorials/pick_and_place/ROS/build

Running command: “ninja -j16 -l16” in “C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\build”

[1/1205] Building CXX object niryo_one_ros\mcp_can_rpi\CMakeFiles\mcp_can_rpi.dir\src\mcp_can_rpi.cpp.obj
FAILED: niryo_one_ros/mcp_can_rpi/CMakeFiles/mcp_can_rpi.dir/src/mcp_can_rpi.cpp.obj
C:\PROGRA~2\MICROS~2\2019\COMMUN~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\cl.exe /nologo /TP -DNOMINMAX -DROSCONSOLE_BACKEND_LOG4CXX -DROS_BUILD_SHARED_LIBS=1 -DROS_PACKAGE_NAME="mcp_can_rpi" -DWIN32_LEAN_AND_MEAN -D_USE_MATH_DEFINES -Dmcp_can_rpi_EXPORTS -IC:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\src\niryo_one_ros\mcp_can_rpi\include -IC:\opt\ros\noetic\x64\include -IC:\opt\ros\noetic\x64\share\xmlrpcpp\cmake......\include\xmlrpcpp /DWIN32 /D_WINDOWS /W3 /GR /EHsc /MD /Zi /O2 /Ob1 /DNDEBUG /D _VARIADIC_MAX=10 /Zc:__cplusplus -std=c++11 /showIncludes /Foniryo_one_ros\mcp_can_rpi\CMakeFiles\mcp_can_rpi.dir\src\mcp_can_rpi.cpp.obj /Fdniryo_one_ros\mcp_can_rpi\CMakeFiles\mcp_can_rpi.dir\ /FS -c C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\src\niryo_one_ros\mcp_can_rpi\src\mcp_can_rpi.cpp
cl : Command line warning D9002 : Ignores unknown ‘-std=c++11’ option.
C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\src\niryo_one_ros\mcp_can_rpi\src\mcp_can_rpi.cpp (123): error C4576: The format enclosed in parentheses before the initializer list is a non-standard syntax.
C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\src\niryo_one_ros\mcp_can_rpi\src\mcp_can_rpi.cpp.cpp (123): error C3861: ‘nanoseep’: identifier not found.
C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\src\niryo_one_ros\mcp_can_rpi\src\mcp_can_rpi.cpp (150): error C2131: Expression was not calculated as a constant.
C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\src\niryo_one_ros\mcp_can_rpi\src\mcp_can_rpi.cpp (150): note: Error reading variable out of life.
C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\src\niryo_one_ros\mcp_can_rpi\src\mcp_can_rpi.cpp (150): see note: ‘buf_size’ usage
C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\src\niryo_one_ros\mcp_can_rpi\src\mcp_can_rpi.cpp (151): error C3863: Array format ‘unsigned char [buf_size]’ cannot be assigned.
C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\src\niryo_one_ros\mcp_can_rpi\src\mcp_can_rpi.cpp (152): error C3863: Array format ‘unsigned char [buf_size]’ cannot be assigned.
C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\src\niryo_one_ros\mcp_can_rpi\src\mcp_can_rpi.cpp (181): error C2131: Expression was not calculated as a constant.
C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\src\niryo_one_ros\mcp_can_rpi\src\mcp_can_rpi.cpp (181): note: Error reading variable out of life.
C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\src\niryo_one_ros\mcp_can_rpi\src\mcp_can_rpi.cpp (181): see note: ‘buf_size’ usage
C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\src\niryo_one_ros\mcp_can_rpi\src\mcp_can_rpi.cpp (182): error C3863: Array format ‘unsigned char [buf_size]’ cannot be assigned.
C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\src\niryo_one_ros\mcp_can_rpi\src\mcp_can_rpi.cpp (183): error C3863: Array format ‘unsigned char [buf_size]’ cannot be assigned.
C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\src\niryo_one_ros\mcp_can_rpi\src\mcp_can_rpi.cpp(185): error C3863: Cannot assign array format ‘unsigned char [buf_size]’
[2/1205] Building CXX object niryo_one_ros\dynamixel_sdk\CMakeFiles\dynamixel_sdk.dir\src\port_handler_linux.cpp.obj
FAILED: niryo_one_ros/dynamixel_sdk/CMakeFiles/dynamixel_sdk.dir/src/port_handler_linux.cpp.obj
C:\PROGRA~2\MICROS~2\2019\COMMUN~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\cl.exe /nologo /TP -DNOMINMAX -DROSCONSOLE_BACKEND_LOG4CXX -DROS_BUILD_SHARED_LIBS=1 -DROS_PACKAGE_NAME="dynamixel_sdk" -DWIN32_LEAN_AND_MEAN -D_USE_MATH_DEFINES -Ddynamixel_sdk_EXPORTS -IC:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\src\niryo_one_ros\dynamixel_sdk\include -IC:\opt\ros\noetic\x64\include -IC:\opt\ros\noetic\x64\share\xmlrpcpp\cmake......\include\xmlrpcpp /DWIN32 /D_WINDOWS /W3 /GR /EHsc /MD /Zi /O2 /Ob1 /DNDEBUG /D VARIADIC_MAX=10 /Zc:cplusplus /showIncludes /Foniryo_one_ros\dynamixel_sdk\CMakeFiles\dynamixel_sdk.dir\src\port_handler_linux.cpp.obj /Fdniryo_one_ros\dynamixel_sdk\CMakeFiles\dynamixel_sdk.dir\ /FS -c C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\src\niryo_one_ros\dynamixel_sdk\src\port_handler_linux.cpp
C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\src\niryo_one_ros\dynamixel_sdk\src\port_handler_linux.cpp(45): fatal error C1083: ‘unistd.h’: No such file or directory
[4/1205] Building CXX object niryo_one_ros\dynamixel_sdk\CMakeFiles\dynamixel_sdk.dir\src\group_sync_read.cpp.obj
C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\src\niryo_one_ros\dynamixel_sdk\include\dynamixel_sdk/group_sync_read.h(51): warning C4251: 'dynamixel::GroupSyncRead::id_list
’: 'class ‘std::vector<uint8_t,std::allocator<uint8_t>>’ must specify that clients in class ‘dynamixel::GroupSyncRead’ use the DLL interface.
C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\src\niryo_one_ros\dynamixel_sdk\include\dynamixel_sdk/packet_handler.h(104): note: see declaration ‘std::vector<uint8_t,std::allocator<uint8_t>’
C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\src\niryo_one_ros\dynamixel_sdk\include\dynamixel_sdk/group_sync_read.h(52): warning C4251: 'dynamixel::GroupSyncRead::data_list
’: class 'std::map<uint8_t,uint8_t *,std::less<uint8_t>,‘std::allocator<std::pair<constuint8_t,uint8_t *>>’ must specify that clients in class ‘dynamixel::GroupSyncRead’ use the DLL interface.
C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\src\niryo_one_ros\dynamixel_sdk\include\dynamixel_sdk/group_sync_read.h(52): note: 'std::map<uint8_t,uint8_t *,std::less<uint8_t>,std::allocator<std::pair<constant8_t,uint8_t *>>'Declaration.
C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\src\niryo_one_ros\dynamixel_sdk\src\group_sync_read.cpp(132): warning C4267: ‘Initializing’: Data may be lost while converting from ‘size_t’ to ‘int’.
[6/1205] Building CXX object niryo_one_ros\dynamixel_sdk\CMakeFiles\dynamixel_sdk.dir\src\protocol1_packet_handler.cpp.obj
C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\src\niryo_one_ros\dynamixel_sdk\src\protocol1_packet_handler.cpp(690): warning C4244: ‘=’: Conversion from ‘uint16_t’ to ‘uint8_t’ may result in data loss.
C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\src\niryo_one_ros\dynamixel_sdk\src\protocol1_packet_handler.cpp(691): warning C4244: ‘=’: Conversion from ‘uint16_t’ to ‘uint8_t’ may result in data loss.
[8/1205] Building CXX object niryo_one_ros\dynamixel_sdk\CMakeFiles\dynamixel_sdk.dir\src\group_bulk_read.cpp.obj
C:\Unity-Robotics-Hub\tutorials\pick_and_place\ROS\src\niryo_one_ros\dynamixel_sdk\include\dynamixel_sdk/group_bulk_read.h(51): warning C4251: 'dynamixel::GroupBulkRead::id_list
’: 'class ‘std::vector<uint8_t,std::allocator<uint8_t>>’ must specify that clients in class ‘dynamixel::GroupBulkRead’ use the DLL interface. …

Did you ever get a answer for this?