UniversalRobots / Universal_Robots_ROS2_Driver

Universal Robots ROS2 driver supporting CB3 and e-Series
BSD 3-Clause "New" or "Revised" License
436 stars 227 forks source link

Can't clone the repo on Windows #430

Closed danzimmerman closed 2 years ago

danzimmerman commented 2 years ago

I know the driver is not supported on Windows, but I tried to clone the repo to use platform-agnostic packages ur_bringup and ur_moveit_config to test MoveIt on a Windows machine with the driver running on a remote Linux machine.

If I try to clone the repo, I get this:

(humble) C:\Code\ros2\humble_ws\src>git clone https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver.git
Cloning into 'Universal_Robots_ROS2_Driver'...
remote: Enumerating objects: 3783, done.
remote: Counting objects: 100% (570/570), done.
remote: Compressing objects: 100% (261/261), done.
remote: Total 3783 (delta 383), reused 443 (delta 300), pack-reused 3213
Receiving objects: 100% (3783/3783), 41.00 MiB | 8.38 MiB/s, done.
Resolving deltas: 100% (2273/2273), done.
error: invalid path 'ur_robot_driver/resources/ursim_driver/ursim/aux/.vol/urcap_ros_control.installation'
fatal: unable to checkout working tree
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry with 'git restore --source=HEAD :/'

The cloned directory is empty and git status shows everything in it as deleted:

