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

S.Prieto's profile - activity

2023-06-09 16:09:08 -0500 received badge  Famous Question (source)
2023-06-09 16:09:08 -0500 received badge  Notable Question (source)
2023-06-09 16:09:08 -0500 received badge  Popular Question (source)
2022-03-24 04:35:03 -0500 asked a question Pointcloud_to_laserscan not including planar surfaces close to the ground

Pointcloud_to_laserscan not including planar surfaces close to the ground I just recently implemented an Ouster OS1 LiDA

2022-01-16 09:37:52 -0500 received badge  Notable Question (source)
2022-01-13 03:00:23 -0500 received badge  Nice Answer (source)
2021-11-21 11:17:18 -0500 received badge  Popular Question (source)
2021-11-20 23:37:18 -0500 commented question move_base action server failing to send goals after using Rviz 2D Nav Goal tool

Alright seems like the status getting returned by the client is "RECALLED", which according to the description means "Th

2021-11-20 23:31:59 -0500 commented question move_base action server failing to send goals after using Rviz 2D Nav Goal tool

Thank you both for the suggestions!! However, I'm sure it's not a cmd_vel issue, I actually already have a multiplexer a

2021-11-20 03:12:15 -0500 asked a question move_base action server failing to send goals after using Rviz 2D Nav Goal tool

move_base action server failing to send goals after using Rviz 2D Nav Goal tool I wrote a simple python script in order

2018-06-14 04:23:10 -0500 received badge  Nice Answer (source)
2018-03-06 06:06:30 -0500 answered a question How to auto deploy a robot?

In my case, I have a robot which automatically launches everything it needs for a basic behavior. Like Delb said in his

2016-12-01 18:45:18 -0500 received badge  Nice Answer (source)
2016-01-28 04:34:14 -0500 answered a question Map_server fails to publish transform

If you just want to visualize the robot inside the map you can change the "fixed frame", instead of map it should be one of your robot frames... (assuming you've defined transformations between the differents links of your robot).

If you want to move between the map and represent correctly the position of the robot (updating it while you move) you need to run a localization node, as the user Mig said, which will provide the transform between your robot's base link and the map.

2015-12-17 05:25:00 -0500 answered a question GMAPPING: How to mark 'out of range' laserscan as free-space

If you take a look at the gmapping page there're two parameters called maxUrange and maxRange. I quote: "If regions with no obstacles within the range of the sensor should appear as free space in the map, set maxUrange < maximum range of the real sensor <= maxRange".

So, if you want that region appears as free space, you have to set your maxUrange under the maximum range of the real sensor (which is the maxRangeparameter).

2015-12-16 07:00:07 -0500 received badge  Nice Answer (source)
2015-12-16 02:05:30 -0500 commented answer matlab and ROS communication in the same computer

Sorry, I don't use Simulink... I just use MATLAB to communicate and interact with my robot, but I'm assuming it would be similar. First you'd like to check if the message you're interested in is a ROS message or is created by you, which in that case you'd have to create iit n MATLAB also. Good luck!

2015-12-14 02:08:54 -0500 answered a question matlab and ROS communication in the same computer

Yes, there's no problem with that. I've in the same computer running ROS and MATLAB and I can stablish a connection without any problem. You just have to specify the localhost parameter when you create the connection in MATLAB.

EDIT 1 The problem is the topic you're subscribing to. If you take a look at the message type of the topic, is a dynamic reconfigure message, not a laser scan message. Are you sure that there are only those two topics? You're missing the topic in which the laser scan data is being published (usually is called /scan).

If you don't have the laser scan data topic, then the problem is not with MATLAB, is in your ROS node.

EDIT 2 Of course the data is static, with the receive function you read your laser data for a specific instant, and then you plot it. If you want to display the laser data in real time you have to be reading always, that is, inside a loop. You have 2 options here:

  • The simple one, is do what you've being doing until now, but inside a loop:

    while (something)
    scan = receive(laser subscriber)
    plot(scan)
    end
    
  • The other option is with a callback function. You can assign a callback function to your subscriber, and everytime there's new data published by the topic, your latest message from your subscriber will be updated. That way you don't have to use the receive function, you can just access the laser data with YourLaserSubscriberName.LatestMessage. Either way, you also need a loop to represent the data, but not for computation stuff... You can check how to add a callback function here. An example of a callback function to access the laser data could be:

    function laserCallback (~, message)
    global ranges;
    ranges = message.Ranges;
    end
    

To understand the difference between the two options, I suggest you try this: create two subscribers of your /scantopic, one with the callback function and the other one without it. Then plot the latest message of both, they'll be identical. Now change what the laser sees (put some obstacle or something) and plot again. The message from the subscriber without the callback has not change, whereas the one with the callback yes, because it's updated each time the laser publish new data.

Hope I was clear enough :)

