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

irgendeinGastname's profile - activity

2019-06-05 18:02:42 -0500 received badge  Taxonomist
2016-05-08 15:47:50 -0500 received badge  Famous Question (source)
2015-05-13 21:33:36 -0500 received badge  Famous Question (source)
2015-03-25 09:38:25 -0500 received badge  Notable Question (source)
2015-03-17 06:07:24 -0500 commented answer Sensor Camera on Gazebo: Could not find parameter robot_description on parameter server

did you solve the promlem? same problem here -kindly guide

2015-03-11 04:22:42 -0500 answered a question undefined reference to GoadlIDGenerator

I'm working with multiple nodes and I forgot in one of them CMakeLists.txt to add the find_package(catkin REQUIRED genmsg actionlib_msgs actionlib)

2015-03-06 10:15:53 -0500 asked a question undefined reference to GoadlIDGenerator

Hi, i wrote a simple action client and server and get the following error when compiling:

...Linking CXX executable /home/.../industrial_kuka_ros/devel/lib/cob_kuka_rsi/cob_kuka_rsi
 CMakeFiles/cob_kuka_rsi.dir/src/RSINode.cpp.o: In function `ActionServerBase':
/opt/ros/hydro/include/actionlib/server/action_server_base.h:167: undefined reference to       
`actionlib::GoalIDGenerator::GoalIDGenerator()' 
make[3]: Verlasse Verzeichnis '/home/...industrial_kuka_ros/build'
CMakeFiles/cob_kuka_rsi.dir/src/RSINode.cpp.o: In function `StatusTracker':
make[2]: Verlasse Verzeichnis '/home/.../industrial_kuka_ros/build'
/opt/ros/hydro/include/actionlib/server/status_tracker_imp.h:49: undefined reference to              `actionlib::GoalIDGenerator::GoalIDGenerator()'
make[1]: Verlasse Verzeichnis '/home/.../industrial_kuka_ros/build'
/opt/ros/hydro/include/actionlib/server/status_tracker_imp.h:58: undefined reference to `actionlib::GoalIDGenerator::generateID()'
/opt/ros/hydro/include/actionlib/server/status_tracker_imp.h:41: undefined reference to  `actionlib::GoalIDGenerator::GoalIDGenerator()'
collect2: ld gab 1 als Ende-Status zurück
make[3]: *** [/home/...cob_kuka_rsi] Fehler 1
make[2]: *** [cob_kuka_rsi/CMakeFiles/cob_kuka_rsi.dir/all] Fehler 2
make[1]: *** [all] Fehler 2
make: *** [all] Fehler 2

Following the ros actionlib package summary all I need to include is

#include <actionlib/server/simple_action_server.h>

on the server side... !?

I'm thankful for any leads :))

2015-03-06 09:35:26 -0500 asked a question actionlib multiple parameters of one goal

Hey I'm fairly new to actions and ros msgs in general. In the tutorial they set the goal "target_pose" with various parameters:

goal.target_pose.pose.(position.x...),

goal.target_pose.pose.(orientation)

First, I don't understand how you can set a parameter to the "goal.target_pose" parameter which I define in the MoveBaseAction.action (tutorial) file? I understand it is quite a basic question but I didn't know how to search for it.

Also I wondered how my action server handles a goal with more than one parameter (when does it succeed?)?

Kindly guide

2015-02-10 02:16:48 -0500 received badge  Enthusiast
2015-02-09 09:24:02 -0500 answered a question pass arguments with called service

Sorry for the long wait.

Where do I assign the request variable? The tutorial doesn't help me at all.

2014-11-24 07:23:39 -0500 marked best answer SIGINT handler not working

Hey I wrote a node i could easily end with my personalized SIGINT handler. The handler set all my velocities to zero before shutting down and called out a short message after doing so. Now I've slightly changed my node so I can receive keyboard commands and now the Handler doesn't react anymore when I call him Ctrl-C

I don't know where the fault is..

 #include "ros/ros.h"
 #include "std_msgs/String.h"

 #include "signal.h" //necessary for the Custom SIGINT handler

 #include "stdio.h" //necessary for the Custom SIGINT handler

 #include "sstream"

 #include "brics_actuator/JointVelocities.h"



  /**
   * A count of how many messages we have sent. This is used to create
   * a unique string for each message.
   */

