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

herimakil's profile - activity

2021-11-02 08:52:54 -0500 received badge  Famous Question (source)
2020-11-08 09:42:14 -0500 received badge  Famous Question (source)
2018-09-05 05:41:36 -0500 received badge  Famous Question (source)
2017-11-06 20:49:56 -0500 received badge  Notable Question (source)
2017-11-06 20:49:56 -0500 received badge  Popular Question (source)
2017-06-12 15:38:55 -0500 received badge  Famous Question (source)
2017-03-08 03:35:04 -0500 received badge  Notable Question (source)
2017-02-24 05:23:38 -0500 received badge  Famous Question (source)
2016-12-04 23:27:55 -0500 received badge  Popular Question (source)
2016-11-13 19:16:09 -0500 received badge  Notable Question (source)
2016-10-27 04:28:09 -0500 received badge  Popular Question (source)
2016-10-14 03:38:19 -0500 commented question multiple pointcloud2 to one single laserscan

the lasers to pointclouds to use x y z pose to move it to the frame destination since the laser has only x y. In my case i don't need Z because i already transform the lasers from pointclouds and they will all be in the same plane (even if they came from different Z positions).

2016-10-14 03:34:37 -0500 commented question multiple pointcloud2 to one single laserscan

Okay, i tried it and i can't make it work, not to mention that it does a lot of transformations between laser to pointcloud to move it to a frame destination.

From what i've seen here tutorial it transforms

2016-10-06 09:39:59 -0500 commented question multiple pointcloud2 to one single laserscan

could this help with the merging of the laserscans? https://github.com/iralabdisco/ira_la...

2016-10-06 02:23:02 -0500 received badge  Enthusiast
2016-10-05 04:02:13 -0500 asked a question multiple pointcloud2 to one single laserscan

Hello there,

I have a robot using 2 3D cámeras (both different) Astra Pro and Pico_flexx, both them get a different pointcloud output but both are pointcloud2, one of those cámeras is watching forward and the other one backwards.

I am trying to get odometry and navigation with those cámeras both since one wouldn't be enough, and for that i was already using laser_scan_matcher, in the documentation says it can use pointcloud2 as an input.

AMCL accepts only laserscan for navigation since it was developed for 2d navigation.