``` (humble) c:\Code\ros2\humble_ws\src\Universal_Robots_ROS2_Driver>dir Volume in drive C is Windows-SSD Volume Serial Number is BC74-9D52 Directory of c:\Code\ros2\humble_ws\src\Universal_Robots_ROS2_Driver 06/29/2022 01:20 PM . 06/29/2022 01:22 PM .. 0 File(s) 0 bytes 2 Dir(s) 171,948,130,304 bytes free (humble) c:\Code\ros2\humble_ws\src\Universal_Robots_ROS2_Driver>git status On branch main Your branch is up to date with 'origin/main'. Changes to be committed: (use "git restore --staged ..." to unstage) deleted: .clang-format deleted: .dir-locals.el deleted: .github/dockerursim/.vol/default.installation deleted: .github/dockerursim/.vol/default.variables deleted: .github/dockerursim/.vol/programs.UR5 deleted: .github/dockerursim/Dockerfile deleted: .github/dockerursim/build_and_run_docker_ursim.sh deleted: .github/dockerursim/safety.conf.UR5 deleted: .github/dockerursim/ursim/run deleted: .github/mergify.yml deleted: .github/workflows/ci-format.yml deleted: .github/workflows/ci-ros-lint.yml deleted: .github/workflows/coverage-build.yml deleted: .github/workflows/foxy-binary-build.yml deleted: .github/workflows/foxy-semi-binary-build.yml deleted: .github/workflows/galactic-binary-build.yml deleted: .github/workflows/galactic-execution-test.yml deleted: .github/workflows/galactic-semi-binary-build.yml deleted: .github/workflows/humble-binary-build.yml deleted: .github/workflows/humble-execution-test.yml deleted: .github/workflows/humble-semi-binary-build.yml deleted: .github/workflows/humble-source-build.yml deleted: .github/workflows/issue-states.yml deleted: .github/workflows/rolling-binary-build.yml deleted: .github/workflows/rolling-execution-test.yml deleted: .github/workflows/rolling-semi-binary-build.yml deleted: .github/workflows/rolling-source-build.yml deleted: .gitignore deleted: .pre-commit-config.yaml deleted: CONTRIBUTING.md deleted: LICENSE deleted: README.md deleted: Universal_Robots_ROS2_Driver-not-released.humble.repos deleted: Universal_Robots_ROS2_Driver-not-released.rolling.repos deleted: Universal_Robots_ROS2_Driver.galactic.repos deleted: Universal_Robots_ROS2_Driver.humble.repos deleted: Universal_Robots_ROS2_Driver.rolling.repos deleted: ur/CHANGELOG.rst deleted: ur/CMakeLists.txt deleted: ur/package.xml deleted: ur_bringup/CHANGELOG.rst deleted: ur_bringup/CMakeLists.txt deleted: ur_bringup/config/test_goal_publishers_config.yaml deleted: ur_bringup/config/test_velocity_goal_publishers_config.yaml deleted: ur_bringup/config/ur10_update_rate.yaml deleted: ur_bringup/config/ur10e_update_rate.yaml deleted: ur_bringup/config/ur16e_update_rate.yaml deleted: ur_bringup/config/ur3_update_rate.yaml deleted: ur_bringup/config/ur3e_update_rate.yaml deleted: ur_bringup/config/ur5_update_rate.yaml deleted: ur_bringup/config/ur5e_update_rate.yaml deleted: ur_bringup/config/ur_controllers.yaml deleted: ur_bringup/launch/test_forward_velocity_controller.launch.py deleted: ur_bringup/launch/test_joint_trajectory_controller.launch.py deleted: ur_bringup/launch/test_scaled_joint_trajectory_controller.launch.py deleted: ur_bringup/launch/ur10.launch.py deleted: ur_bringup/launch/ur10e.launch.py deleted: ur_bringup/launch/ur16e.launch.py deleted: ur_bringup/launch/ur3.launch.py deleted: ur_bringup/launch/ur3e.launch.py deleted: ur_bringup/launch/ur5.launch.py deleted: ur_bringup/launch/ur5e.launch.py deleted: ur_bringup/launch/ur_control.launch.py deleted: ur_bringup/launch/ur_dashboard_client.launch.py deleted: ur_bringup/package.xml deleted: ur_bringup/scripts/start_ursim.sh deleted: ur_calibration/CHANGELOG.rst deleted: ur_calibration/CMakeLists.txt deleted: ur_calibration/README.md deleted: ur_calibration/include/ur_calibration/calibration.hpp deleted: ur_calibration/include/ur_calibration/calibration_consumer.hpp deleted: ur_calibration/launch/calibration_correction.launch.py deleted: ur_calibration/package.xml deleted: ur_calibration/src/calibration.cpp deleted: ur_calibration/src/calibration_consumer.cpp deleted: ur_calibration/src/calibration_correction.cpp deleted: ur_calibration/test/calibration_test.cpp deleted: ur_controllers/CHANGELOG.rst deleted: ur_controllers/CMakeLists.txt deleted: ur_controllers/README.md deleted: ur_controllers/controller_plugins.xml deleted: ur_controllers/doc/traj_with_speed_scaling.png deleted: ur_controllers/doc/traj_without_speed_scaling.png deleted: ur_controllers/include/ur_controllers/gpio_controller.hpp deleted: ur_controllers/include/ur_controllers/scaled_joint_trajectory_controller.hpp deleted: ur_controllers/include/ur_controllers/speed_scaling_state_broadcaster.hpp deleted: ur_controllers/package.xml deleted: ur_controllers/src/gpio_controller.cpp deleted: ur_controllers/src/scaled_joint_trajectory_controller.cpp deleted: ur_controllers/src/speed_scaling_state_broadcaster.cpp deleted: ur_dashboard_msgs/CHANGELOG.rst deleted: ur_dashboard_msgs/CMakeLists.txt deleted: ur_dashboard_msgs/action/SetMode.action deleted: ur_dashboard_msgs/msg/ProgramState.msg deleted: ur_dashboard_msgs/msg/RobotMode.msg deleted: ur_dashboard_msgs/msg/SafetyMode.msg deleted: ur_dashboard_msgs/package.xml deleted: ur_dashboard_msgs/srv/AddToLog.srv deleted: ur_dashboard_msgs/srv/GetLoadedProgram.srv deleted: ur_dashboard_msgs/srv/GetProgramState.srv deleted: ur_dashboard_msgs/srv/GetRobotMode.srv deleted: ur_dashboard_msgs/srv/GetSafetyMode.srv deleted: ur_dashboard_msgs/srv/IsProgramRunning.srv deleted: ur_dashboard_msgs/srv/IsProgramSaved.srv deleted: ur_dashboard_msgs/srv/Load.srv deleted: ur_dashboard_msgs/srv/Popup.srv deleted: ur_dashboard_msgs/srv/RawRequest.srv deleted: ur_moveit_config/CHANGELOG.rst deleted: ur_moveit_config/CMakeLists.txt deleted: ur_moveit_config/config/controllers.yaml deleted: ur_moveit_config/config/kinematics.yaml deleted: ur_moveit_config/config/ompl_planning.yaml deleted: ur_moveit_config/config/ur_servo.yaml deleted: ur_moveit_config/launch/ur_moveit.launch.py deleted: ur_moveit_config/package.xml deleted: ur_moveit_config/rviz/view_robot.rviz deleted: ur_moveit_config/srdf/ur.srdf.xacro deleted: ur_moveit_config/srdf/ur_macro.srdf.xacro deleted: ur_moveit_config/ur_moveit_config/__init__.py deleted: ur_moveit_config/ur_moveit_config/launch_common.py deleted: ur_robot_driver/CHANGELOG.rst deleted: ur_robot_driver/CMakeLists.txt deleted: ur_robot_driver/README.md deleted: ur_robot_driver/config/test_goal_publishers_config.yaml deleted: ur_robot_driver/config/test_velocity_goal_publishers_config.yaml deleted: ur_robot_driver/config/ur10_update_rate.yaml deleted: ur_robot_driver/config/ur10e_update_rate.yaml deleted: ur_robot_driver/config/ur16e_update_rate.yaml deleted: ur_robot_driver/config/ur3_update_rate.yaml deleted: ur_robot_driver/config/ur3e_update_rate.yaml deleted: ur_robot_driver/config/ur5_update_rate.yaml deleted: ur_robot_driver/config/ur5e_update_rate.yaml deleted: ur_robot_driver/config/ur_controllers.yaml deleted: ur_robot_driver/doc/ROS_INTERFACE.md deleted: ur_robot_driver/doc/architecture_coarse.svg deleted: ur_robot_driver/doc/conf.py deleted: ur_robot_driver/doc/features.rst deleted: ur_robot_driver/doc/index.rst deleted: ur_robot_driver/doc/installation/initial_setup_images/cb3_01_welcome.png deleted: ur_robot_driver/doc/installation/initial_setup_images/cb3_05_urcaps_installed.png deleted: ur_robot_driver/doc/installation/initial_setup_images/cb3_07_installation_excontrol.png deleted: ur_robot_driver/doc/installation/initial_setup_images/cb3_10_prog_structure_urcaps.png deleted: ur_robot_driver/doc/installation/initial_setup_images/cb3_11_program_view_excontrol.png deleted: ur_robot_driver/doc/installation/initial_setup_images/e-Series.jpg deleted: ur_robot_driver/doc/installation/initial_setup_images/es_01_welcome.png deleted: ur_robot_driver/doc/installation/initial_setup_images/es_05_urcaps_installed.png deleted: ur_robot_driver/doc/installation/initial_setup_images/es_07_installation_excontrol.png deleted: ur_robot_driver/doc/installation/initial_setup_images/es_10_prog_structure_urcaps.png deleted: ur_robot_driver/doc/installation/initial_setup_images/es_11_program_view_excontrol.png deleted: ur_robot_driver/doc/installation/install_urcap_cb3.rst deleted: ur_robot_driver/doc/installation/install_urcap_e_series.rst deleted: ur_robot_driver/doc/installation/real_time.md deleted: ur_robot_driver/doc/installation/robot_setup.rst deleted: ur_robot_driver/doc/installation/toc.rst deleted: ur_robot_driver/doc/installation/ursim_docker.rst deleted: ur_robot_driver/doc/make.bat deleted: ur_robot_driver/doc/overview.rst deleted: ur_robot_driver/doc/resources/2021-10_ROS_World_2021_Making_a_robot_ROS2_powered.pdf deleted: ur_robot_driver/doc/resources/README.md deleted: ur_robot_driver/doc/resources/ros2_control_ur_driver.drawio deleted: ur_robot_driver/doc/setup_tool_communication.rst deleted: ur_robot_driver/doc/usage.rst deleted: ur_robot_driver/hardware_interface_plugin.xml deleted: ur_robot_driver/include/ur_robot_driver/controller_stopper.hpp deleted: ur_robot_driver/include/ur_robot_driver/dashboard_client_ros.hpp deleted: ur_robot_driver/include/ur_robot_driver/hardware_interface.hpp deleted: ur_robot_driver/include/ur_robot_driver/urcl_log_handler.hpp deleted: ur_robot_driver/launch/test_forward_velocity_controller.launch.py deleted: ur_robot_driver/launch/test_joint_trajectory_controller.launch.py deleted: ur_robot_driver/launch/test_scaled_joint_trajectory_controller.launch.py deleted: ur_robot_driver/launch/ur10.launch.py deleted: ur_robot_driver/launch/ur10e.launch.py deleted: ur_robot_driver/launch/ur16e.launch.py deleted: ur_robot_driver/launch/ur3.launch.py deleted: ur_robot_driver/launch/ur3e.launch.py deleted: ur_robot_driver/launch/ur5.launch.py deleted: ur_robot_driver/launch/ur5e.launch.py deleted: ur_robot_driver/launch/ur_control.launch.py deleted: ur_robot_driver/launch/ur_dashboard_client.launch.py deleted: ur_robot_driver/package.xml deleted: ur_robot_driver/resources/Dockerfile deleted: ur_robot_driver/resources/externalcontrol-1.0.5.urcap deleted: ur_robot_driver/resources/ros_control.urscript deleted: ur_robot_driver/resources/rs485-1.0.urcap deleted: ur_robot_driver/resources/rtde_input_recipe.txt deleted: ur_robot_driver/resources/rtde_output_recipe.txt deleted: ur_robot_driver/resources/ursim_driver/README.md deleted: ur_robot_driver/resources/ursim_driver/build_and_run_docker_ursim_with_driver.sh deleted: ur_robot_driver/resources/ursim_driver/docker-compose.yml deleted: ur_robot_driver/resources/ursim_driver/driver/Dockerfile deleted: ur_robot_driver/resources/ursim_driver/driver/entrypoint.sh deleted: ur_robot_driver/resources/ursim_driver/driver/wait_dashboard_server.sh deleted: ur_robot_driver/resources/ursim_driver/resources/add_urcap.png deleted: ur_robot_driver/resources/ursim_driver/resources/added_external_ctrl.png deleted: ur_robot_driver/resources/ursim_driver/resources/added_urcap.png deleted: ur_robot_driver/resources/ursim_driver/resources/move_tab.png deleted: ur_robot_driver/resources/ursim_driver/resources/powered_on.png deleted: ur_robot_driver/resources/ursim_driver/resources/poweron_proc.png deleted: ur_robot_driver/resources/ursim_driver/resources/running_external_ctrl.png deleted: ur_robot_driver/resources/ursim_driver/resources/rviz.png deleted: ur_robot_driver/resources/ursim_driver/resources/settings.png deleted: ur_robot_driver/resources/ursim_driver/resources/terminal.png deleted: ur_robot_driver/resources/ursim_driver/resources/urcap_menu.png deleted: ur_robot_driver/resources/ursim_driver/resources/vncviewer_list.png deleted: ur_robot_driver/resources/ursim_driver/ursim/aux/.vol/urcap_ros_control.installation deleted: ur_robot_driver/resources/ursim_driver/ursim/aux/.vol/urcap_ros_control.script deleted: ur_robot_driver/resources/ursim_driver/ursim/aux/.vol/urcap_ros_control.txt deleted: ur_robot_driver/resources/ursim_driver/ursim/aux/.vol/urcap_ros_control.urp deleted: ur_robot_driver/resources/ursim_driver/ursim/aux/.vol/urcap_ros_control.variables deleted: ur_robot_driver/resources/ursim_driver/ursim/aux/externalcontrol-1.0.5.urcap deleted: ur_robot_driver/resources/ursim_driver/ursim/aux/ros_control.urscript deleted: ur_robot_driver/resources/ursim_driver/ursim/aux/rs485-1.0.urcap deleted: ur_robot_driver/resources/ursim_driver/ursim/g3/Dockerfile deleted: ur_robot_driver/resources/ursim_driver/ursim/g3/entrypoint.sh deleted: ur_robot_driver/resources/ursim_driver/ursim/g5/Dockerfile deleted: ur_robot_driver/resources/ursim_driver/ursim/g5/entrypoint.sh deleted: ur_robot_driver/scripts/start_ursim.sh deleted: ur_robot_driver/scripts/tool_communication.py deleted: ur_robot_driver/scripts/wait_dashboard_server.sh deleted: ur_robot_driver/src/controller_stopper.cpp deleted: ur_robot_driver/src/controller_stopper_node.cpp deleted: ur_robot_driver/src/dashboard_client_node.cpp deleted: ur_robot_driver/src/dashboard_client_ros.cpp deleted: ur_robot_driver/src/hardware_interface.cpp deleted: ur_robot_driver/src/ur_ros2_control_node.cpp deleted: ur_robot_driver/src/urcl_log_handler.cpp deleted: ur_robot_driver/test/driver.test deleted: ur_robot_driver/test/integration_test.py deleted: ur_robot_driver/test/integration_test_1.py deleted: ur_robot_driver/test/integration_test_2.py deleted: ur_robot_driver/test/trajectory_test.py deleted: ur_robot_driver/ur_robot_driver/__init__.py ```