int count = 0;
brics_actuator::JointVelocities msg;
ros::Publisher chatter_pub;

void mySigintHandler(int sig){  //hier: funktion wird aufgerufen beim beenden der node
    msg.velocities.resize(6);
    msg.velocities[0].value = 0; // A1 ... (rad/s)
    msg.velocities[1].value = 0;
    msg.velocities[2].value = 0;
    msg.velocities[3].value = 0;
    msg.velocities[4].value = 0;
    msg.velocities[5].value = 0; // A6
    std::cout << "all velocities set to zero";
    chatter_pub.publish(msg);
    ros::shutdown();
}

class talker
{
private:
    ros::NodeHandle n;
    ros::Publisher chatter_pub;

public:

    //!Ros node initialization
    talker(ros::NodeHandle n){
//      //n_ =n;
//      chatter_pub = n.advertise<brics_actuator::JointVelocities>("/arm_controller/command_vel", 10);
    }

//! Loop forever while sending drive commands based on keyboard input
  bool driveKeyboard()
  {
    std::cout << "Type a command and then press enter.  "
      "Use '+' to move forward, 'l' to turn left, "
      "'r' to turn right, '.' to exit.\n";


    char cmd[50];
    ros::NodeHandle n;
    signal(SIGINT, mySigintHandler);

    chatter_pub = n.advertise<brics_actuator::JointVelocities>("/arm_controller/command_vel", 10);

    while(n.ok()){

      std::cin.getline(cmd, 50);
      if(cmd[0]!='+' && cmd[0]!='l' && cmd[0]!='r' && cmd[0]!='.')
      {
        std::cout << "unknown command:" << cmd << "\n";
        continue;
      }

      //base_cmd.linear.x = base_cmd.linear.y = base_cmd.angular.z = 0;
      msg.velocities.resize(6);
      msg.velocities[0].value = 0; // A1 ... (rad/s)
      msg.velocities[1].value = 0;
      msg.velocities[2].value = 0;
      msg.velocities[3].value = 0;
      msg.velocities[4].value = 0;
      msg.velocities[5].value = 0; // A6


      //move forward
      if(cmd[0]=='+'){
      msg.velocities[0].value= 0.1; //postitive X-Richtung
      }

      /**
       * so einstellen, dass man mit buchstaben die achse auswählt
       * und dann immer die pfeiltasten hat um entweder positiv
       * (up) oder negativ (down) zu fahren
       */

      //TATI move backwards
      if(cmd[0]=='-'){
      msg.velocities[3].value= -0.1; //negative X-Richtung
    }

      //turn left
      else if(cmd[0]=='l'){
          msg.velocities[4].value= 0.1; //negative Y-Richtung usw usf.!
      }
      //turn right
      else if(cmd[0]=='r'){
          msg.velocities[1].value= 0.1; //positive Y-Richutng
      }
      //quit
      else if(cmd[0]=='.'){
        break;
      }

      //publish the assembled command
      chatter_pub.publish(msg);
    }
    return true;
  }



};//talker

int main(int argc, char **argv)
{

  ros::init(argc, argv, "talker");

  /**
   * NodeHandle is the main access point to communications with the ROS system.
   * The first NodeHandle constructed will fully initialize this node, and the last
   * NodeHandle destructed will close down the node.
   */
  ros::NodeHandle n;

  std::stringstream ss;

  //  TATI aus der tastatur main()
  talker driver(n ...
(more)
2014-11-24 07:23:39 -0500 received badge  Supporter (source)
2014-11-21 02:48:42 -0500 received badge  Popular Question (source)
2014-11-20 09:56:37 -0500 asked a question pass arguments with called service

Hey, in my code I call a service that calls another service

bool srvCallback_my_switcher(cob_srvs::Trigger::Request &req, cob_srvs::Trigger::Response &res)

{   
    if (client.call(srv))
    {
        srv.request;
        stuff..

    res.success.data = true;
    return true;
}

is there a possibility to call the service srv with an argument for example a bool variable? I would like the called service to differ whether variable is true or false.

Kindly guide :))

2014-10-02 11:56:05 -0500 received badge  Notable Question (source)
2014-09-03 15:07:18 -0500 received badge  Popular Question (source)
2014-09-03 07:45:43 -0500 commented answer SIGINT handler not working

Thank you very much!