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

Javier V. Gómez's profile - activity

2023-03-22 11:54:09 -0500 marked best answer catkin_tools and qtcreator

Hi, I am using catkin_tools and I have configured QTCreator as told in the wiki page, more concretely following these instructions.

However, I find myself manually opening each package as a project and I am working with tons of packages. Although CTRL+Click works (it takes me to other packages), I find a bit annoying that I have to open each package manually.

Is there a better solution for this (something like we did with catkin_make)?

Thank you!

2023-03-06 11:09:49 -0500 received badge  Nice Question (source)
2023-02-21 09:23:01 -0500 received badge  Great Question (source)
2022-11-07 19:16:06 -0500 received badge  Good Answer (source)
2021-10-13 10:31:16 -0500 marked best answer Motion planning collision checking on Gazebo virtual worlds

Hello everyone,

I will create a virtual building in Gazebo with the building editor. Then, I want to do motion planning in that building. In the past, I was carrying out a mapping step in which I was teleoperating the robot and building an octomap from the sensor data. Then I used the octomap for collision checking.

Now, I would like to directly use the environment saved for collision checking or to automatically convert it into an octomap (or just a 3D occupancy grid), so I do not need to manually sense the map. Any ideas on how to do this? Thank you!

2021-10-13 10:31:15 -0500 received badge  Good Answer (source)
2021-06-09 02:34:18 -0500 received badge  Great Answer (source)
2021-05-26 05:24:05 -0500 received badge  Nice Answer (source)
2020-09-11 15:59:53 -0500 received badge  Nice Question (source)
2020-09-11 15:59:40 -0500 marked best answer ROS Time vs Wall time

After a long simulation, I have realized with RViz that these two times do not match. While the ROS Elapsed time is 1700 seconds, the Wall Elapsed time is around 3630. I would understand it if my simulation was slow or something, but RViz is running at 30FPS, I am not using Gazebo GUI, and the only 3 out of 8 CPUSs (real CPUs) are at 100%, while the others are between 30%-60%. And only 3.7/7.7 GB RAM are used.

Where does that time difference comes from then?

2020-08-20 12:28:37 -0500 marked best answer Stop publishing a specific topic

Hi,

For testing purposes I want to stop the subscription of a topic during runtime (not programatically). I would like to know if there is any tool that allows this, any command that would allow this (or an XMLRPC to the ROS master to stop that topic, or something like that).

I do not want to kill the publishing node because what I want to do is to simulate a communication link lost. I was thinking that, if there is nothing, I would use topic_tools relay to remap the topic and then just kill the relay, but requires modifying the remaps on the launchfile (something I would like to avoid).

Thank you!

2020-08-17 04:58:24 -0500 received badge  Popular Question (source)
2020-08-17 04:58:24 -0500 received badge  Notable Question (source)
2020-04-23 14:55:04 -0500 received badge  Famous Question (source)
2020-04-23 14:55:04 -0500 received badge  Notable Question (source)
2020-03-25 21:28:25 -0500 received badge  Good Question (source)
2020-03-21 13:30:33 -0500 received badge  Nice Question (source)
2020-01-15 08:03:00 -0500 received badge  Great Answer (source)
2019-11-28 04:21:18 -0500 received badge  Famous Question (source)
2019-08-09 21:55:32 -0500 marked best answer laser_assembler and laser.bag issue

Hello everyone,

I successfully completed and understood the tutorial http://wiki.ros.org/laser_assembler/Tutorials/HowToAssembleLaserScans

However, there is something I cannot understand: the laser.bag file has the laserScans and the transformations (tf). When I visualize the tilt_scan messages in RVIZ these appear already transformed (scans tilted). What I expected was to see the laser scans changing in the same horizontal plane, since these scans are not transformed (or at least that is what I understood). I am using base_link as fixed_frame in rviz.

What could be wrong? Thank you!

EDIT: Ok, I have readed more info and now (finally) I understand how it works and how the frame is "attached" to the LaserScan. Now the question is:

I saw that I can set which frame_id the laser is in. In my case I will be updating this frame since it will be rotating. Do I need to publish the new tf/laser AND call the dynamic reconfigure of the laser to update the tf of the laser scan or just publish the new tf/laser? Thank you!

2019-06-09 03:13:13 -0500 received badge  Great Question (source)
2019-05-15 08:30:30 -0500 received badge  Good Answer (source)
2019-02-22 05:14:14 -0500 received badge  Good Answer (source)
2019-02-01 10:29:24 -0500 received badge  Famous Question (source)
2018-12-18 11:21:17 -0500 received badge  Good Question (source)
2018-10-19 06:42:37 -0500 marked best answer Save rqt_plot settings

Is there any way to save the rqt_plot (topics plotted) configuration and launch it from launch file? Thank you!

2018-10-09 07:09:50 -0500 commented question level value in dynamic reconfigure

No update at all :(

2018-09-04 15:29:54 -0500 received badge  Good Answer (source)
2018-08-30 16:25:30 -0500 marked best answer Publisher/subscriber in one python script

Hello everybody,

I would like to get some help from you. I want to use a Dynamixel servo but I do not want to have many different files just for listening the positions and setting new goals, so I created the following Python node:

#!/usr/bin/env python

import rospy
from math import fabs
from dynamixel_msgs.msg import JointState
from std_msgs.msg import Float64

goal_pos = 0;
pub = rospy.Publisher('/tilt_controller/command', Float64)

def transform_callback(data):
    global goal_pos
    rospy.loginfo(rospy.get_name() + ': Current motor angle {0}'.format(data.current_pos))

    # If the motor has reached its limit, publish a new command.
    if fabs(goal_pos-data.current_pos) < 0.01:
        if goal_pos == 0:
            goal_pos = 3.141592
        else:
            goal_pos = 0

        str = "Time: {0} Moving motor to {1}" .format(rospy.get_time(), goal_pos)
        rospy.loginfo(str)
        pub.publish(Float64(goal_pos))


def dxl_control():
    rospy.init_node('dxl_control', anonymous=True)
    rospy.Subscriber('/tilt_controller/state', JointState, transform_callback).
    # Initial movement.
    pub.publish(Float64(goal_pos))
    rospy.spin()


if __name__ == '__main__':
    try:
        dxl_control()
    except rospy.ROSInterruptException:
        pass

The code is just a union of the simple publisher and listener tutorials adapted to my application. As I do not have too much experiences programming with ROS (neither Python) I would like to know what do you think about having the publisher and the goal_pos as global variables and also the publisher and the listener in the same node and file.

The plan is that transform_callback will also publish a tf message. Is it ok as it is or would you do it in separate files and nodes?

Thank you!

2018-08-30 16:25:30 -0500 received badge  Guru (source)
2018-08-30 16:25:30 -0500 received badge  Great Answer (source)
2018-07-24 08:36:14 -0500 received badge  Famous Question (source)
2018-07-16 21:30:53 -0500 received badge  Favorite Question (source)
2018-07-16 21:30:49 -0500 received badge  Famous Question (source)