Ask Your Question

kritchie's profile - activity

2016-12-13 06:47:49 -0600 received badge  Famous Question (source)
2016-08-19 07:24:15 -0600 received badge  Student (source)
2016-08-19 05:13:49 -0600 received badge  Famous Question (source)
2016-04-18 04:59:37 -0600 received badge  Notable Question (source)
2016-04-18 04:59:37 -0600 received badge  Popular Question (source)
2015-09-21 22:45:03 -0600 received badge  Popular Question (source)
2015-09-21 22:45:03 -0600 received badge  Notable Question (source)
2015-09-12 15:16:45 -0600 asked a question Empty transforms using Robot State Publisher

Hi guys,

I'm trying to broadcast moving joint states using my robot state publisher. I echoed the topic on which I broadcast my state, all I get is :

transforms: []
---

Here's my code section responsible for broadcasting the state :

auto transforms = std::map<std::string, double>();
        while (publish) {
            transforms.insert(std::make_pair("base_link", controller->getJointCurrentAngle(
                    Controller::JOINT_ID(Controller::JOINT::BASE_JOINT_ID))));
            transforms.insert(std::make_pair("joint_1", controller->getJointCurrentAngle(
                    Controller::JOINT_ID(Controller::JOINT::SHOULDER_JOINT_ID))));
            transforms.insert(std::make_pair("joint_2", controller->getJointCurrentAngle(
                    Controller::JOINT_ID(Controller::JOINT::ELBOW_JOINT_ID))));
            transforms.insert(std::make_pair("joint_3", controller->getJointCurrentAngle(
                    Controller::JOINT_ID(Controller::JOINT::WRIST_JOINT_ID))));
            publisher.get()->publishTransforms(transforms,ros::Time::now(),"");
            transforms.clear();
            usleep(1000);
        }

When I use publishFixedTransform("") instead of publishTransforms, I get my transforms correctly published to the topic, but I cannot move them since I use a KDL tree from an URDF file to create my robot model.

Do you guys have any tip of what I'm doing wrong ?

Thanks !

2015-08-05 15:01:11 -0600 commented question How to save rViz joint position in bag file

How would you "connect" the frame to the joint ? Is there a way to do it using rospy or roscpp ? I also though about adding this feature into a local rViz version on my machine but recompiling the whole things seems a bit overkill for what I want to do...

2015-08-05 13:20:02 -0600 commented question How to save rViz joint position in bag file

What I'm seeing now is that rViz doesn't publish the joint_4 position to a topic and doesn't offer a service to get said values. So I don't think I can use rosbag and/or rqt_plot... but if there's another way to use them I don't know it.

2015-08-05 12:23:22 -0600 asked a question How to save rViz joint position in bag file

Hi guys,

I'm trying to calculate by hand the kinematics of a simple 3-DOF manipulator and I want to automate my kinematics testing by using rViz with a transform publisher.

Here's a screenshot of my rViz workspace

C:\fakepath\Screenshot from 2015-08-05 13:19:58.png

I just want to log the X,Y,Z position of the joint_4 (see in the left panel in the screenshot)

Is it possible ?

Thanks !

2015-07-09 09:43:34 -0600 received badge  Famous Question (source)
2015-06-05 09:52:38 -0600 received badge  Famous Question (source)
2014-10-27 14:05:57 -0600 received badge  Notable Question (source)
2014-10-27 13:16:07 -0600 commented answer C++ undefined reference on constructor

I will look into that ! Thank you very much !

2014-10-27 13:15:07 -0600 commented answer C++ undefined reference on constructor

It worked ! Thx !

2014-10-27 13:14:48 -0600 received badge  Scholar (source)
2014-10-27 07:26:54 -0600 received badge  Popular Question (source)
2014-10-26 21:12:23 -0600 asked a question C++ undefined reference on constructor

I'm trying to catkin_make my ROS package and I always get this error :

Linking CXX executable devel/lib/sbg_ins_ig500n/sbg_ins_ig500n CMakeFiles/sbg_ins_ig500n.dir/src/node.cpp.o:
In function `main': /home[...]/src/sbg_ins_ig500n/src/node.cpp:24:
undefined reference to `SBGInsIg500N::SBGInsIg500N()' colle
ct2: error: ld returned 1 exit status make[2]: *** 
[devel/lib/sbg_ins_ig500n/sbg_ins_ig500n] 
Error 1 make[1]: *** [CMakeFiles/sbg_ins_ig500n.dir/all] Error 2 make: *** [all] Error 2
    *** Failure: Exit code 2 ***

Since it's an "undefined reference" error, I checked the methods names for any typo but found none and I also checked my code files to be sure the correct header files we're included and everything seems fine. This is the node.cpp code : (The error happens when I try to create an object from the class SBGInsIg500N). The class is located in a folder called "sbg_ins" which is a sub folder of my src directory in my package.

#include "sbg_ins/sbg_ins_ig500n.h"  
int main(int argc, char **argv){
    SBGInsIg500N s;
    ...

And this is the CMakeLists file :

cmake_minimum_required(VERSION 2.8.3)
project(sbg_ins_ig500n)

find_package(catkin REQUIRED COMPONENTS sensor_msgs)
find_package(Boost REQUIRED COMPONENTS system)
find_package(catkin REQUIRED COMPONENTS roscpp)
find_package(catkin REQUIRED COMPONENTS tf)

catkin_package(DEPENDS system_lib)

include_directories(${catkin_INCLUDE_DIRS} src/sbg_ins/)

add_executable(sbg_ins_ig500n src/node.cpp)

target_link_libraries(sbg_ins_ig500n ${catkin_LIBRARIES})

## C++11 enable for catkin_build
set(CMAKE_CXX_FLAGS "-std=c++0x ${CMAKE_CXX_FLAGS}")

Calling catkin_make on my workspace outputs the error above, is there something I'm doing wrong ?

2014-09-24 08:44:56 -0600 received badge  Notable Question (source)
2014-09-23 13:10:15 -0600 received badge  Popular Question (source)
2014-09-23 01:01:40 -0600 edited question Using rosjava nodes inside non-rosjava projects.

Hi,

I am trying to adapt an existing complex java application using a rosjava node. I succesfully included my rosjava test class "Listener.java" into my other java project so I can access the class and create an instance of the rosjava object. The problem happens here :

 public class Listener extends AbstractNodeMain {
     ... 
     @Override   
     public void onStart(ConnectedNode connectedNode) { ... }
     ...
 }

This method is the onStart method of the auto-generated Listener.java class of my rosjava project.

How could I access the ConnectedNode object from a non-rosjava class or method and pass it to the rosjava object in order to correctly use it.

Or maybe there's another way around to adapt non rosjava projects ? Did you guys encounter the same problem as me ? I want to hear what you've done to solve this problem.

Thank you very much !