2015-12-10 02:19:40 -0500 answered a question How to write to a ROS-bag in MATLAB?

Did you know that the R2015 release comes with ROS support? It's called Robotics System Toolbox and offers ALL kind of functions to work with ROS, including open, handle, edit and save ros bags.

In this link you can find the documentation for this toolbox.

EDIT 1 And in this link an example with rosbags.

The thing is, if I've understood you, that you want to give the command to save a rosbag from MATLAB, right? I don't know if you can do that in MATLAB... usually you save the rosbags from ROS and later you manipulate that information with MATLAB. Maybe you can create a node with a service that starts the recording of a rosbag, and call that service from MATLAB.

2015-12-10 02:14:37 -0500 answered a question how to send a predefined path to a local planner?

The path generated by the standard move_base mechanics is stored in a topic (I think it's called just path) composed of an array of vectors. My point is, those vectors are the same kind of vectors that describe the actual pose of the robot, so maybe you can build a node that retrieves the pose of the robot (taken from the odometry or whichever mechanism you're using for the localization) while you move manually your robot in the trajectory that suits your purposes.

That way you'll have an array of vectors describing the path you just made with your robot, which with minor adjustments you can publish into the path topic of move_base.

I don't know how complex this could be, but if it isn't possible the easy way is record a bag file of a path generated from move_base that seems good to you, and replay it anytime you want.

2015-11-30 01:56:52 -0500 commented answer How can I estimate the coverage performed by an algorithm while exploring an unknown map

Looking at each element you can check it's value, and count how many pixels you have for each value. You can do the counting with any programming language, that's up to you if you want to do it inside ROS or externally, which in that case I recommend you to use MATLAB.

2015-11-30 01:56:52 -0500 received badge  Commentator
2015-11-30 01:54:13 -0500 commented answer How can I estimate the coverage performed by an algorithm while exploring an unknown map

For the "counting", you have to read the image to get the image matrix (you can skip the whole step of getting the image if you get directly the matrix with the values from the map topic). Once you have the matrix, just look at each element (usually you do this with 2 loops, rows and columns).

2015-11-30 01:51:37 -0500 commented answer How can I estimate the coverage performed by an algorithm while exploring an unknown map

No, not in rviz. I guess you're running a map_server to publish the map that you're exploring. Map_server has the command map_saver which allows you to save the map as an image. Then, you can work on that image and "count" the pixels.

2015-11-27 04:34:08 -0500 answered a question How can I estimate the coverage performed by an algorithm while exploring an unknown map

I've not worked previously with the nav2d_exploration package, but I'm assuming that the resulting map should have three different colours: black for the sensed obstacles, white for the empty explored space and grey for the unexplored space. A not fancy way to do it, although could work, is "count" the amount of pixels with the empty explored space value.

You can do that in external tools such as MATLAB, or even inside your ROS code, that's up to you! I guess the method which provides a higher amount of "explored space" will be the one which has the highest cover ability.

2015-11-16 04:48:53 -0500 marked best answer Load map to map_server from MatLab

Hi, the situation is the next:

