Robots From 1991 Mac OS

broken image


This page describes how to install ROS Melodic on macOS. macOS is not officially supported by ROS and the installation might fail.

This is a work in progress! At present, the instructions cover only the installation of ROS-Comm (Bare Bones) variant and tested on the following configuration:

ROS is an open-source, meta-operating system for your robot. It provides the services you would expect from an operating system, including hardware abstraction, low-level device control, implementation of commonly-used functionality, message-passing between processes, and package management.

  1. Download LEGO® MINDSTORMS® Inventor and enjoy it on your iPhone, iPad, iPod touch, or Mac OS X 10.14 or later. ‎Create intelligent remote-control robots and vehicles using interactive in-app building instructions, with the LEGO® MINDSTORMS® Robot Inventor App! For use with the LEGO MINDSTORMS Robot Inventor (51515) set launched in 2020.
  2. The Open Source Computer Vision Library has 2500 algorithms, extensive documentation and sample code for real-time computer vision. It works on Windows, Linux, Mac OS X, Android, iOS in your browser through JavaScript.
  3. Getting Bitten By The OS 9 Bug. I recently wrote a guide to setting up a beater Mac with a G4 and OS X Tiger. While I still stand behind the article (and indeed am using that same Mac to write this very piece), it was something of a learning experience and I've since realized I was a little too hasty to dismiss anything pre-Tiger as too old to be useful for users today.
  • - macOS Mojave + native (Apple) Python 2.7.10 + XCode 11.2.1

Contents

Robots From 1991 Mac OS
  1. Installation Instructions for Melodic in macOS (OS X)
    1. Setup
    2. Installation
    3. Maintaining a Source Checkout
    4. Troubleshooting

Setup

Homebrew

First, go to http://brew.sh to install homebrew and install some additional software:

Add our ROS dependencies tap and the Homebrew Core tap so you can get some non-standard formulae:

Note: if you are upgrading from previous ROS distro try this before installing:

In general it is not recommended to try and install multiple ROS versions at the same time on macOS due to conflicting system dependencies.

Setup Environment

You will need to tell Python about modules installed by Homebrew. The recommended way of doing this are the following commands:

Additional Tools

Finally, we need to install a few ROS python tools using 'pip'.

Robots From 1991 Mac Os Catalina

Install the following packages using 'pip':

Initializing rosdep

Installation

Start by building the core ROS packages.

Create a catkin Workspace

In order to build the core packages, you will need a catkin workspace. Create one now:

Next we will want to fetch the core packages so we can build them. We will use vcstool for this. Select the vcstool command for the particular variant you want to install:

Desktop-Full Install: ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perception

Desktop Install (recommended): ROS, rqt, rviz, and robot-generic libraries

ROS-Comm: (Bare Bones) ROS package, build, and communication libraries. No GUI tools.

This will add all of the catkin packages in the given variant and then fetch the sources into the ~/ros_catkin_ws/src directory. The command will take a few minutes to download all of the core ROS packages into the src folder. The -j8 option downloads 8 packages in parallel.

In addition to the 3 variants above, more are defined in REP 131 such as robot, perception, etc. Just change the package path to the one you want, e.g., for robot do:

Modify Some CMake Config Files

Now you will modify four CMake configuration files to avoid some compile and linker issues on MacOS.

Edit the files src/ros_comm/rosbag/CMakeLists.txt and src/ros_comm/rosbag_storage/CMakeLists.txt by adding the lines below. Where you put it doesn't really matter. you can just insert them after the project('package_name') line at the top of the file.

Edit the file src/ros_comm/message_filters/CMakeLists.txt by removing the Boost.Signals package dependency. Look for the line:

and change it to:

Edit the file src/ros_comm/roscpp/CMakeLists.txt by removing the Boost.Signals package dependency. Look for the line:

and change it to:

Resolving Dependencies

Before you can build your catkin workspace you need to make sure that you have all the required dependencies. We use the rosdep tool for this:

