ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

jbeck28's profile - activity

2022-07-10 10:07:52 -0500 received badge  Famous Question (source)
2022-07-08 03:37:41 -0500 received badge  Famous Question (source)
2022-01-24 02:14:29 -0500 received badge  Famous Question (source)
2021-08-10 22:11:50 -0500 received badge  Notable Question (source)
2021-08-10 22:11:50 -0500 received badge  Famous Question (source)
2021-05-22 11:20:00 -0500 received badge  Famous Question (source)
2021-05-22 11:20:00 -0500 received badge  Notable Question (source)
2021-05-17 16:42:26 -0500 received badge  Notable Question (source)
2021-05-11 10:54:08 -0500 received badge  Notable Question (source)
2021-02-08 03:20:35 -0500 received badge  Famous Question (source)
2020-10-21 09:15:11 -0500 received badge  Popular Question (source)
2020-10-21 09:15:11 -0500 received badge  Notable Question (source)
2020-10-19 09:37:38 -0500 marked best answer Mounting Robot Arm From Ceiling

I'm toying with the idea of a ceiling mounted robot arm, and I'm curious what the best way is to change the link to the world frame to represent this most accurately in RViz? I've read something about a top-level xacro file, so I can make changes to a robot model without changing the underlying URDF in the fanuc package I'm using. Any info on best practices for this, or how to get the robot to appear upside down, with its mount somewhere other than the origin of the world frame would be helpful,

Thanks, Josh

2020-09-08 11:28:52 -0500 commented question Descartes finding discontinuous path

@Victor Wu I'm not well versed in how UR5Kinematics works, but KDLKinematics will not reliably give good paths. This is

2020-09-06 23:22:48 -0500 marked best answer Computing a Motion Plan in an Action Server ExecuteCallback

I'm trying to implement motion control through an RVIZ panel, and I've decided to set up an action server between the gui (client) and another program which acts as the server. I have successfully gotten action messages to move between client and server, however the execute callback on the server is supposed to implement motion planning thru moveit, using the movegroupinterface. However, the terminal in which RVIZ is opened, simply hangs up on "Received request to compute Cartesian path". I'm nearly certain this is a problem with spinning and/or threads. Any help is appreciated. Below is the code for the action server, where the problems seem to arise.

#include <ros/ros.h>
#include <actionlib/server/simple_action_server.h>
#include <optimax_runpath/runpathAction.h>
#include <rviz_loadtp_panel/toolpaths.h>
#include <optimax_utils/toolpath.h>
#include <optimax_utils/visualize.h>

#include <moveit/move_group_interface/move_group_interface.h>
#include <moveit/planning_scene_interface/planning_scene_interface.h>
#include <geometry_msgs/Pose.h>

