Since I head lots of issues to get this plugin running with Ubuntu 20.04 I created a ReadMe file how I was able to compile and run it. I would appreciate if someone could provide some help to set it up easier or add some steps to the official ReadMe file.
Additionally I had some issues with a distirbuted ROS Systems. The calibration software takes the sample immediatly after the robot reaches the position, but sometimes my TF was not up to date already, so I added a delay to solve this problem with:
bool ControlTabWidget::takeTransformSamples()
{
// Store the pair of two tf transforms and calculate camera_robot pose
sleep(1.5);
This was already mentioned in #103, but I think there are better solutions to this.
Also my re-projectionerror was quite high. I got for translation an error of 0.3 m, which would be a lot. When I tested the system with this high error it was able grasp with an accuracy of 3 mm. Is this a unit problem or does this only occur in my case?
Install the dependencies in your catkin workspace.
Handeye is needed otherwise the error "Failed to load python module: handeye.calibrator" occurs when taking calibration samples (see last step). Install it:
Remove existing openblas. Do this with caution and maybe backup your machine first!!
sudo apt -y remove libopenblas*
download openblas from official github page
cd ~
wget https://github.com/xianyi/OpenBLAS/releases/download/v0.3.23/OpenBLAS-0.3.23.tar.gz
tar xf OpenBLAS-0.3.23.tar.gz
cd OpenBLAS-0.3.23/
make
make install
cd ~/Downloads
unzip "OpenBLAS 0.3.9 version.zip" -d /opt
cd /opt
sudo mv xianyi-OpenBLAS-33f76a6 "OpenBLAS-0.3.9"
cd OpenBLAS-0.3.9/
sudo make FC=gfortran
sudo make install
export PKG_CONFIG_PATH=/opt/OpenBLAS/lib/pkgconfig:$PKG_CONFIG_PATH
pkg-config --modversion openblas
Change the handeye_control_widget.cpp, which is located at moveit_calibration/moveit_calibration_gui/handeye_calibration_rviz_plugin/src/handeye_control_widget.cpp
Add sleep to make sure the tf tree is updated before taking a sample:
bool ControlTabWidget::takeTransformSamples()
{
// Store the pair of two tf transforms and calculate camera_robot pose
sleep(1.5);
Since I head lots of issues to get this plugin running with Ubuntu 20.04 I created a ReadMe file how I was able to compile and run it. I would appreciate if someone could provide some help to set it up easier or add some steps to the official ReadMe file.
Additionally I had some issues with a distirbuted ROS Systems. The calibration software takes the sample immediatly after the robot reaches the position, but sometimes my TF was not up to date already, so I added a delay to solve this problem with:
This was already mentioned in #103, but I think there are better solutions to this.
Also my re-projectionerror was quite high. I got for translation an error of 0.3 m, which would be a lot. When I tested the system with this high error it was able grasp with an accuracy of 3 mm. Is this a unit problem or does this only occur in my case?
Here the ReadMe file:
Moveit Calibration
Install Package to calibrate the camera position
Install dependencies
Install the dependencies in your catkin workspace.
Handeye is needed otherwise the error "Failed to load python module: handeye.calibrator" occurs when taking calibration samples (see last step). Install it:
The handeye package is depending on baldor. Install it:
Check your version normal is 0.3.8 but we need >=0.3.9 To install follow the following steps of https://github.com/ros-planning/moveit_calibration/issues/109#issuecomment-1529110739 to install
pkg-config --modversion openblas
Remove existing openblas. Do this with caution and maybe backup your machine first!!
sudo apt -y remove libopenblas*
download openblas from official github page
Create a symbolic link to the lib folder:
sudo ln -s /home/faps/OpenBLAS-0.3.23/libopenblas.so /usr/lib/x86_64-linux-gnu/libopenblas.so
Modifications for using saved joint_states.yaml
Change the handeye_control_widget.cpp, which is located at
moveit_calibration/moveit_calibration_gui/handeye_calibration_rviz_plugin/src/handeye_control_widget.cpp
Add sleep to make sure the tf tree is updated before taking a sample:
Change robot velocity:
and build the workspace afterwards with
catkin_make
Start Calibration Setup
start a new terminal with the following commands: