Contains calibration documents, logic, inputs, and outputs for several cameras that can be used with ROS.
- Python:
3.6
with pyenvpyenv install 3.6 pyenv global 3.6
-
OpenCV for Python
pip install --upgrade pip pip install opencv-contrib-python
The pattern used is a 9
x6
OpenCV chess board.
If it's printed on 8.5
x 11
sheet of paper with no scaling, real-world dimensions will be 217
mm x 153
mm.
- Connect your camera and ensure it works with ROS by using Rviz
- Create a folder for your camera in this repository
- Change into the folder
- Capture 20-40 images with
image_view
On the image view window, simply right-click and the current image will be saved to the current directory.rosrun image_view image_view image:=/camera/rgb/image_raw
Run calibration.py
script at the root of this repository with working directory containing the images to analyze.
- Intel Realsense D435 parameters in
/intel-realsense-d435
- Primesense Carmine 1.09 parameters in
/primesense-carmine-1.09
Once the camera is calibrated, markers can be detected in 3D space.
Build ar_track_alvar from source.
rosrun ar_track_alvar individualMarkers \
_marker_size:=9.577 \
_output_frame:="camera_rgb_optical_frame" \
_cam_image_topic:="/camera/depth_registered/points" \
_cam_info_topic:="/camera/rgb/camera_info" \
_max_new_marker_error:=0.5 \
_max_track_error:=0.5