Skip to content

ROS-Industrial Focused Technical Project: Robotic Blending

Notifications You must be signed in to change notification settings

sam-xl/godel

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Godel

Application for demonstrating surface blending with ROS.

Godel: Austrian logician and mathematician http://en.wikipedia.org/wiki/Kurt_G%C3%B6del

Installation

  • Install wstool in order manage the repos inside the workspace

    sudo apt install python-wstool
    
  • Cd into the 'src' directory of your catkin workspace and run the following:

    wstool init . 
    wstool merge https://github.com/sam-xl/godel/raw/melodic-milestone4/godel.rosinstall
    wstool update
    rosdep install --from-paths . --ignore-src
    

    On Ubuntu 18.04: Install flann 1.9.1+dfsg-7 (or higher) manually from https://launchpad.net/ubuntu/+source/flann to resolve LZ4 typedef conflicts.

    To use the SAM|XL godel cell, clone :

    • Clone the samxl_abb_cell package in your workspace.
    • Clone the noether package package in your workspace. (To use, first install the dependencies of noether, which include VTK 8.2 and PCL 1.9.1. Installation steps are explained on the Noether page.)
    • Clone the godel_noether package in your workspace.
  • Finally, to build:

    catkin build
    

Applications

  • Run blending demo in full simulation mode (simulated robot and sensor)

    roslaunch godel_irb2400_support irb2400_blending.launch
    

    Run the simulation with real point cloud data:

    roslaunch godel_irb2400_support irb2400_blending.launch real_pcd:=true pcd_location:=/path/to/file.pcd
    

    Download pcd files and unzip in your HOME directory: https://s3-us-west-2.amazonaws.com/godelscanfiles/godel_point_cloud_data.zip

  • Run blending demo in robot simulation mode (simulated robot and real sensor data)

    roslaunch godel_irb2400_support irb2400_blending.launch sim_sensor:=false
    
  • Run blending demo in sensor simulation mode (real robot and simulated sensor)

    roslaunch godel_irb2400_support irb2400_blending.launch sim_robot:=false robot_ip:=[robot ip]
    
  • Run blending demo in full real mode

    roslaunch godel_irb2400_support irb2400_blending.launch sim_sensor:=false 
    sim_robot:=false robot_ip:=[robot ip]
    

Qt Glyph Loading Segfault (Kinetic)

  • Rviz on Kinetic is prone to a segmentation fault caused by internal functions in the Qt library. Our current work-around is to set the following environment variable:
    export QT_NO_FT_CACHE=1
    

Planning and Meshing Plugins

  • The meshing_plugins_base and path_planning_plugins_base packages define the interfaces that Godel uses to both perform surface reconstruction and tool path generation based on those reconstructions.

  • The current default mesher works well for point clouds regions that can be accurately modeled by a convex polygon. The default blending tool planner only works well for planar meshes.

  • We are working on an experimental library for more arbitrary surface reconstruction and tool path planning in the noether package.

    • To use, first install the dependencies of noether, which include VTK 7.1 and PCL 1.8.
    • Clone the noether package into your workspace.
    • Clone the godel_noether package in your workspace.
    • In your godel robot support package, e.g. godel_irb2400_support, modify the config/plugins.yaml file to read:
      meshing_plugin_name: "godel_noether::NoetherMesher"
      blend_tool_planning_plugin_name: "godel_noether::NoetherPathPlanner"
    

Keyence Laser Scanner

  • To run the keyence laser scanner driver (replace KEYENCE_CONTROLLER_IP with the ip-address of your sensor):

    rosrun keyence_experimental keyence_driver_node _controller_ip:=KEYENCE_CONTROLLER_IP _frame_id:=keyence_sensor_optical_frame
    
    • If you have issues connecting, ensure that the IP address matches that of the controller and ensure that your computer is on the same subnet.
  • To acquire laser scans and score them, run the following (replace VOXEL_SIZE_IN_METERS with your desired voxel size):

    roslaunch godel_scan_analysis scan_analysis.launch world_frame:=world_frame scan_frame:=keyence_sensor_optical_frame voxel_leaf_size:=VOXEL_SIZE_IN_METERS
    

About

ROS-Industrial Focused Technical Project: Robotic Blending

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 97.2%
  • CMake 2.8%