-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Welcome to the Godel Wiki!
Create a workspace for the Godel project
mkdir godel_ws
mkdir godel_ws/src
cd godel_ws/src
catkin_init_workspace && cd ..
catkin_make
Source the workspace
cd <path>/godel_ws
source devel/setup.bash
You'll need to do this on every individual terminal you use to communicate with Godel
Get the dependencies:
In any folder you want (it does NOT have to be in the godel_ws):
git clone https://github.com/dermesser/libsocket.git
cd libsocket
cmake CMakeLists.txt
make
make install
This one is available as a debian package:
sudo apt-get install libcurl4-openssl-dev
This package DOES need to be in the Godel ws:
cd <path>/godel_ws/src
git clone https://github.com/ros-industrial-consortium/godel_openvoronoi.git
sudo apt-get install libqd-dev
This package DOES need to be in the Godel ws:
cd <path>/godel_ws/src
git clone https://github.com/ros-industrial/**TODO**
sudo apt-get install libqd-dev
This package DOES need to be in the Godel ws:
cd <path>/godel_ws/src
git clone https://github.com/Jmeyer1292/abb_file_suite.git
Clone the latest ROS-I core packages and the packages for hte robot you'll be using:
cd <path>/godel_ws/src
git clone https://github.com/ros-industrial/industrial_core.git
git clone https://github.com/ros-industrial/abb.git
Download the Motoman package, https://github.com/ros-industrial/motoman.git
if that's what you need.
To install follow the directions at: https://github.com/code-iai/iai_kinect2#install.
In the godel ws:
cd <path>/godel_ws/src
git clone https://github.com/Jmeyer1292/godel.git
git checkout july_demo_gui
For the Kinect2, follow the guide that comes as part of the driver: https://github.com/code-iai/iai_kinect2/tree/master/kinect2_calibration. You will need to print a physical target to look at.
Download the extrinsic calibration library and the caljob creator. Print out the visual target from godel_calibration_config/images
: Please ensure that the spacing and diameter of the circles is maintained. Circles should be 25mm and spacing between centroids should be 35mm.
git clone https://github.com/ros-industrial/industrial_calibration.git
git clone https://github.com/Jmeyer1292/caljob_creator
Build your workspace.
Now lets bring up an interface to the robot and the camera:
roslaunch <robotname>_calib_moveit_planning_execution.launch sim:=false robot_ip:=<ip>
And in a seperate terminal:
roslaunch godel_surface_detection sia20d_sensor_setup.launch
Now rosrun caljob_creator caljob_creator_node
. This should bring up a camera feed. With the window selected, press <space
to capture a joint state and q
to quit and save.
-
First place your calibration target in the workcell and and jog the robot until it can see the entire target.
-
Now move the robot so that it views the target from a new angle. Press space to record a joint position.
-
Try to get at least 12 images at different angles and with the target in different parts of the image (e.g. center vs. in a corner).
-
When you're done, press
q
and note the presence ofcaljob.yaml
file in your working directory. -
Now navigate to the
godel/godel_calibration_configuration/yaml/
directory. Copy the caljob file into this directory and rename it to something meaningful. -
Navigate back to the
godel/godel_calibration_configuration/launch/
directory. Open theblending_calibration.launch
file and change the value corresponding to thecal_job_file
key inside the rosparam list to the name of your file.
Now we're ready to actually run the calibration. Keep both the camera node and the <robot_name>_calib_moveit_planning_execution.launch
node going.
- In an empty terminal,
roslaunch godel_calibration_config blending_calibration.launch
. - When the previous node has come up, you're ready to begin. In a new terminal,
rosservice call /calibration_service
. The robot should automatically move through the poses you defined and take images at each. - When the routine is finished, the new joint values will be written to
<path>/godel/godel_calibration_config/yaml/godel_mutable_joint_states.yamlnew
. - These new values can be copied into the end effector description in the
godel_robot_config/urdf
directory.
-
Bring up the appropriate robot launch file. For example, given an ABB IRB2400:
roslaunch godel_surface_detection irb2400_blending.launch sim_robot:=false sim_sensor:=false robot_ip:=<ip>
. Replacing the<ip>
with the appropriate value. -
Bring up the camera:
roslaunch godel_surface_detection sia20d_sensor_setup.launch
. -
If the simple menu is not active, you can add it through a menu at the top of the interface:
Panels -> Add New Panel -> godel_simple_gui -> Blending Panel
. -
The rest should follow from the menus.