I'm using Git for Windows 2.37:

(humble) c:\Code\ros2\humble_ws\src>git --version
git version 2.37.0.windows.1

As a workaround, I downloaded the driver release .zip and copied ur_bringup and ur_moveit_config packages to my workspace. This does work, using Robostack ROS2 Humble.

Feel free to close without action. For any real configuration beyond testing I'll have custom MoveIt configs and launch files anyway.

However, I wanted to report this in case it's an easy fix.

danzimmerman commented 2 years ago

If I try git restore --source=HEAD :/ as suggested in the I get this

(humble) c:\Code\ros2\humble_ws\src\Universal_Robots_ROS2_Driver>git restore --source=HEAD :/
error: invalid path 'ur_robot_driver/resources/ursim_driver/ursim/aux/.vol/urcap_ros_control.installation'
error: invalid path 'ur_robot_driver/resources/ursim_driver/ursim/aux/.vol/urcap_ros_control.script'
error: invalid path 'ur_robot_driver/resources/ursim_driver/ursim/aux/.vol/urcap_ros_control.txt'
error: invalid path 'ur_robot_driver/resources/ursim_driver/ursim/aux/.vol/urcap_ros_control.urp'
error: invalid path 'ur_robot_driver/resources/ursim_driver/ursim/aux/.vol/urcap_ros_control.variables'
error: invalid path 'ur_robot_driver/resources/ursim_driver/ursim/aux/externalcontrol-1.0.5.urcap'
error: invalid path 'ur_robot_driver/resources/ursim_driver/ursim/aux/ros_control.urscript'
error: invalid path 'ur_robot_driver/resources/ursim_driver/ursim/aux/rs485-1.0.urcap'

