GithubHelp home page GithubHelp logo

sam-xl / godel Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ros-industrial-attic/godel

0.0 1.0 0.0 49.23 MB

ROS-Industrial Focused Technical Project: Robotic Blending

CMake 2.84% C++ 97.09% AMPL 0.03% Shell 0.04%

godel's Introduction

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
    

godel's People

Contributors

austinderic avatar dave992 avatar dpsolomon avatar gavanderhoorn avatar geoffreychiou avatar hsd-dev avatar jrgnicho avatar shaun-edwards avatar victorlamoine avatar

Watchers

 avatar

godel's Issues

Missing dependencies

Currently, there are two missing dependencies causing build errors on a fresh ROS installation:
ros-melodic-moveit
ros-melodic-pcl-ros

I will add a fix for this next time I work on Scan and Plan (somewhere this or next week).

descartes_trajectory logError

Errors     << descartes_trajectory:make /home/riktonnaer/workspaces/scan_and_plan_ws/logs/descartes_trajectory/build.make.000.log                                                                          
In file included from /home/riktonnaer/workspaces/scan_and_plan_ws/src/descartes/descartes_core/include/descartes_core/robot_model.h:24:0,
                 from /home/riktonnaer/workspaces/scan_and_plan_ws/src/descartes/descartes_core/include/descartes_core/trajectory_pt.h:33,
                 from /home/riktonnaer/workspaces/scan_and_plan_ws/src/descartes/descartes_trajectory/include/descartes_trajectory/trajectory.h:29,
                 from /home/riktonnaer/workspaces/scan_and_plan_ws/src/descartes/descartes_trajectory/src/trajectory.cpp:25:
/home/riktonnaer/workspaces/scan_and_plan_ws/src/descartes/descartes_core/include/descartes_core/utils.h: In function ‘Eigen::Affine3d descartes_core::utils::toFrame(double, double, double, double, double, double, int)’:
/home/riktonnaer/workspaces/scan_and_plan_ws/src/descartes/descartes_core/include/descartes_core/utils.h:83:63: error: ‘logError’ was not declared in this scope
       logError("Invalid euler convention entry %i", convention);
                                                               ^
In file included from /home/riktonnaer/workspaces/scan_and_plan_ws/src/descartes/descartes_core/include/descartes_core/robot_model.h:24:0,
                 from /home/riktonnaer/workspaces/scan_and_plan_ws/src/descartes/descartes_core/include/descartes_core/trajectory_pt.h:33,
                 from /home/riktonnaer/workspaces/scan_and_plan_ws/src/descartes/descartes_trajectory/include/descartes_trajectory/cart_trajectory_pt.h:29,
                 from /home/riktonnaer/workspaces/scan_and_plan_ws/src/descartes/descartes_trajectory/include/descartes_trajectory/axial_symmetric_pt.h:22,
                 from /home/riktonnaer/workspaces/scan_and_plan_ws/src/descartes/descartes_trajectory/src/axial_symmetric_pt.cpp:1:
/home/riktonnaer/workspaces/scan_and_plan_ws/src/descartes/descartes_core/include/descartes_core/utils.h: In function ‘Eigen::Affine3d descartes_core::utils::toFrame(double, double, double, double, double, double, int)’:
/home/riktonnaer/workspaces/scan_and_plan_ws/src/descartes/descartes_core/include/descartes_core/utils.h:83:63: error: ‘logError’ was not declared in this scope
       logError("Invalid euler convention entry %i", convention);
                                                               ^
make[2]: *** [CMakeFiles/descartes_trajectory.dir/src/trajectory.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [CMakeFiles/descartes_trajectory.dir/src/axial_symmetric_pt.cpp.o] Error 1
In file included from /home/riktonnaer/workspaces/scan_and_plan_ws/src/descartes/descartes_core/include/descartes_core/robot_model.h:24:0,
                 from /home/riktonnaer/workspaces/scan_and_plan_ws/src/descartes/descartes_trajectory/test/descartes_trajectory_test/cartesian_robot.h:22,
                 from /home/riktonnaer/workspaces/scan_and_plan_ws/src/descartes/descartes_trajectory/test/cartesian_robot.cpp:19:
/home/riktonnaer/workspaces/scan_and_plan_ws/src/descartes/descartes_core/include/descartes_core/utils.h: In function ‘Eigen::Affine3d descartes_core::utils::toFrame(double, double, double, double, double, double, int)’:
/home/riktonnaer/workspaces/scan_and_plan_ws/src/descartes/descartes_core/include/descartes_core/utils.h:83:63: error: ‘logError’ was not declared in this scope
       logError("Invalid euler convention entry %i", convention);
                                                               ^
make[2]: *** [CMakeFiles/descartes_trajectory.dir/test/cartesian_robot.cpp.o] Error 1
make[1]: *** [CMakeFiles/descartes_trajectory.dir/all] Error 2
make: *** [all] Error 2
cd /home/riktonnaer/workspaces/scan_and_plan_ws/build/descartes_trajectory; catkin build --get-env descartes_trajectory | catkin env -si  /usr/bin/make --jobserver-fds=6,7 -j; cd -
...........................................................................................................................................................................................................

Using the kinetic-devel branch. This seems to be fixed in: this issue

Is there a reason why this fix is not carried over to this fork?

curl CMake Warning

After catkin build:

___________________________________________________________________________________________________________________________________________________________________________________________________________
Warnings   << abb_file_suite:cmake /home/riktonnaer/workspaces/scan_and_plan_ws/logs/abb_file_suite/build.cmake.000.log                                                                                    
CMake Warning at /opt/ros/kinetic/share/catkin/cmake/catkin_package.cmake:166 (message):
  catkin_package() DEPENDS on 'curl' but neither 'curl_INCLUDE_DIRS' nor
  'curl_LIBRARIES' is defined.
Call Stack (most recent call first):
  /opt/ros/kinetic/share/catkin/cmake/catkin_package.cmake:102 (_catkin_package)
  CMakeLists.txt:20 (catkin_package)


cd /home/riktonnaer/workspaces/scan_and_plan_ws/build/abb_file_suite; catkin build --get-env abb_file_suite | catkin env -si  /usr/bin/cmake /home/riktonnaer/workspaces/scan_and_plan_ws/src/godel/godel_robots/abb/abb_file_suite --no-warn-unused-cli -DCATKIN_DEVEL_PREFIX=/home/riktonnaer/workspaces/scan_and_plan_ws/devel/.private/abb_file_suite -DCMAKE_INSTALL_PREFIX=/home/riktonnaer/workspaces/scan_and_plan_ws/install; cd -
...........................................................................................................................................................................................................

It is a warning and not an error, so I don't know how critical it is. If it isn't, then this issue can be closed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.