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

AdamSorrel's profile - activity

2023-03-09 22:05:12 -0500 received badge  Nice Answer (source)
2020-10-23 15:47:14 -0500 received badge  Nice Question (source)
2018-08-02 05:51:04 -0500 received badge  Famous Question (source)
2018-07-07 06:10:54 -0500 commented question Moveit gdb debugging

Are you sure you're using ROS2? Is there MoveIt available for ROS2 already? It's just to make sure. I am working with RO

2018-07-07 06:07:15 -0500 answered a question Moveit gdb debugging

Unfortunately I don't have a solution, but I'm dealing with the same issue. It is really confusing and there seems to be

2018-06-30 08:32:08 -0500 commented question ZED camera not opening .... (roslaunch command)

Can you check whether you have libcuda.so.1 in your /opt/ros/<ROS_DISTRO e.g. kinetic>/lib?

2018-06-28 15:24:28 -0500 received badge  Famous Question (source)
2018-06-21 06:33:00 -0500 commented answer Connecting custom IK with MoveIt!

Thanks so much for your help! That's just the kind of pointer I needed.

2018-06-21 06:30:37 -0500 marked best answer Connecting custom IK with MoveIt!

Hi everybody,

I am recently struggling with implementation of IK for my robot arm. It's a 4DOF uArm robot (link here), with deterministic IK solutions. I'm working with ROS Kinetic and MoveIt. I have generated an IkFast plugin, but I'm having issues implementing it, because the last joint of my robot arm is not actuated (check the link attached). This seems to confuse MoveIt! and I have not been able to find a solution. It was already brought up in this question. I was researching the option of using a mimic joint, but it doesn't seem to resolve the issue plus it would have to mimic two joints at the same time (joint4 = 0.15707 + joint1 - joint2).

As a matter of fact, I don't actually need such a sophisticated system as IkFast, since the joint values are deterministic for each location. I actually have the IK equations and a C++ implementation. I could use this as an IK, but I don't know how to connect it to MoveIt. I was checking the old tutorial for creating a custom constrained_ik, but it seems to no longer be relevant.

I am after any hint as for where to look. If you have any idea what is the nature of a connection between the IK solver package and MoveIt, what kind of connection and/or message is being used between the two or where I can access such information. I have tried checking a IkFast solution and reverse engineering it, but it's a bit too complicated for my understanding. Can't find which part is actually receiving and sending the solution.

2018-06-21 04:27:06 -0500 received badge  Notable Question (source)
2018-06-20 04:13:41 -0500 received badge  Popular Question (source)
2018-06-20 02:12:42 -0500 received badge  Student (source)
2018-06-07 06:52:53 -0500 received badge  Notable Question (source)
2018-06-02 13:27:40 -0500 asked a question Connecting custom IK with MoveIt!

Connecting custom IK with MoveIt! Hi everybody, I am recently struggling with implementation of IK for my robot arm. It

2018-05-18 03:40:18 -0500 commented answer ros does not show any debug messages

Did you try to check settings (the gray cogwheel in the top left corner). In there you can set logging level for each no

2018-05-18 03:36:41 -0500 commented answer ros does not show any debug messages

Did you try to check settings (somewhere in the bottom left corner probably) ? It's a white star in a blue field probabl

2018-05-16 00:02:20 -0500 edited answer ros does not show any debug messages