class runpathAction {

protected: 
    ros::NodeHandle nh_; // nodehandle for server
    actionlib::SimpleActionServer<optimax_runpath::runpathAction> as_; // the action server itself
    std::string action_name_;
    // messages used to publish feedback and result.
    optimax_runpath::runpathFeedback feedback_;
    optimax_runpath::runpathResult   result_;

public:
    // constructor for runpathAction class
    runpathAction(std::string name) :
    as_(nh_, name, boost::bind(&runpathAction::executeCB, this, _1), false), action_name_(name)
    {
        as_.start();
        ROS_INFO("STARTED");
        group.reset(new moveit::planning_interface::MoveGroupInterface("manipulator"));
        UF.reserve(7);
        TF.reserve(7);
        nh_.getParam("robot_name",robotName); 
        if(robotName.compare("KB02") == 0){
            tableLoc = "package://deflectometry/meshes/Collide.dae";
            UF[0] = 610.396;
            UF[1] = 1.552;
            UF[2] = -229.515+330;
            UF[3] = .021;
            UF[4] = -.028;
            UF[5] = -89.972;
            UF[6] = 2;
            // FOLLOWING TOOL FRAME IS FOR THE MONITOR ON KB02
            TF[0] = 23.558;
            TF[1] = -.94;
            TF[2] = 515.264;
            TF[3] = 163.8;
            TF[4] = -2; 
            TF[5] = -94.3;
            TF[6] = 2;
        }
        else if(robotName.compare("KB04") == 0){
            tableLoc = "package://fanuc_lrmate200id_deflectometry_support/meshes/scene/kb04_Base_v3.dae";
            std::string panelLoc = "package://deflectometry/meshes/panels_only.dae";
            vis.attachMesh(Eigen::Affine3d::Identity(),"panels",panelLoc,rviz_visual_tools::colors::CLEAR);
            //partLoc = "package://optimax_utils/meshes/kb04/TestOptic.STL";//ogive section!!!
            partLoc = "package://optimax_utils/meshes/kb04/R200_Spinel_sphere.STL";//Spinel Sphere!!!

            /* // BIG WHEEL DROP SPINDLE, KB04
            TF[0] = -80.84;
            TF[1] = -.371;
            TF[2] = 217.852;
            TF[3] = 89.122;
            TF[4] = -.243; 
            TF[5] = 89.760;
            TF[6] = 2;
            */

            //nh.getParam("userframes/UF2",UF); // FOR OGIVE SECTION
            nh_.getParam("userframes/UF1",UF); // FOR SPINEL SPHERE
            std::cout << UF[0] << " , " << UF[1] << " , " << UF[2] << " , " << UF[3] << " , " << UF[4] << " , " << UF[5] << " , " << UF[6];

            UF[2]+=330;

            TF[0] = -80.7791;
            TF[1] = -.2378;
            TF[2] = 203.327;
            TF[3] = 89.122;
            TF[4] = -.243; 
            TF[5] = 89.760;
            TF[6] = 2;
            std::cout << "SELECTED TOOLFRAME" << TF[0] << std::endl;
            /* // user frame for spinel sphere
            UF[0] = 610.030;
            UF[1] = 1.327;
            //UF[2] = 575.462;
            UF[2] = -180.076+330;
            UF[3] = .169;
            UF[4] = -.244;
            UF[5] = -90;
            UF[6] = 2;
            */
        }
        else if(robotName.compare("KB05") == 0){
            //tableLoc = "package://abb_irb2400_deflectometry_support/meshes/scene/kb05_table.dae";
            tableLoc = "package://optimax_utils/meshes/KB05_PHIL.STL";
            partLoc  = "package ...
(more)
2020-08-13 19:00:23 -0500 received badge  Popular Question (source)
2020-08-12 04:33:57 -0500 received badge  Popular Question (source)
2020-05-17 15:22:29 -0500 asked a question Jerkiness When Executing MoveIt Plan After Trajectory Execution

Jerkiness When Executing MoveIt Plan After Trajectory Execution I have a program which executes long trajectories (on th

2020-04-27 07:20:42 -0500 marked best answer Tool0 URDF Modifications Break Path Planning

I've been trying to properly define my tool frame in ROS so that it matches the tool frame of the physical robot. Doing this requires changing the following lines of code in the URDF:

  <joint name="joint_6-tool0" type="fixed">
    <origin rpy="3.1415926535 -1.570796327 0" xyz="0 0 0"/>
    <!--<origin rpy="3.1415926535 -1.570796327 0" xyz="0 0 0"/> This was original, reinstating this allows MOVEIT to calculate paths....-->
    <parent link="link_6"/>
    <child link="tool0"/>
  </joint>

If I change the origin rpy in any way, it will no longer be able to find any valid states when I plan any orientation goal (even 1,0,0,0). Any help would be much appreciated.

Thanks, Josh

2020-04-24 16:00:41 -0500 asked a question KDL and Moveit Return Different Jacobians

KDL and Moveit Return Different Jacobians I'm trying to compute the Jacobian matrix (as fast as possible), and would lik

2020-04-19 07:34:59 -0500 received badge  Notable Question (source)
2020-04-19 07:34:59 -0500 received badge  Popular Question (source)
2020-03-31 14:15:15 -0500 received badge  Popular Question (source)
2020-03-13 08:29:27 -0500 received badge  Famous Question (source)
2020-03-09 14:40:54 -0500 asked a question ROS_ASSERT fails, ros parameter type invalid

ROS_ASSERT fails, ros parameter type invalid I've been trying to load yaml files to the parameter server and process the

2020-02-29 12:46:56 -0500 received badge  Popular Question (source)
2019-12-10 08:23:34 -0500 received badge  Notable Question (source)
2019-12-09 07:14:17 -0500 received badge  Famous Question (source)
2019-11-24 13:59:32 -0500 commented question ecl::Array compilation error

Ah, I suppose that makes sense. I believe I only added ecl::geometry to my cmakelists and package.xml, though the code i

2019-11-22 09:48:56 -0500 asked a question ecl::Array compilation error

ecl::Array compilation error I'm trying to make use of the ecl::geometry package, and in doing so must use ecl::array as

2019-11-07 00:09:18 -0500 received badge  Notable Question (source)
2019-10-29 11:21:43 -0500 asked a question Generate Velocity and Acceleration From Known TimeStamps

Generate Velocity and Acceleration From Known TimeStamps I am currently trying to use toolpaths that were generated offl

2019-10-22 15:55:33 -0500 asked a question ros_control individual joint trajectories for each controller?

ros_control individual joint trajectories for each controller? I'm using ros_control with moveit, and I'm not entirely c

2019-10-19 07:59:42 -0500 received badge  Famous Question (source)
2019-09-26 07:47:41 -0500 received badge  Popular Question (source)
2019-09-20 02:40:39 -0500 marked best answer Moveit Pose "unable to sample any valid states"

I've been trying to get a fanuc lrmate200id to work go to a pose goal in Rviz through the move_group_interface. If I set a simple position goal using move_group.setPositionTarget(x,y,z,"tool0"), moveit is able to plan a path. However, if I use either setOrientationTarget, or setPoseTarget, moveit is never able to figure out a path. The block of code I've borrowed/modified is below:

int main(int argc, char **argv)
{
  ros::init(argc, argv, "move_group_interface_tutorial");
  ros::NodeHandle node_handle;  
  ros::AsyncSpinner spinner(1);
  spinner.start();

static const std::string PLANNING_GROUP = "manipulator";
  moveit::planning_interface::MoveGroup move_group(PLANNING_GROUP);

 moveit::planning_interface::PlanningSceneInterface planning_scene_interface;  

const robot_state::JointModelGroup *joint_model_group = move_group.getCurrentState()->getJointModelGroup(PLANNING_GROUP);

namespace rvt = rviz_visual_tools;
moveit_visual_tools::MoveItVisualTools visual_tools("odom_combined");
visual_tools.deleteAllMarkers();


 ros::Publisher display_publisher = node_handle.advertise<moveit_msgs::DisplayTrajectory>("/move_group/display_planned_path", 1, true);
  moveit_msgs::DisplayTrajectory display_trajectory;

visual_tools.loadRemoteControl();


  ROS_INFO("Reference frame: %s", move_group.getPlanningFrame().c_str());
  ROS_INFO("Reference frame: %s", move_group.getEndEffectorLink().c_str());

move_group.setPlanningTime(60*5);
move_group.setGoalTolerance(.001);

const float theta = 10*3.1416/180.0;
double x1 = .5, x2 = 0, x3 = 0;
geometry_msgs::Pose target_pose1;
  target_pose1.orientation.w = 1;
  target_pose1.position.x = x1*sin(theta/2);
  target_pose1.position.y = x2*sin(theta/2);
  target_pose1.position.z = x3*sin(theta/2);

  //move_group.setPositionTarget(x1,x2,x3,"tool0");
  //move_group.setRPYTarget(0,0,0,"tool0");
  //move_group.setOrientationTarget(x1,x2,x3,1,"tool0");
  move_group.setPoseTarget(target_pose1,"tool0");
moveit::planning_interface::MoveGroup::Plan my_plan;
  bool success = move_group.plan(my_plan);

  ROS_INFO("Visualizing plan 1 (pose goal) %s",success?"":"FAILED");    
  /* Sleep to give Rviz time to visualize the plan. */
  sleep(5.0);


  ros::shutdown();  
  return 0;
}

any ideas on how to proceed would be most appreciated!

thanks, Josh

2019-09-19 13:16:33 -0500 received badge  Famous Question (source)
2019-09-18 13:02:52 -0500 commented question I believe I need multithreading help! Process has died [pid 31330, exit code -11...

I looked into that nodelet, however I couldn't figure out how to use it as it's undocumented. I understand it's an actio

2019-09-18 08:46:27 -0500 asked a question I believe I need multithreading help! Process has died [pid 31330, exit code -11...

I believe I need multithreading help! Process has died [pid 31330, exit code -11... I've been trying to make use of rosb

2019-07-15 04:12:02 -0500 received badge  Famous Question (source)
2019-06-18 16:12:57 -0500 received badge  Famous Question (source)
2019-06-18 16:12:57 -0500 received badge  Notable Question (source)
2019-06-10 01:16:19 -0500 received badge  Popular Question (source)
2019-06-10 01:16:19 -0500 received badge  Notable Question (source)
2019-06-04 13:43:13 -0500 received badge  Famous Question (source)