Catkin Workspace Setup

Hi,

I am trying to follow example 3.7 in Compas_Fab (creating a URDF).

When I try to create a catkin workspace and run the command: Catkin_make I get the following error:

CMake Error: CMake was unable to find a build program corresponding to “Ninja”. CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.

I’ve checked to see that ninja is installed, using choco install ninja but still received the same error.

I am now stuck and confused about what else to try. Any suggestions would be appreciated.

Thanks!

Hi! How exactly are you running this? Are you using ROS on Windows? Or in WSL?

Yes following the instructions for Ros on windows

I would recommend against using ROS on Windows via the official instructions, at least the last times i tried it, i encountered numerous problems, similar to what you mention now.

Instead, the currently recommended way to get ROS on Windows is via conda. The steps involved more or less the following:

conda config --add channels robostack
 
conda create -n ros ros-noetic-desktop ros-noetic-moveit compilers cmake pkg-config make ninja ros-noetic-rosbridge-server pymongo

conda activate ros

That will give you a basic ROS. Then, depending on which robot or what process you want to do afterwards, I could guide you in further steps.

Please notice that this is not yet a supported configuration, and using docker remains the recommended option. However we have been testing this install via conda internally and can already confirm it works mostly without issues.

Cheers

Hi, I appreciate the response,

I would be happy to install by any method that would work, including docker (I tried those instructions first) but I only have a windows machine available.

I followed the steps you provided in your reply. It seemed to install fine, however when I activate, I get the following error:

C:\WINDOWS\system32>CALL C:\Users\gegardne\Anaconda3\envs\ros\etc\conda\activate.d\vs2017_get_vsinstall_dir.bat
Did not find VSINSTALLDIR
File Not Found
Windows SDK version found as: “”
The system cannot find the path specified.
Did not find VSINSTALLDIR

I have visual studio 2019 instead of 2017 - Is this an issue with conda? is there a way to update this path?

If I get Ros/Moveit configured I would like to be able to connnect to a UR10e.

Thanks for your help.

I believe you’re mixing up several things here.

Docker is available for all platforms, so, it does not matter if you have Windows, Mac or Linux, it should work across the board. If Docker installation succeeded, you could try to compose one of the docker-compose.yml files provided and in principle, that should get you going. There’s at least one example of a UR10e in this page of the docs but it’s also very easy to create a new custom one if you need. You can also check more docker examples in this course repository, as well as several additional code examples and sliders.

Regarding the conda install of ROS, yes, it needs Visual Studio, but 2019 should work. The output after activation is indeed very noisy and looks like errors. Here’s mine and regardless of the noise and printed errors, everything else works fine:

(base) C:\Users\gcasas\eth\Catkin>conda activate ros

C:\Users\gcasas\eth\Catkin>set "_LIB="

C:\Users\gcasas\eth\Catkin>set "_CPATH="

C:\Users\gcasas\eth\Catkin>if "C:\Users\gcasas\anaconda3\envs\ros" == "" set "LIB=;\Library\lib"

C:\Users\gcasas\eth\Catkin>if "C:\Users\gcasas\anaconda3\envs\ros" == "" set "CPATH=;\Library\include"

C:\Users\gcasas\eth\Catkin>if not "C:\Users\gcasas\anaconda3\envs\ros" == "" set "LIB=;C:\Users\gcasas\anaconda3\envs\ros\Library\lib"

C:\Users\gcasas\eth\Catkin>if not "C:\Users\gcasas\anaconda3\envs\ros" == "" set "CPATH=;C:\Users\gcasas\anaconda3\envs\ros\Library\include"

C:\Users\gcasas\eth\Catkin>SET DISTUTILS_USE_SDK=1

C:\Users\gcasas\eth\Catkin>SET MSSdk=1

C:\Users\gcasas\eth\Catkin>SET "VS_VERSION=15.0"

C:\Users\gcasas\eth\Catkin>SET "VS_MAJOR=15"

C:\Users\gcasas\eth\Catkin>SET "VS_YEAR=2017"

C:\Users\gcasas\eth\Catkin>set "MSYS2_ARG_CONV_EXCL=/AI;/AL;/OUT;/out"

C:\Users\gcasas\eth\Catkin>set "MSYS2_ENV_CONV_EXCL=CL"

C:\Users\gcasas\eth\Catkin>set "PY_VCRUNTIME_REDIST=\bin\vcruntime140.dll"

C:\Users\gcasas\eth\Catkin>set "CXX=cl.exe"

C:\Users\gcasas\eth\Catkin>set "CC=cl.exe"

C:\Users\gcasas\eth\Catkin>set "VSINSTALLDIR="