This will look at all of the packages in the src directory and find all of the dependencies they have. Then it will recursively install the dependencies.

The --from-paths option indicates we want to install the dependencies for an entire directory of packages, in this case src. The --ignore-src option indicates to rosdep that it shouldn't try to install any ROS packages in the src folder from the package manager, we don't need it to since we are building them ourselves. The --rosdistro option is required because we don't have a ROS environment setup yet, so we have to indicate to rosdep what version of ROS we are building for. The -y option indicates to rosdep that we don't want to be bothered by too many prompts from the package manager. The --skip-keys option suppresses some dependency error messages.

After a while (and maybe some prompts for your password) rosdep will finish installing system dependencies and you can continue.

Note: After running rosdep you will see the error below, so you may encounter issues when running roslisp or rosbag. (would be great if someone can test) .

Building the catkin Workspace

Once it has completed downloading the packages and resolving the dependencies you are ready to build the catkin packages. We will use the catkin_make_isolated command because there are both catkin and plain cmake packages in the base install, when developing on your catkin only workspaces you may choose to use catkin/commands/catkin_make which only works with catkin packages.

Invoke catkin_make_isolated:

Note: The -DCMAKE_MACOSX_RPATH and -DCMAKE_INSTALL_RPATH flags are mandatory. They are needed by roscore (and other programs) to find the *.dylib libraries at runtime.

Note: The default catkin installation location would be ~/ros_catkin_ws/install_isolated, if you would like to install somewhere else then you can do this by adding the --install-space /opt/ros/melodic argument to your catkin_make_isolated Date or die: the pilot episode mac os. call.

For usage on a robot without Ubuntu, it is recommended to install compiled code into /opt/ros/melodic just as the Ubuntu packages would do. Don't do this in Ubuntu, as the packages would collide with apt-get packages. It is also possible to install elsewhere (e.g. /usr), but it is not recommended unless you really know what you are doing.

Please see REP 122: Filesystem Hierarchy Layout for more detailed documentation on how the installed files are placed.

Note: In the above command we are running the catkin_make_isolated command from the catkin source folder because it has not been installed yet, once installed it can be called directly.

Now the packages should have been installed to ~/ros_catkin_ws/install_isolated or to wherever you specified with the --install-space argument. If you look in that directory you will see that a setup.bash file have been generated. To utilize the things installed there simply source that file like so:

Maintaining a Source Checkout

If we want to keep our source checkout up to date, we will have to periodically update our rosinstall file, download the latest sources, and rebuild our workspace.

Update the workspace

To update your workspace, first move your existing rosinstall file so that it doesn't get overwritten, and generate an updated version. For simplicity, we will cover the *destop-full* variant. For other variants, update the filenames and rosinstall_generator arguments appropriately.

Then, compare the new rosinstall file to the old version to see which packages will be updated:

If you're satisfied with these changes, incorporate the new rosinstall file into the workspace and update your workspace:

Rebuild your workspace

Now that the workspace is up to date with the latest sources, rebuild it:

If you specified the --install-space option when your workspace initially, you should specify it again when rebuilding your workspace

Once your workspace has been rebuilt, you should source the setup files again:

Robots From 1991 Mac OS
  1. Installation Instructions for Melodic in macOS (OS X)
    1. Setup
    2. Installation
    3. Maintaining a Source Checkout
    4. Troubleshooting

Setup

Homebrew

First, go to http://brew.sh to install homebrew and install some additional software:

Add our ROS dependencies tap and the Homebrew Core tap so you can get some non-standard formulae:

Note: if you are upgrading from previous ROS distro try this before installing:

In general it is not recommended to try and install multiple ROS versions at the same time on macOS due to conflicting system dependencies.

Setup Environment

You will need to tell Python about modules installed by Homebrew. The recommended way of doing this are the following commands:

Additional Tools

Finally, we need to install a few ROS python tools using 'pip'.

Robots From 1991 Mac Os Catalina

Install the following packages using 'pip':

Initializing rosdep

Installation

