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

Hunk's profile - activity

2023-03-21 19:47:43 -0500 received badge  Famous Question (source)
2022-02-12 14:38:46 -0500 received badge  Famous Question (source)
2020-07-08 16:04:47 -0500 received badge  Popular Question (source)
2018-12-03 04:44:52 -0500 received badge  Famous Question (source)
2018-08-22 12:18:19 -0500 received badge  Notable Question (source)
2018-07-21 12:58:14 -0500 received badge  Famous Question (source)
2017-10-09 23:24:49 -0500 received badge  Famous Question (source)
2017-05-25 05:20:45 -0500 received badge  Notable Question (source)
2017-05-24 05:15:08 -0500 received badge  Popular Question (source)
2017-05-24 03:44:43 -0500 commented question ROS over network is slow

we have really small messages like pose. And how i can determe which ros transport I'm using? I use ros kinetic with def

2017-05-24 02:13:32 -0500 asked a question ROS over network is slow

ROS over network is slow Hello, we are using ROS over network with fast topics (100Hz) We have the problem that we get

2017-03-13 08:37:08 -0500 marked best answer ros debug to runtime

Hello,

i am looking for a good way to debug my program. At the moment i only use screen output because eclipse debug mode is not working.

My problem is that i am using a ros node and this is calling my c++ library. Not i want to debug my library when ros is running.

How i can do this? When i am using eclipse he and i say debug my node he give me an error : No source available for "main() at 0x4277e8"

then i tested the gdb launch-prefix="gdb -ex --args"

but then i cant type anything inside the shell, because i have a few rosoutputs.

Can anyone please help me and explain me what is the best way for debuging this?

thank you for your help

2017-01-20 01:45:28 -0500 received badge  Popular Question (source)
2016-12-19 08:47:15 -0500 received badge  Famous Question (source)
2016-10-12 13:19:43 -0500 received badge  Notable Question (source)
2016-10-11 16:08:44 -0500 received badge  Popular Question (source)
2016-08-08 01:45:09 -0500 received badge  Popular Question (source)
2016-08-05 04:55:46 -0500 asked a question C++ 11 kinetic message conversion

Hello,

i have an action message witch is defined

test.action

Goal goal
---
...
--- 
...

Goal.msg

ToDo[] todos

ToDo.msg

string textToDo

Callback for goal

void TestNode::Callback(const msgs::TestGoalConstPtr &ptr)
{
    for(const auto& todo: ptr->todos)
    {
        DoToDo(todo);
    }
}

DoToDo

void DoToDo(const msgs::ToDo& todo)
{
//do something
}

error: no matching function for call to ‘DoToDo(const msgs::ToDo_<std::allocator<void> >&,)’ DoToDo(todo);

note: candidate: void DoToDo(const msgs::ToDo&) void DoToDo(const msgs::ToDo& zone) const;

no known conversion for argument 1 from ‘const msgs::ToDo_<std::allocator<void> >’ to ‘const ToDo& {aka const msgs::ToDo_std::allocator<void> >&}

I don't understand why the type converting isn't working ? msgs::ToDO is just the typedef or?

How i can convert msgs::ToDo_ to msgs::Todo ?

thanks for your help

2016-07-18 03:48:45 -0500 asked a question kinetic smach_viewer or alternatives

Hello,

I tried the tutorial with smach and saw that the smach_viewer isn't supported on ros kinetic.

Is smach still used in some projects or is there another solution for state machines in ROS kinetic ?

thanks for your help

2016-06-21 09:50:55 -0500 received badge  Famous Question (source)
2016-05-13 21:39:04 -0500 received badge  Notable Question (source)
2016-05-13 07:57:11 -0500 received badge  Popular Question (source)
2016-05-13 04:25:32 -0500 asked a question Kinetic release date

Hello,

is there a fixed release date for kinetic ? I just found may but I didn't find any information about the current status

thanks for the information

2016-04-27 01:57:48 -0500 received badge  Famous Question (source)
2016-04-20 18:15:49 -0500 received badge  Nice Question (source)
2016-04-20 12:08:03 -0500 received badge  Notable Question (source)
2016-04-14 04:10:46 -0500 asked a question Actionclient Wait best practise

Hello,

I'm using the SimpleActionClient for my commanding for example navigation goals, which works great at the moment. The next step is to cancel the current goal if I get some topic or user input. My question for that is what is the best practise for this approach?

I also have to wait till the goal is finished

Solution 1 :

if(actionClient.isServerConnected())
{
    actionClient.sendGoalAndWait(goal); // possible with wake up time and check some variable
}

the action blocks until the goal is finished. It is possible to call in a seperate thread :

actionClient.cancelAllGoals() // thread safe?

Solution 2 :

if(actionClient.isServerConnected())
{
    actionClient.sendGoal(goal,FinishedCB); // possible with wake up time and check some variable
    conditionVariableNotification.wait(...) // conditionVariable can be notified by user topic or finished topic of Action
}

Solution 3: ???

What is your favourite approach to interrupt a goal?

2016-04-05 06:19:44 -0500 received badge  Popular Question (source)
2016-03-29 07:51:01 -0500 asked a question IDE don't find header file

Hello,

I'm using qtcreator 3.4.2 with ROS groovy

I have a problem with finding a few header files inside my IDE. But building runs well.

I tried the same setup without catkin

#include <iostream>
#include "json/json.h"

int main()
{
  std::cout << "hello include \n";
  return 0;
}

CMakeLists.txt

INCLUDE_DIRECTORIES(${CMAKE_CURRENT_LIST_DIR}/common/third_party)
add_executable(main main.cpp)

If I integrate this the IDE find my json.h

If I integrate the same in my package, the IDE tells me that the header is not found. But i can build without Problems. Anyone has an idea why QTcreator don't find this header if I use catkin?