C:\Users\gcasas\eth\Catkin>for /F "usebackq tokens=*" %i in (`vswhere.exe -nologo -products * -version [15.0,16.0) -property installationPath`) do (set "VSINSTALLDIR=%i\" )

C:\Users\gcasas\eth\Catkin>if not exist "" (for /F "usebackq tokens=*" %i in (`vswhere.exe -nologo -products * -requires Microsoft.VisualStudio.Component.VC.v141.x86.x64 -property installationPath`) do (set "VSINSTALLDIR=%i\" ) )

C:\Users\gcasas\eth\Catkin>if not exist "" (set "VSINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\" )

C:\Users\gcasas\eth\Catkin>if not exist "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\" (set "VSINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\" )

C:\Users\gcasas\eth\Catkin>if not exist "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\" (set "VSINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\" )

C:\Users\gcasas\eth\Catkin>if not exist "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\" (set "VSINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\" )

C:\Users\gcasas\eth\Catkin>IF NOT "" == "" (
set "INCLUDE=;"
 set "LIB=;;C:\Users\gcasas\anaconda3\envs\ros\Library\lib"
 set "CMAKE_PREFIX_PATH=;C:/Users/gcasas/anaconda3/envs/ros/Library"
)

C:\Users\gcasas\eth\Catkin>call :GetWin10SdkDir

C:\Users\gcasas\eth\Catkin>call :GetWin10SdkDirHelper HKLM\SOFTWARE\Wow6432Node  1>nul 2>&1

C:\Users\gcasas\eth\Catkin>if errorlevel 1 call :GetWin10SdkDirHelper HKCU\SOFTWARE\Wow6432Node  1>nul 2>&1

C:\Users\gcasas\eth\Catkin>if errorlevel 1 call :GetWin10SdkDirHelper HKLM\SOFTWARE  1>nul 2>&1

C:\Users\gcasas\eth\Catkin>if errorlevel 1 call :GetWin10SdkDirHelper HKCU\SOFTWARE  1>nul 2>&1

C:\Users\gcasas\eth\Catkin>if errorlevel 1 exit /B 1

C:\Users\gcasas\eth\Catkin>exit /B 0

C:\Users\gcasas\eth\Catkin>for /F %i in ('dir /ON /B "\include\10.*"') DO (SET WindowsSDKVer=%~i )
The system cannot find the file specified.

C:\Users\gcasas\eth\Catkin>if errorlevel 1 (echo "Didn't find any windows 10 SDK. I'm not sure if things will work, but let's try..." )  else (echo Windows SDK version found as: "" )
Windows SDK version found as: ""

C:\Users\gcasas\eth\Catkin>IF "win-64" == "win-64" (
set "CMAKE_GEN=Visual Studio 15 2017 Win64"
 set "BITS=64"
)  else (
set "CMAKE_GEN=Visual Studio 15 2017"
 set "BITS=32"
)

C:\Users\gcasas\eth\Catkin>pushd C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\
The system cannot find the path specified.

C:\Users\gcasas\eth\Catkin>CALL "VC\Auxiliary\Build\vcvars64.bat" -vcvars_ver=14.16
The system cannot find the path specified.

C:\Users\gcasas\eth\Catkin>popd

C:\Users\gcasas\eth\Catkin>IF "" == "" SET "CMAKE_GENERATOR=Visual Studio 15 2017 Win64"

C:\Users\gcasas\eth\Catkin>call :GetWin10SdkDirHelper HKLM\SOFTWARE\Wow6432Node  1>nul 2>&1

C:\Users\gcasas\eth\Catkin>if errorlevel 1 call :GetWin10SdkDirHelper HKCU\SOFTWARE\Wow6432Node  1>nul 2>&1

C:\Users\gcasas\eth\Catkin>if errorlevel 1 call :GetWin10SdkDirHelper HKLM\SOFTWARE  1>nul 2>&1

C:\Users\gcasas\eth\Catkin>if errorlevel 1 call :GetWin10SdkDirHelper HKCU\SOFTWARE  1>nul 2>&1

C:\Users\gcasas\eth\Catkin>if errorlevel 1 exit /B 1

C:\Users\gcasas\eth\Catkin>exit /B 0

After installing and activating, you can try roscore and see if the ROS coordinator node starts correctly.

Yes I agree I am mixing a few things up, I am pretty inexperienced with this and i appreciate the guidance.

After installing and trying roscore I received the following message:
… logging to C:\Users\gegardne.ros\log\fa974137-ba5c-11eb-984c-50eb714f94cf\roslaunch-CBDL-Workshop-23188.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://127.0.0.1:65127/
ros_comm version 1.15.9

SUMMARY

PARAMETERS

  • /rosdistro: noetic
  • /rosversion: 1.15.9

NODES

auto-starting new master
process[master]: started with pid [22092]
ROS_MASTER_URI=http://127.0.0.1:11311/
setting /run_id to fa974137-ba5c-11eb-984c-50eb714f94cf
process[rosout-1]: started with pid [13608]
started core service [/rosout]

Let me know if this is what you would expect to see and what the next step would be

Thanks

I also went back and reviewed the other info you sent.
I tried again the Docker-compose method outlined in this video around 1:10:00

I was able to open the RViz window and see a robot, but the interface seems to be missing