Start by building the core ROS packages.

Create a catkin Workspace

In order to build the core packages, you will need a catkin workspace. Create one now:

Next we will want to fetch the core packages so we can build them. We will use vcstool for this. Select the vcstool command for the particular variant you want to install:

Desktop-Full Install: ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perception

Desktop Install (recommended): ROS, rqt, rviz, and robot-generic libraries

ROS-Comm: (Bare Bones) ROS package, build, and communication libraries. No GUI tools.

This will add all of the catkin packages in the given variant and then fetch the sources into the ~/ros_catkin_ws/src directory. The command will take a few minutes to download all of the core ROS packages into the src folder. The -j8 option downloads 8 packages in parallel.

In addition to the 3 variants above, more are defined in REP 131 such as robot, perception, etc. Just change the package path to the one you want, e.g., for robot do:

Modify Some CMake Config Files

Now you will modify four CMake configuration files to avoid some compile and linker issues on MacOS.

Edit the files src/ros_comm/rosbag/CMakeLists.txt and src/ros_comm/rosbag_storage/CMakeLists.txt by adding the lines below. Where you put it doesn't really matter. you can just insert them after the project('package_name') line at the top of the file.

Edit the file src/ros_comm/message_filters/CMakeLists.txt by removing the Boost.Signals package dependency. Look for the line:

and change it to:

Edit the file src/ros_comm/roscpp/CMakeLists.txt by removing the Boost.Signals package dependency. Look for the line:

and change it to:

Resolving Dependencies

Before you can build your catkin workspace you need to make sure that you have all the required dependencies. We use the rosdep tool for this:

This will look at all of the packages in the src directory and find all of the dependencies they have. Then it will recursively install the dependencies.

The --from-paths option indicates we want to install the dependencies for an entire directory of packages, in this case src. The --ignore-src option indicates to rosdep that it shouldn't try to install any ROS packages in the src folder from the package manager, we don't need it to since we are building them ourselves. The --rosdistro option is required because we don't have a ROS environment setup yet, so we have to indicate to rosdep what version of ROS we are building for. The -y option indicates to rosdep that we don't want to be bothered by too many prompts from the package manager. The --skip-keys option suppresses some dependency error messages.

After a while (and maybe some prompts for your password) rosdep will finish installing system dependencies and you can continue.

Note: After running rosdep you will see the error below, so you may encounter issues when running roslisp or rosbag. (would be great if someone can test) .

Building the catkin Workspace

Once it has completed downloading the packages and resolving the dependencies you are ready to build the catkin packages. We will use the catkin_make_isolated command because there are both catkin and plain cmake packages in the base install, when developing on your catkin only workspaces you may choose to use catkin/commands/catkin_make which only works with catkin packages.

Invoke catkin_make_isolated:

Note: The -DCMAKE_MACOSX_RPATH and -DCMAKE_INSTALL_RPATH flags are mandatory. They are needed by roscore (and other programs) to find the *.dylib libraries at runtime.

Note: The default catkin installation location would be ~/ros_catkin_ws/install_isolated, if you would like to install somewhere else then you can do this by adding the --install-space /opt/ros/melodic argument to your catkin_make_isolated Date or die: the pilot episode mac os. call.

For usage on a robot without Ubuntu, it is recommended to install compiled code into /opt/ros/melodic just as the Ubuntu packages would do. Don't do this in Ubuntu, as the packages would collide with apt-get packages. It is also possible to install elsewhere (e.g. /usr), but it is not recommended unless you really know what you are doing.

Please see REP 122: Filesystem Hierarchy Layout for more detailed documentation on how the installed files are placed.

Note: In the above command we are running the catkin_make_isolated command from the catkin source folder because it has not been installed yet, once installed it can be called directly.

Now the packages should have been installed to ~/ros_catkin_ws/install_isolated or to wherever you specified with the --install-space argument. If you look in that directory you will see that a setup.bash file have been generated. To utilize the things installed there simply source that file like so:

