Point Cloud Library (PCL) on Mac OS

Install PCL using BREW.

PCL is a Point Cloud Library for C++

$ xcode-select --install

xcode-select: error: command line tools are already installed, use "Software Update" to install updates



After updating Mac OS, please re-install the brew:

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"



$ brew update

Already up-to-date.

$ brew tap homebrew/science
Error: homebrew/science was deprecated. This tap is now empty as all its formulae were migrated.

$ brew tap brewsci/science


Cloning into '/usr/local/Homebrew/Library/Taps/brewsci/homebrew-science'...

DANGER (no need to do it if you re-insalled the brew):
$ sudo install -d -o $(whoami) -g admin /usr/local/Frameworks

$ brew reinstall pcl

🍺  /usr/local/Cellar/pcl/1.9.1_4: 1,173 files, 147.4MB


$ brew upgrade pcl

Error: pcl 1.9.1_4 already installed


Compile the Lidar Simulator (Udacity nd313)

cd /Volumes/DATA/_Drive/_REPOS/SFND_Lidar_Obstacle_Detection/build/

build $ rm ../CMakeCache.txt





build $ cmake ../CMakeLists.txt
-- The C compiler identification is AppleClang 10.0.1.10010046
-- The CXX compiler identification is AppleClang 10.0.1.10010046
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Checking for module 'eigen3'
--   No package 'eigen3' found
-- Found Eigen: /usr/local/include/eigen3 
-- Eigen found (include: /usr/local/include/eigen3, version: 3.3.7)
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE 
-- Boost version: 1.70.0
-- Found the following Boost libraries:
--   system
--   filesystem
--   thread
--   date_time
--   iostreams
--   serialization
--   chrono
--   atomic
--   regex
-- Checking for module 'flann'
--   No package 'flann' found
-- Found FLANN: /usr/local/Cellar/flann/1.9.1_7/lib/libflann_cpp.dylib 
-- FLANN found (include: /usr/local/Cellar/flann/1.9.1_7/include, lib: optimized;/usr/local/Cellar/flann/1.9.1_7/lib/libflann_cpp.dylib;debug;/usr/local/Cellar/flann/1.9.1_7/lib/libflann_cpp.dylib)
-- Checking for module 'flann'
--   No package 'flann' found
-- FLANN found (include: /usr/local/Cellar/flann/1.9.1_7/include, lib: optimized;/usr/local/Cellar/flann/1.9.1_7/lib/libflann_cpp.dylib;debug;/usr/local/Cellar/flann/1.9.1_7/lib/libflann_cpp.dylib)
** WARNING ** io features related to pcap will be disabled
** WARNING ** io features related to png will be disabled
-- Found libusb-1.0: /usr/local/include 
** WARNING ** io features related to libusb-1.0 will be disabled
-- Found Qhull: optimized;/usr/local/lib/libqhull_p.dylib;debug;/usr/local/lib/libqhull_p.dylib 
-- QHULL found (include: /usr/local/include, lib: optimized;/usr/local/lib/libqhull_p.dylib;debug;/usr/local/lib/libqhull_p.dylib)
-- Found OpenGL: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenGL.framework 
-- Found PkgConfig: /opt/local/bin/pkg-config (found version "0.29.2")
-- Checking for module 'glew'
--   No package 'glew' found
CMake Error at /usr/local/share/pcl-1.9/PCLConfig.cmake:58 (message):
  simulation is required but glew was not found
Call Stack (most recent call first):
  /usr/local/share/pcl-1.9/PCLConfig.cmake:361 (pcl_report_not_found)
  /usr/local/share/pcl-1.9/PCLConfig.cmake:545 (find_external_library)
  CMakeLists.txt:10 (find_package)


-- Configuring incomplete, errors occurred!
See also "/Volumes/DATA/_Drive/_REPOS/SFND313_Lidar_Obstacle_Detection/CMakeFiles/CMakeOutput.log".
See also "/Volumes/DATA/_Drive/_REPOS/SFND313_Lidar_Obstacle_Detection/CMakeFiles/CMakeError.log".





$ brew install glew

Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
No changes to formulae.

Warning: glew 2.1.0 is already installed and up-to-date
To reinstall 2.1.0, run `brew reinstall glew`
(turi) uki  16:17 build $





References









Baofeng UV-82C HAM Radio

Initial Programming

The following warnings will sound very negative, but you need to realize what you are getting into.

Warning 1: This HAM radio is literally useless without initial programming.
To program it, you need a computer and a separate cable
with FTDI microchip (~$15 on Amazon).


Warning 2: The radio comes with the set of 21 useless frequency memory channels (maybe they are set to some Chinese stations).

Warning 3: The CHIRP software on Mac is probably the worst functioning app I have ever used. This is true for any HAM radio you will buy, but be aware that other radios may not need the initial programming.

Warning 4: To transmit with this radio you need a license, this is highly enforced and penalties are high, the exception is in an emergency situation. To use this radio to listen is perfectly legal without any license.


The best way to program your radio is to:

CHIRP > Radio > "Download From Radio"

This will bring the data "image" file of the radio to your computer.
Now, you can change the settings and memory frequencies and re-upload the image.

When connecting to the radio you will be asked to select the PORT, Vendor, and Model (see image).

For Baofeng UV-82C, I have used UV-82 setting.




Important: Change to Frequency Mode




One of the first things you will want to change is the ability to switch from the "Channel Mode" to the "Frequency Mode" in order to manually enter (using the radio) various frequencies around you.

Later, when you want to lock up that feature, you can uncheck it. For my own use, I would never lock it as you need a computer and a cable to change it, but for co-workers, family, and friends, you may choose to do so leaving them with limited channels only.

You will select a checkbox:

Settings > Advanced Settings > VFO/MR Switching (UV-82C only) 

see the image below

Once you change the settings:

Radio > Upload To Radio 
If the option above is grayed-out then you do not have a proper USB cable connection or the wrong driver.