Is anyone using ROS2 GUI tools like rviz on macOS?

I think keeping projects separated is good practice. Although in this case you might have saved the 40 hours if you tried to install it as close to the instructions as possible, eliminating factors such as the venv.

I had the exact same issue with sip but I can’t quite remember exactly how I solved it, something to do with qt4 and qt5 linkage and brew. I will get back to it tomorrow and see if I can write a more detailed set of commands and instructions.

For maintainers of ROS2: I would highly recommend you put some big warnings on the pages that claim support for macOS. I feel somewhat gaslit and misled into believing that it’s a tier-1 platform, and that my difficulties have been my fault. Please recommend that people use Ubuntu until the Mac developer experience has been improved.

Agreed.

Hi,
So I looked into the whole brew and sip deal and was not able to find what I was looking for unfortunately.

thanks for following up @servetcoskun

Over here, I’m getting into something of a rhythm using FUSE to mount the ubuntu drives on mac for file editing, and SSH for terminal work.

I use the same flow and it’s great to work with. sshfs and ssh and you are ready to go! :slight_smile:

1 Like

It should be noted that links to the osrf/ros2 Docker hub repo (hosting ROS developer images, for nightly or from scratch builds), and not the Official Library repo for ROS on DockerHub (hosting ROS user images, for building with released binaries).

https://hub.docker.com/_/ros

Regardless of what base image you use, if you’d like to keep projects isolated on a dev machine, but are using GUI software and Linux, rocker CLI could also help you there:

Hello all! I was able to build ROS2 packages using colcon build --symlink-install command on MacOS Catalina 10.15 all except for the rviz_default_plugins which I had to add a COLCON_IGNORE due to it not being able to find the cmake file for interactive markers.

This was the specific error message:

CMake Error at CMakeLists.txt:62 (find_package):
  By not providing "Findinteractive_markers.cmake" in CMAKE_MODULE_PATH this
  project has asked CMake to find a package configuration file provided by
  "interactive_markers", but CMake did not find one.

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

    interactive_markersConfig.cmake
    interactive_markers-config.cmake

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


---
Failed   <<< rviz_default_plugins [33.3s, exited with code 1]

I tried searching for the cmake file on my computer to see if I can add the prefix, but that did not work. I believe I do not have it on my system. Being on mac, I can’t install via sudo, so I am unsure what to do next.

Any assistance on this?

1 Like

Hey @raghavauppuluri13,

For some reason your source installation didn’t find the ros_visualization package interactive_makers. To fix this, cd to the src folder in your installation workspace and then cd into the ros-visualization folder. Next, you will need to clone the interactive_markers ROS 2 package from GitHub using the following command

~$ git clone -b foxy https://github.com/ros-visualization/interactive_markers.git

This should download the missing package. cd back to your workspace folder and run colcon build --symlink-install.

If you still have issues, you are free to message me on this platform.

2 Likes

Another option for those developing on macOS: we recently launched Foxglove Studio, which should be a drop in replacement for rviz + rqt + other GUI tools needed for ROS development. This should make it easier to develop for ROS inside a docker container, but running your GUI tools natively (and we ship binary builds so you don’t need to worry about compiling it).

It’s open source, and feedback is welcome!

1 Like

Welcome, @amacneil. I’ve been using Webviz and I see that your project is a fork. Could you post a thread introducing Foxglove Studio and how it differs from Webviz so far and what direction you plan to take it in?

1 Like

@rgov great question, thanks for asking. I actually tried to post a thread earlier and got a message that it was in a moderation queue, but it seems to have disappeared. Anyway, I posted again here.

If you are an existing Webviz user I would love to chat more to hear your thoughts & needs (feel free to DM me or join our Slack). I’ll share more about the differences below.

Our team all worked at Cruise and we highly respect and appreciate the ongoing development there. However, Webviz is first and foremost an internal Cruise tool, and as such is designed to primarily meet Cruise’s needs. We want to take Foxglove in a different direction, with features that benefit the community but which aren’t useful in the Cruise context. For example:

  • We are focusing on building a desktop app, which unlocks the ability for direct TCP connections, native code, better caching, more powerful extensions, etc
  • We have support for connecting directly to ROS (no rosbridge websocket server required, since we aren’t limited to the browser)
  • We added better layout management (configure multiple layouts, easily switch between them)
  • On the development side, we ported the codebase to TypeScript (from Flow), and are developing completely in the open at github.com/foxglove/studio (Webviz is tightly coupled to a large internal codebase).

Plus, we have some exciting features on our roadmap:

  • ROS 2 support (Cruise has no need for this)
  • An extension API, so that teams can easily develop their own panels or extensions without needing to fork the codebase and deploy their own version
  • Ability to store layouts on a server and easily share them among team members (Cruise has an internal version of this, but it is strongly tied to internal systems)
  • Support for non-ROS data storage formats
1 Like