helix-robotics-ag / ros-helix

1 stars 0 forks source link

How to store calibration file #9

Open sebtiburzio opened 4 months ago

sebtiburzio commented 4 months ago

The calibration procedure is to apply nominal current to the tendons, allow the user to calibrate the reference state of the robot, then save these motor positions to a file. So far, the file has been saved into the path /colcon_ws/src/helix_transmission/config/tendon_calib.yml, which is defined in the helix_transmission.config.yml file.

  1. This might not be a good place to save the calibration, since the calibration is specific to the robot and shouldn't be synced to the repo. The files have been added to .gitignore, maybe this is sufficient.
  2. The file can only be written if the helix_transmission source is mounted into the container. This is the case when launching with ./run.sh, but not with docker compose up ros-helix. The volume mounts could be added to the docker-compose.yml, but maybe this is not a good solution either, to keep the deployment container contained.

--> Need to understand the best solution for writing some robot specific config outside of the container.

sebtiburzio commented 3 months ago

The config is now stored in ~/.config/helix on the host, which is mounted to /tmp/config in the container.

~/.config/helix needs to be created on the host before first launching the container to avoid issues with permissions.

sebtiburzio commented 3 months ago

Note that the above appears to work for the set up on the Pi, however permissions still seem to be an issue running the containers on a workstation, ie the node in the container is unable to create a file inside ~/.config/helix if the config doesn't already exist.