So, what i tried first was pointcloud_to_laserscan with one camera which i found insufficient for the purpose (that's why 2 cameras).

I need to "merge" those 2 pointclouds into one but what i found at the forums tells that both pointclouds need to have the same number of points (to concat...)

Any idea what to use to either use both clouds for laser_scan_matcher, or to achive 2 pointclouds into 1 laserscan?

thank you

2016-10-04 04:18:22 -0500 received badge  Notable Question (source)
2016-09-06 13:30:00 -0500 received badge  Notable Question (source)
2016-09-02 02:17:03 -0500 asked a question costmap2d not showing voxel 3d

Hello,

I am trying to view my costmap in a 3d representation, I am using a laserscan and a pointcloud2 sensors to get the information of the obstacles, they add the obstacles right in the 2d visualization the ones they both see and the ones only one of the sensors reach (either the 3d camera or the laserscan), but i can't make it work in the 3d representation with voxels.

this is my costmap yaml config.

http://pastebin.com/khgV4e7f

2016-09-02 02:15:49 -0500 asked a question pointcloud2 publish_voxel_map settings

Hello,

I am trying to view my costmap in a 3d representation, I am using a laserscan and a pointcloud2 sensors to get the information of the obstacles, they add the obstacles right in the 2d visualization the ones they both see and the ones only one of the sensors reach (either the 3d camera or the laserscan), but i can't make it work in the 3d representation with voxels.

this is my costmap yaml config.

http://pastebin.com/khgV4e7f

2016-05-26 03:38:04 -0500 received badge  Popular Question (source)
2016-05-26 03:20:31 -0500 commented answer group topics with diferent publishing rates

that's what i am using

    ros::AsyncSpinner spinner(4); // Use 4 threads
spinner.start();

while (ros::ok())
{
    SAPObject.publishReduced();
    loop_rate.sleep();
}

return 0;
2016-05-25 06:28:00 -0500 commented answer group topics with diferent publishing rates

one unrelated technical question (i found only problems about not processing in a fork and so.)

Since i will work with messages from various topics and convert them into another message type before publish, where should i process them before publish since it will take some time to process?

2016-05-25 06:24:10 -0500 received badge  Popular Question (source)
2016-05-25 02:15:15 -0500 received badge  Scholar (source)
2016-05-24 10:53:25 -0500 asked a question multithread can't read 2 topics

I am trying to subscribe to multiple topics and then publish them in a single personal topic, somehow i can't make it run with 2 topics... it only gets the subscription callback for fcu/current_pose (yes, there are fcu/status being published) so it never reaches the publish (which btw also gives me error if uncommented)

this is my code atm (please ignore those ugly global variables (or provide me a better solution if pos))

#include <string>
#include <iostream>
#include <ros/ros.h>
#include <ros/console.h>
#include <tf/transform_broadcaster.h>
#include "std_msgs/String.h"
#include <geometry_msgs/PoseStamped.h>
#include <asctec_hl_comm/mav_status.h>

//configuration parameters
int factorFrecuency = 10;
int msg_queue_size = 500;

double cpuLoadActual = 0.0;
double actual_poseX = 0.0;
double actual_poseY = 0.0;
double actual_poseZ = 0.0;

//update flags
bool recivedStatus = false;
bool recivedPose = false;

//publisher & subscriber
ros::Publisher reducerPublisher;
ros::Subscriber multiSubscriber;


//callbacks
void poseCallback(const geometry_msgs::PoseStamped& msg)
{

    if (!recivedPose) {
        ROS_INFO(" - Recived first data X, Y y Z.");
    }
    actual_poseX = msg.pose.position.x;
    actual_poseY = msg.pose.position.y;
    actual_poseZ = msg.pose.position.z;

    ROS_INFO("location: X[%lf], Y[%lf], Z[%lf]", actual_poseX, actual_poseY, actual_poseZ);

    recivedPose = true;
}

void statusCallback(const asctec_hl_comm::mav_status& msg)
{

    if (!recivedStatus) {
        ROS_INFO(" - Recived first data CPU.");
    }
    cpuLoadActual = msg.cpu_load;
    ROS_INFO("cpu: [%lf]", cpuLoadActual);
    recivedStatus = true;



}

//publish new topic
void publishReduced(){

    if(recivedStatus && recivedPose){
        std_msgs::String message;

        std::stringstream ss;
        ss << "hello subscribers to reductions "; //<< cpuLoadActual << " y posicionamiento posicion del dron: X" << actual_poseX << " Y" << actual_poseY << " Z" << actual_poseZ;
        message.data = ss.str();

        //reducerPublisher.publish(ss); //<- error S:
    }
}


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


    //inicializar ros
    ROS_INFO("reducer testing");
    ros::init(argc, argv, "Reducer");
    ros::NodeHandle node;


    //Topic you want to publish
    reducerPublisher = node.advertise<std_msgs::String>("reductions", 1000);

    //Topics to subscribe
    multiSubscriber = node.subscribe("fcu/status", msg_queue_size, &statusCallback);
    multiSubscriber = node.subscribe("fcu/current_pose", msg_queue_size, &poseCallback);



    // Ratio de iteración (Hz)
    int loop_rate_hz = factorFrecuency;
    ros::Rate loop_rate(loop_rate_hz);

    ros::AsyncSpinner spinner(4); // Use 4 threads
    spinner.start();

    while (ros::ok())
    {
        publishReduced();
        loop_rate.sleep();
    }

    return 0;
};
2016-05-24 05:06:18 -0500 received badge  Supporter (source)
2016-05-24 04:26:07 -0500 commented answer group topics with diferent publishing rates

wow, no actually i just saw that one after i registered :S

will try with message_filters since it has also an example, i will try work with that and see if it works.

with the TF you mean getting an actual location and move it back to match with the image?

2016-05-24 03:59:14 -0500 asked a question group topics with diferent publishing rates

Hello there, i'm new into this community so sorry if I ask something dumb, tried to search first but could only find this and I don't understand it at all and don't know if it suits my problem answer.

Currently i'm working with a robot that publishes an enormous amount of topics. While the information it's usefull, for my client app that means a lot of overload in the conexion.

What I am trying to do so is, i'm building a node in the robot that will subscribe to the topics i really care about for the client, and publish them in a new personal msg type of my own that has only the parameters i need of those topics. for that i'm using an approach like this (subscriber and publisher in class).

Now, the real problem is that the topics i need are published at different rates, example: fcu/current_pose 60hz, flir/img 40hz.

Lets say i just want to publish when i have an image+current_pose that are at least very close in time, any idea ?