We're using a robot to map the indoors of an entire building, and to do that, we use an external 3D sensor. The sensor is on board a mobile robot able to navigate autonomously in the building given a map. So, the map that the robot needs to navigate and to take the sensor to the next position, is obtained in MatLab through several processing of the 3D point cloud from the sensor.

I'm using the new Robotic Systems Toolbox from MatLab to communicate with my robot in ROS, to retrieve information and to give information. In the robot there's enough nodes launched to allow the autonomous navigation, like the map_server (that's the key), the localization and the path planning.

The question is, is there a way to init the map_server without an argument (like an empty map) and be able to write the map from MatLab into the topic each time I get a new map? I've tried to publish my map from MatLab into the map topic, but the map_server overwrites the data inmediately. Maybe I need another node in ROS, only to receive the data from MatLab and able to write this data into an image which I can provide to the map_server node.

If there's something not clear just let me know and I'll try to explain in more detail. Thanks!

2015-11-16 04:48:53 -0500 received badge  Scholar (source)
2015-11-16 04:48:47 -0500 received badge  Supporter (source)
2015-11-16 04:48:39 -0500 commented answer Load map to map_server from MatLab

Well, I just want to use the map published from MatLab. The problem is that I want everything done from MatLab, to allow anyone who doesn't know anything about ROS to launch the project, so I'll check out how to change the topic in which map_server publishes from MatLab, thank you for you answer!!

2015-11-16 04:02:01 -0500 received badge  Famous Question (source)
2015-11-16 03:37:06 -0500 commented question Writing Riegl VZ-400 3D Laser Scanner Driver?

How is this topic going? Have you accomplished something? I also have a Riegl VZ-400 which I want to control from ROS.

2015-11-13 06:32:02 -0500 commented answer How could I do an executable file in ROS?

I'm running multiple launch files at the startup, and I need to be able to locate in which terminal are each one of them. That's why I'm using the tty "hack", to identify where they're running.

2015-11-13 06:29:52 -0500 received badge  Editor (source)
2015-11-13 06:28:29 -0500 commented answer How could I do an executable file in ROS?

The Unity launcher is what you have to use to launch the bash script, not the .launch file. First, you have to write the script which launches the .launch file, which can be run via terminal or via Unity launcher.

2015-11-13 05:38:19 -0500 received badge  Notable Question (source)
2015-11-13 01:53:47 -0500 commented answer How could I do an executable file in ROS?

As you can see, I look for the 'tty2' terminal, and then I launch my file. You can do it with any terminal, or If you just want to launch the file in any moment with the script, you don't need to look for a specific terminal, remember that I'm doing that way because I don't want to interact with it.

2015-11-13 01:51:42 -0500 commented answer How could I do an executable file in ROS?

Sure :) as I said, I want the .launch file to be launched with the boot of the robot, so in my .bashrc file I have this piece of code:

 TERMINAL = `tty`
 case $TERMINAL in
           "/dev/tty2") roslaunch YOURFILE.launch;
           sleep 2;;
 esac
2015-11-12 11:06:34 -0500 received badge  Nice Answer (source)
2015-11-12 02:34:46 -0500 answered a question How could I do an executable file in ROS?

I'm not aware of such a characteristic in ROS, but maybe the easiest way to do it is simply with a bash script (or another kind of script) which runs the 'roslaunch' command in terminal. In my robot I have a launch file which is run automatically at the startup of the robot, and I'm doing it that way.

EDIT: I suggest you to take a look at this question where there is an example script which could be valid for you.

2015-11-05 02:12:15 -0500 commented question get global position with hector mapping and amcl and premade made

Can you post your amcl launch file? Also your tf tree would be useful, maybe you're missing some connection there

2015-11-05 02:11:41 -0500 answered a question get global position with hector mapping and amcl and premade made

Can you post your amcl launch file? Also your tf tree would be useful, maybe you're missing some connection there

2015-09-17 04:54:11 -0500 received badge  Popular Question (source)