Installation

This page provides detailed instructions to install the ROS 1 version of the mnet-client.

mnet-client is distributed as a ROS 1/2 package via source code.

Prerequisites

  • Ubuntu (https://ubuntu.com/) and ROS 1 (https://www.ros.org/)

  • FFmpeg (https://ffmpeg.org/) with x264 encoder for video processing

    sudo apt install ffmpeg libavcodec-dev libavformat-dev libswscale-dev libx264-dev
    
  • OpenCV (https://opencv.org/) with FFmpeg compatible

    pip install opencv-python # or sudo apt install python3-opencv
    

    Notice: if you installed OpenCV before FFmpeg was available on your system, then OpenCV was built without FFmpeg support. To make OpenCV actually use FFmpeg, you’ll need to reinstall or rebuild OpenCV after FFmpeg is installed.

  • Connect ROS 1 with OpenCV

    sudo apt install ros-<distro>-cv-bridge \
                     ros-<distro>-vision-opencv \
                     ros-<distro>-image-transport \
                     ros-<distro>-compressed-image-transport \
                     ros-<distro>-image-common
    
  • Requests for HTTP requests

    pip install requests
    
  • Pydantic (>=2.0) for message transfer

    pip install pydantic>=2.0
    
  • PyBullet (3.2.7 recommended, other versions could also work) for scene rendering

    pip install pybullet
    
  • pupil-apriltags (Python bindings for the apriltags3 library)

    pip install pupil-apriltags
    

Install via Source Code

First enter your ROS 1 workspace:

cd catkin_ws/src

Clone the repository in your ROS 1 workspace

git clone --branch ros_1 https://github.com/ManipulationNet/mnet_client.git --recursive

Compile the ROS 1 workspace

cd ..
catkin_make

Update your Client

Enter your mnet-client package and do:

git pull
git submodule update --init --recursive