This Dockerfile sets up a development environment for kinova_robust_control, focusing on ROS2 Humble and support for Kinova's Kortex API.
The environment is built on the ubuntu:22.04
base image.
- ROS2 Humble setup with essential tools.
- Integration with Kinova's API.
- Support for Python-based development and C++ with Conan.
- Installation of Pinocchio for robot kinematics and dynamics.
- Pre-installed utilities for debugging, testing, and development.
- Docker Installed: Ensure Docker is set up properly and running on your system.
- Internet Access: The Docker container uses host networking mode for communication.
This repository includes a Dockerfile that installs all necessary dependencies.
Need Docker? Follow the official instructions.
git clone --recurse-submodules https://github.com/roahmlab/kinova_robust_control_docker.git
git submodule update --init --recursive
- Open VS Code.
- Press
Ctrl+Shift+P
and search for:Dev Containers: Rebuild and Reopen Container
. - Select it to automatically build the container using the provided Dockerfile.
Inside the container, run:
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
As before, source the workspace after opening a new terminal:
source install/setup.bash
For more details, visit the kinova_robust_control humble branch.
Note that you may have to remove all previous compiled objects if you make changes to the dockerfile and rebuild the docker container:
rm -rf build install devel
Please save important files or folders before you do this.
- Uses Ubuntu 22.04.
- Sets non-interactive mode to streamline the installation process.
- Configures locales for
en_US.UTF-8
. - Installs essential tools like
nano
,git
,python3
,pip
, and compilers.
- Installs ROS2 Humble desktop packages.
- Adds ROS setup to the environment for easy access.
- Clones the Kortex repository.
- Installs the Kortex Python API for controlling Kinova robotic arms.
- Includes testing and linting tools such as
pytest
,argcomplete
, andflake8
.
- Sets up Conan for dependency management.
- Configures default Conan profile for modern C++ standards.
- Installs the Pinocchio library for efficient robot dynamics computations.
- Configures environment variables for ROS, Python, and installed libraries.
The Docker file pulls code from the KINOVA® KORTEX™ API Reference developed and maintained by Kinova Robotics. We gratefully acknowledge their work and contribution to the open-source robotics community.
This work is developed in ROAHM Lab.
Sean Rice (Seanrice@umich.edu): Original creater of the docker file.
Zichang Zhou (zhouzichang1234@gmail.com): Clean up the docker file and the repository.
Bohao Zhang (jimzhang@umich.edu): Current maintainer. Clean up the docker file and the repository.
If you have any questions or suggestions, please raise them in Issues. We will get back to you as soon as possible.