-
Create persistent Ubuntu 20.04 installation using mkusb (or just install it normally)
-
Update the installation
sudo apt-get update && sudo apt-get upgrade -y
-
Install ROS Noetic
wget -c https://raw.githubusercontent.com/qboticslabs/ros_install_noetic/master/ros_install_noetic.sh && chmod +x ./ros_install_noetic.sh && ./ros_install_noetic.sh
-
Ensure all necessary packages are installed
sudo apt-get install <package_list.txt>
-
Install TIAGo software
mkdir ~/tiago_public_ws cd ~/tiago_public_ws wget https://raw.githubusercontent.com/pal-robotics/tiago_tutorials/noetic-devel/tiago_public-noetic.rosinstall rosinstall src /opt/ros/noetic tiago_public-noetic.rosinstall sudo rosdep init rosdep update rosdep install -y --from-paths src --ignore-src --rosdistro noetic --skip-keys "urdf_test omni_drive_controller orocos_kdl pal_filters libgazebo9-dev pal_usb_utils speed_limit_node camera_calibration_files pal_moveit_plugins pal_startup_msgs pal_local_joint_control pal_pcl_points_throttle_and_filter current_limit_controller hokuyo_node dynamixel_cpp pal_moveit_capabilities pal_pcl dynamic_footprint gravity_compensation_controller pal-orbbec-openni2 pal_loc_measure pal_map_manager ydlidar_ros_driver" source /opt/ros/noetic/setup.bash catkin build -DCATKIN_ENABLE_TESTING=0 -j $(expr `nproc` / 2)
-
Install OpenCV 3.2 with Contrib
# download opencv wget https://github.com/opencv/opencv/archive/3.2.0.zip -O opencv320.zip unzip opencv320.zip rm opencv320.zip mv opencv-3.2.0 OpenCV cd OpenCV touch OpenCV3.2withContrib # download contrib wget https://github.com/opencv/opencv_contrib/archive/3.2.0.zip -O opencv_contrib320.zip unzip opencv_contrib320.zip rm opencv_contrib320.zip mv opencv_contrib-3.2.0 OpenCV_contrib # patches from gist ## Fix Flow control statements are not properly nested issue sed -i '21,22 s/^/#/' cmake/OpenCVCompilerOptions.cmake ## Fix ffmpeg version issue sed -i '1 i #define AV_CODEC_FLAG_GLOBAL_HEADER (1 << 22)\n#define CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER\n#define AVFMT_RAWPICTURE 0x0020' modules/videoio/src/cap_ffmpeg_impl.hpp ## Fix build.make:56 Error sed -i 's/PyString_AsString(obj);/(char*)PyString_AsString(obj);/' modules/python/src2/cv2.cpp ## Requires version 10 or lower if [[ `gcc -dumpversion` -ge 11 ]]; then CC="gcc-10" CXX="g++-10" fi # build and install mkdir build cd build CC=${CC} CXX=${CXX} cmake -DOPENCV_EXTRA_MODULES_PATH=../OpenCV_contrib/modules -DWITH_QT=OFF -DWITH_OPENGL=ON -DFORCE_VTK=ON -DWITH_TBB=ON -DINSTALL_C_EXAMPLES=OFF -DWITH_GDAL=ON -DWITH_XINE=ON -DBUILD_EXAMPLES=OFF -DENABLE_PRECOMPILED_HEADERS=OFF .. CC=${CC} CXX=${CXX} make -j`nproc` sudo make install sudo ldconfig
Sources:
- https://help.ubuntu.com/community/mkusb/persistent
- http://wiki.ros.org/ROS/Installation/TwoLineInstall/
- http://wiki.ros.org/Robots/TIAGo/Tutorials/Installation/InstallUbuntuAndROS
- https://gist.github.com/syneart/3e6bb68de8b6390d2eb18bff67767dcb
- https://stackoverflow.com/questions/62113193/how-to-colate-a-list-of-installed-packages-into-a-one-liner-for-re-installing