2016-02-29 07:38:47 -0500 asked a question rqt blocking ServiceClient

Hello,

I'm using ros groovy and Qt4

I wrote a rqt cpp plugin with some basic functions. After that i wanted to add a service client call after a QPushbutton clicked Signal. The service call need a few seconds. The problem is that the gui is freezing on this time.

void ClickedCallbackSlot()
{
         ros::ServiceClient client =  getMTNodeHandle().serviceClient<somemsg>("/service");
or      ros::ServiceClient client =  getNodeHandle().serviceClient<somemsg>("/service");

        client.call(somemsg)
}

I tried different approaches :

connect(m_interface,SIGNAL(pb_signal()),this,SLOT(ClickedCallbackSlot()));

or

connect(m_interface,SIGNAL(pb_signal()),this,SLOT(ClickedCallbackSlot()),Qt::QueuedConnection);

But still the gui freezes.

I understand the Qt Signal/Slots, that when i call some blocking Function inside the slot the GUI should not freeze.

What is the best approach with rqt cpp to do a service_client call?

Thanks for your help

2016-02-09 21:21:31 -0500 marked best answer Best implementation of robot state control

Hello, i have a simple robot which different states:

  • idle
  • do something
  • do something else
  • ...

I wanted to change my states with some button inputs and every state has it own node.

I thought about a state machine with smach, but smach isn't under developing at the moment. Or can I use actionlib for that? I also found the package decision_making

What is the best approach to implement this in your experience? Or do you use something without ROS?

Thanks for your help

2016-02-09 09:55:58 -0500 asked a question 2D line map package

Hello,

Does ros have any package which supports 2D line or polygon maps? I just found the map server which supports OccupancyGrid maps.

regards

Hunk

2016-02-02 03:56:58 -0500 received badge  Famous Question (source)
2016-01-12 03:48:57 -0500 received badge  Famous Question (source)
2015-11-26 03:20:26 -0500 marked best answer kill python listener which opened matplotlib figure

Hello,

i wrote a visualization with matplotlib in python.

import matplotlib.pyplot as plt


def callback(data):
do something
plt.show()

def listener():
rospy.Subscriber('topic', data, callback)
rospy.spin()

 Main function.
if __name__ == '__main__':
# Initialize the node and name it.

   rospy.init_node('pylistener', anonymous = True)
   # Go to the main loop.
   listener()

i want to print my figure. The problem is when he get a message he stop till i close the figure. That is fine. But when i want to close the program with ctrl+c the program crash and i have to close the terminal.

It is possible to kill the node and the python program after i close the figure?

Or what i can do against this crashing? It is really annoying that i have to close the terminal and restart it.

thank you for your help and sry i am new on python

2015-11-06 16:09:23 -0500 received badge  Famous Question (source)
2015-05-11 03:53:57 -0500 marked best answer Catkin and eclipse

Hello,

i am using ROS Groovy on Ubuntu 12.04.

I want edit my packages in eclipse. On Fuerte i runed make eclipse-project and import this result as eclipse project.

At groovy i can include my catkin workspace as project. This is working.

But now i have a problems with my includes.

#include "ros/ros.h"

warning: Unresolved inclusion.

Or

ROS_INFO("text") error: Type 'std_msgs::String::ConstPtr' could not be resolved

and i couldnt see with crtl + mouse the functions.

What i do wrong ? what i must edit in eclipse that this is working?

thank you for your help

2015-04-10 13:43:01 -0500 received badge  Notable Question (source)
2015-03-27 09:48:13 -0500 received badge  Notable Question (source)
2015-03-19 04:20:09 -0500 commented answer Linking with boost 1.57

That is only an example cmake i know it will not run like this :) I dont have to link my ros client with boost. My Ros node is only for communication and my application implements the algorithm( needs boost 1.57). Is that possible? Then i dont have to link boost with my node or?

2015-03-18 03:52:07 -0500 received badge  Popular Question (source)
2015-03-18 02:45:48 -0500 edited question Linking with boost 1.57

Hello,

i am using groovy and ubuntu 12.04.

I linked my node with boost 1.55 at the moment, that works fine. Now I have to update to boost 1.57.

CMakeLists.txt

set(Boost_NO_SYSTEM_PATHS TRUE)
set(BOOST_ROOT /opt/boost/boost_1_57)
include_directories(SYSTEM ${Boost_INCLUDE_DIRS}
find_package(Boost 1.57 REQUIRED COMPONENTS thread filesystem log system)

add_executable(test_node src/test.cpp)
 if(TARGET test_node)
 target_link_libraries(test_node
  ${catkin_LIBRARIES}
  ${Boost_LIBRARIES}
 )

The problem is that i get no callback if I send a message, with boost 1.55 it worked well. Does someone have some experience with boost 1.57 and ROS?

Or it is possible to build my application as library with boost 1.57 and use it with ROS?


UPDATE

My second possibility is to split my build process in two CMakelists

CMakelists1.txt (with ROS)

add_subdirectory(test)
add_executable(test_node src/test.cpp)
target_link_libraries(test_node
  ${catkin_LIBRARIES}
  testApplication
 )

CMakelists2.txt (inside test directory , without cmake and ROS)

    set(Boost_NO_SYSTEM_PATHS TRUE)
    set(BOOST_ROOT /opt/boost/boost_1_57)
    include_directories(SYSTEM ${Boost_INCLUDE_DIRS}
    find_package(Boost 1.57 REQUIRED COMPONENTS thread filesystem log system)

    add_library(testApplication STATIC testApplication.cpp)
     if(TARGET testApplication)
     target_link_libraries(testApplication
      ${Boost_LIBRARIES}
     )

Something like this, is this possible?

What is your favourite linking there ? Static or SHARED?