Sign inSign up

prehensile/kalibr

By prehensile

•Updated 12 months ago

Kalibr patched and built for ARM64 platforms, with some minor quality of life enhancements.

Image
Languages & frameworks
Machine learning & AI
Operating systems
0

625

prehensile/kalibr repository overview

⁠kalibr-arm64

A Docker image containing Kalibr⁠ patched and built for ARM64 platforms, with some minor quality of life enhancements detailed below⁠.

This repository is hosted on Github at https://github.com/prehensile/kalibr-arm64⁠

⁠Supported platforms

Tested and verified on:

  • Apple Silicon (Macbook Air M4)
  • Raspberry Pi 5

It should theoretically work on other ARM64 platforms, but hasn't been tested on any yet. If you find it works on another platform, please let me know by filing in issue on this Github repository⁠!

⁠Usage

This image can be used in exactly the same way as the Docker images described in the Kalibr documentation⁠. Note that by default this ARM64 image is tagged kalibr:arm64 as opposed to kalibr. Here's the first example from the Kalibr documentation, amended to use the different image tag:

FOLDER=/path/to/your/data/on/host
xhost +local:root
docker run -it -e "DISPLAY" -e "QT_X11_NO_MITSHM=1" \
    -v "/tmp/.X11-unix:/tmp/.X11-unix:rw" \
    -v "$FOLDER:/data" prehensile/kalibr:arm64

Here's a more complex example, using data stored on the host machine, mapped to a volume in the Docker container:

FOLDER=/path/to/your/data/on/host
docker run --rm -ti \
  -v "$FOLDER:/data" \
  prehensile/kalibr:arm64 \ 
  rosrun kalibr kalibr_calibrate_cameras \
  --bag /data/cam_april_compressed.bag \ 
  --target /data/april_6x6.yaml \
  --models pinhole-radtan pinhole-radtan \
  --topics /cam0/image_raw /cam1/image_raw

⁠Quality of life enhancements

⁠Improved entrypoint script

The entrypoint script⁠ for this container takes care of running source /catkin_ws/devel/setup.bash to load the ROS environment for you, before anything passed to docker run is executed. This includes, for example, bash.

⁠xvfb

If you intend to use ROS / Kalibr for offline processing, you may find that some tools fail because they are expecting an X display to be available. This can be worked around using xvfb⁠, which makes a virtual display available to processes that expect one.

xvfb is installed in this Docker image, and can be used by prefixing commands with xfvb-run. For example, while running a command prompt inside the container:

root@d2f198fb4549:/catkin_ws# xvfb-run rosrun kalibr kalibr_calibrate_cameras

Tag summary

Content type

Image

Digest

sha256:68d089b2c…

Size

1.1 GB

Last updated

12 months ago

docker pull prehensile/kalibr:arm64