You could try to set a logging level for your package to debug by adding the following configuration file (don't forget

2018-05-16 00:02:20 -0500 received badge  Editor (source)
2018-05-16 00:00:21 -0500 edited answer ros does not show any debug messages

You could try to set a logging level for all your environment to debug by adding the following configuration file: # Ov

2018-05-15 23:35:22 -0500 answered a question ros does not show any debug messages

You could try to set a logging level for all your environment to debug by adding the following configuration file: # Ov

2018-05-14 09:18:00 -0500 received badge  Enthusiast
2018-04-09 21:07:02 -0500 received badge  Popular Question (source)
2018-04-09 14:08:38 -0500 marked best answer (Python) Simple Action Server - register_goal_callback executes unexpectedly

I'm trying to write a simple action server using the goal callback method as described in the tutorial in C++ over here, however I'm trying to rewrite it in Python. If it works, I would definitely suggest it as an addition to the actionlib tutorials.

I have put together more or less the whole thing, but clearly I'm missing something essential around the registration of the callbacks. As soon as I call the _as.register_goal_callback(self.goalCB()) the program will attempt to execute the callback immediately and then complain that it doesn't have a goal. The same happens for the _as.register_preempt_callback(self.preemptCB()) which preempts itself immediately. All this happens before the server is even started.

I suppose this is not meant to be happening, but I'm not sure what am I doing wrong.

[ERROR] [1523131943.200392]: Attempting to accept the next goal when a new goal is not available

[INFO] [1523131943.200585]: /averaging : Preempted

[ERROR] [1523131943.200728]: Attempt to get a goal id on an uninitialized ServerGoalHandle

[ERROR] [1523131943.200860]: Attempt to get a goal id on an uninitialized ServerGoalHandle

[ERROR] [1523131943.200988]: Attempt to set status on an uninitialized ServerGoalHandle

 #! /usr/bin/env python

import rospy
import actionlib
import actionlib_tutorials.msg
from std_msgs.msg import Float32
from math import pow, sqrt, fabs

class AveragingAction(object):
    # create messages that are used to publish feedback/result
    _feedback = actionlib_tutorials.msg.AveragingActionFeedback()
    _result = actionlib_tutorials.msg.AveragingActionResult()

    def __init__(self, name):
        self._action_name = name
        self._as = actionlib.SimpleActionServer(name=self._action_name, ActionSpec=actionlib_tutorials.msg.AveragingAction, auto_start=False)

        self._as.register_goal_callback(self.goalCB())
        self._as.register_preempt_callback(self.preemptCB())

        self._as.start()
        rospy.loginfo("Starting an ActionServer")

        self._sub = rospy.Subscriber("/random_number", Float32, callback=self.analysisCB)

        self._msg = Float32()

    def goalCB(self):
        self._data_count = 0
        self._sum = 0
        self._sum_sq = 0

        self._goal = self._as.accept_new_goal()

    def preemptCB(self):
        rospy.loginfo("{} : Preempted".format(self._action_name))
        self._as.set_preempted()
    ...

(there is more code, but I don't think that's relevant anymore)

I have gone through the simple_action_callback.py to figure out why it is getting called, but I'm not sure I get what's going on because I'm probably missing out something with the goal registration. All that's written there is this :

## @brief Allows users to register a callback to be invoked when a new goal is available
## @param cb The callback to be invoked
def register_goal_callback(self,cb):
    if self.execute_callback:
        rospy.logwarn("Cannot call SimpleActionServer.register_goal_callback() because an executeCallback exists. Not going to register it.");
    else:
        self.goal_callback = cb;

Which would make me think that it would stay registered and activate only when a new goal arrives. But it activates immediately. Moreover a condition if self._as.is_new_goal_available(): comes out False when I place it inside the goalCB() which really confuses me.

I hope this is not too verbose. I can edit it down if needed.

FYI I'm using

  • ROS Kinetic distribution
  • Ubuntu 16.04 Xenial
  • actionlib 1.11.13
  • rospy 1.12.13
2018-04-09 14:08:38 -0500 received badge  Scholar (source)
2018-04-09 14:08:37 -0500 commented answer (Python) Simple Action Server - register_goal_callback executes unexpectedly

Yes! That's it. Thanks so much! I feel so stupid now, but this is genuinely a great help.

2018-04-08 16:09:58 -0500 asked a question (Python) Simple Action Server - register_goal_callback executes unexpectedly

(Python) Simple Action Server - register_goal_callback executes unexpectedly I'm trying to write a simple action server

2018-04-05 09:15:39 -0500 commented answer compile error for actionlib fibonacciServer.cpp tutorial

Update from the future :-). The empty class constructor is actually supposed to be a class desctructor with the tilde so

2018-04-05 09:14:59 -0500 commented answer compile error for actionlib fibonacciServer.cpp tutorial

Update from the future :-). The empty class constructor is actually supposed to be a class desctructor and the tilde cle

2018-04-05 09:11:55 -0500 received badge  Supporter (source)
2018-03-08 05:50:05 -0500 commented answer SolidWorks->urdf exporter strange behavior when click "Preview and Export..."

If you need more detailed description, leave me a message on the blog and I'll put up some pictures there as well.

2018-03-08 05:48:00 -0500 commented answer SolidWorks->urdf exporter strange behavior when click "Preview and Export..."

After you have generated the joint origins, they will appear in the left widget where you have all the other objects. So

2018-03-04 06:49:12 -0500 received badge  Necromancer (source)
2018-03-04 06:49:12 -0500 received badge  Teacher (source)
2017-08-21 17:57:45 -0500 commented answer SolidWorks->urdf exporter strange behavior when click "Preview and Export..."

Unfortunately the same problem happened to me even with the newest version (as of August 2017). It's already been raised

2017-08-21 17:57:45 -0500 answered a question SolidWorks->urdf exporter strange behavior when click "Preview and Export..."

Despite being an old thread, this issue seems to be reappearing. I've spent quite a lot of time researching an answer, s