Maintaining a Source Checkout

If we want to keep our source checkout up to date, we will have to periodically update our rosinstall file, download the latest sources, and rebuild our workspace.

Update the workspace

To update your workspace, first move your existing rosinstall file so that it doesn't get overwritten, and generate an updated version. For simplicity, we will cover the *destop-full* variant. For other variants, update the filenames and rosinstall_generator arguments appropriately.

Then, compare the new rosinstall file to the old version to see which packages will be updated:

If you're satisfied with these changes, incorporate the new rosinstall file into the workspace and update your workspace:

Rebuild your workspace

Now that the workspace is up to date with the latest sources, rebuild it:

If you specified the --install-space option when your workspace initially, you should specify it again when rebuilding your workspace

Once your workspace has been rebuilt, you should source the setup files again:

Troubleshooting

Robots From 1991 Mac Os X

Free to add any tips or workarounds found for installing Melodic on macOS. Troubleshooting from previous releases of ROS are located here:

  • http://wiki.ros.org/kinetic/Installation/OSX/Homebrew/Source#Troubleshooting

'No definition of [google-mock] for OS [osx]' error during rosdep install

Add --skip-keys google-mock to rosdep install

empy fails

‘ImportError: No module named Crypto'

DYLD_LIBRARY_PATH Problems

Rerun catkin_make_isolated with the CMAKE_MACOSX_RPATH and CMAKE_INSTALL_RPATH flags.

I love that some people have too much time on their hands. Thanks to Slack developer Felix Rieseberg, you can now run Mac OS 8 on a 1991 Macintosh Quadra 900 without any messing about with separate emulators and OS installs. The whole thing runs on your Mac as a single, standalone Javascript app…

You can also run it on a Windows or Linux machine.

The virtual machine is emulating a 1991 Macintosh Quadra 900 with a Motorola CPU, which Apple used before switching to IBM's PowerPC architecture in the late 1990s.

Bear in mind that this is written entirely in JavaScript, so please adjust your expectations.

The underlying emulator is Basilisk II, a 68k Macintosh emulator by Christian Bauer et al, modified and compiled with Emscripten by James Friend.

Rieseberg says it should run most Mac OS 8-compatible apps, and even comes with some supplied ones.

You'll find various games and demos preinstalled, thanks to an old MacWorld Demo CD from 1997. Namely, Oregon Trail, Duke Nukem 3D, Civilization II, Alley 19 Bowling, Damage Incorporated, and Dungeons & Dragons.

There are also various apps and trials preinstalled, including Photoshop 3, Premiere 4, Illustrator 5.5, StuffIt Expander, the Apple Web Page Construction Kit, and more.

But if you want to load others, you can do that.

Can I transfer files from and to the machine? Yes, you can. Click on the 'Help' button at the bottom of the running app to see instructions. You can transfer files directly, or mount disk images.

All you need do is copy files into the macintosh.js folder in your user directory and restart the app. Open the Unix volume on the desktop and you'll find them in there.

If you want to mount disk images, just place the .iso or .img volume into the same folder and re-open the app. Rieseberg does caution that there is a 'considerable' performance hit for each mounted volume, so one at a time might be advisable.

Robots From 1991 Mac Os Downloads

The same also works in reverse if you want to transfer files from the emulator to your Mac: Just open the Unix volume and the macintosh.js folder within it, copy files to that folder, and then quit the app. That will force a sync that copies them to the folder on your own Mac.

One thing you can't do, sadly, is connect to the web.

The web was quite different 30 years ago — and you wouldn't be able to open even Google. However, Internet Explorer and Netscape are installed, as is the ‘Web Sharing Server,' if you want to play around a bit.

Robots From 1991 Mac Os Download

Of course, Javascript isn't exactly the most efficient environment, so I found the app was using around 100% of one CPU core, but it's certainly a fun trip down memory lane!

You can download the app from GitHub — just scroll down to the Downloads section.

Via the Verge

FTC: We use income earning auto affiliate links.More.





broken image