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 |