I think I found the problem. Evidently windows does (or did) not allow directories and folders named aux/aux.*

https://stackoverflow.com/questions/63727594/github-git-checkout-returns-error-invalid-path-on-windows

Indeed, I can't create a directory named aux:

(humble) c:\Code\dbgdump>mkdir aux
The directory name is invalid.

I can create files named aux.* on Windows 11, so maybe this has been alleviated there, and I can create files with no extension, but I can't create a file named aux alone:

(humble) c:\Code\dbgdump>echo "hello" > aux.go

(humble) c:\Code\dbgdump>echo "hello" > aux.log

(humble) c:\Code\dbgdump>echo "hello" > aux
The system cannot find the file specified.

(humble) c:\Code\dbgdump>echo "hello" > noextensionfile

(humble) c:\Code\dbgdump>dir | findstr aux
06/29/2022  02:52 PM                10 aux.go
06/29/2022  02:52 PM                10 aux.log

(humble) c:\Code\dbgdump>dir | findstr noext
06/29/2022  02:53 PM                10 noextensionfile

https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file#naming-conventions

Do not use the following reserved names for the name of a file:

CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, and LPT9. Also avoid these names followed immediately by an extension; for example, NUL.txt is not recommended. For more information, see Namespaces.

danzimmerman commented 2 years ago

Closing because it doesn't seem like there's a reason to fix it, and with #403 on the horizon, even downloading a release to use ur_bringup seems like it will be out of the picture.