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

rukie's profile - activity

2022-10-12 04:34:59 -0500 marked best answer Robot Localization Wrong Settings or Odom message?

BLUF (Bottom line up front): Using ackermann style odometry only, Robot_localization isn't providing an /odometry/filtered output.

Machine: Ubuntu 16 & ROS Kinetic

Details: I have an ackermann style vehicle with simulated sensors running in Unity and broadcasting to ROS.

For odometry, I wrote a bicycle model script to estimate position, orientation, and velocity. I publish this to /odometry/bicycle and its a child of /map. That looks like:

odom_quat = tf.transformations.quaternion_from_euler(0, 0, veh.yaw)
# first, we'll publish the transform over tf
odom_broadcaster.sendTransform(
            (veh.x, veh.y, 0.),
            odom_quat,
            current_time,
            "bicycle",
            "map"
            )
# next, we'll publish the odometry message over ROS
odom = Odometry()
odom.header.stamp = current_time
odom.header.frame_id = "map"

# set the position
odom.pose.pose = Pose(Point(veh.x, veh.y, 0.), Quaternion(*odom_quat))
odom.pose.covariance = [0.01,  0.0,  0.0,  0.0,  0.0,  0.0,
                        0.0,  0.01,  0.0,  0.0,  0.0,  0.0,
                        0.0,   0.0, 0.01,  0.0,  0.0,  0.0,
                        0.0,   0.0,  0.0,  0.1,  0.0,  0.0,
                        0.0,   0.0,  0.0,  0.0,  0.1,  0.0,
                        0.0,   0.0,  0.0,  0.0,  0.0,  0.1]
# set the velocity
odom.child_frame_id = "bicycle"
odom.twist.twist = Twist(Vector3(veh.xdot, veh.ydot, 0), Vector3(0, 0, veh.yawdot))
odom.twist.covariance = [0.01,  0.00,  0.00,  0.00,  0.00,  0.00,
                         0.00,  0.01,  0.00,  0.00,  0.00,  0.00,
                         0.00,  0.00,  0.01,  0.00,  0.00,  0.00,
                         0.00,  0.00,  0.00,  0.10,  0.00,  0.00,
                         0.00,  0.00,  0.00,  0.00,  0.10,  0.00,
                         0.00,  0.00,  0.00,  0.00,  0.00,  0.10]
# publish the message
odom_pub.publish(odom)

Some common errors I've read about include having a forward slash (/) before the tf. I don't think I have that issue.

I also have a simulated IMU broadcasting to /imu_data, and gps broadcasted to /gps/fix. I will probably have questions on them later, but right now I want to focus on filtering just the odometry message. Ideally I want to recreate the dual EKF setup described on the robot localization page.

When setting up the EKF for just odometry, I'm not getting an odometry filtered message. Diagnostics does give me an error about erroneous settings.

Odometry message:

header: 
  seq: 66
  stamp: 
    secs: 1554917950
    nsecs:  73329925
  frame_id: "map"
child_frame_id: "bicycle"
pose: 
  pose: 
    position: 
      x: 0.0
      y: 0.0
      z: 0.0
    orientation: 
      x: 0.0
      y: 0.0
      z: 0.0
      w: 1.0
  covariance: [0.01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0 ...
(more)
2022-02-15 21:38:50 -0500 received badge  Famous Question (source)
2020-09-15 10:50:27 -0500 received badge  Notable Question (source)
2020-04-01 13:56:15 -0500 commented question ROS Melodic Python 3 Source

I did not :(

2020-04-01 08:59:17 -0500 received badge  Nice Question (source)
2020-02-24 22:59:12 -0500 marked best answer ROS and Open Vino

Hello! I'm interested in running the Neural Compute Stick 2 with ROS, in Python. The first Neural Compute Stick used the NCSDK which provided Python 2.7 support. OpenVINO doesn't seem to have any plans for Python 2.7 support (requirements). I'm not particularly skillful with C code, so I'm curious if anyone else has gotten OpenVINO to work with ROS1+Python.

What are my options here? As I'm running a simulation in Unity and communicating over a ros websocket (like the LG Simulator), would roslibpy be a good option? I think that could be installed with python3 to connect over the rosbridge/websocket.

Note: Confusingly it seems like there might be some 2.7 support per here

2019-12-07 22:09:31 -0500 received badge  Famous Question (source)
2019-12-03 17:54:13 -0500 received badge  Famous Question (source)
2019-09-20 11:24:16 -0500 answered a question lidar_camera_calibration stalls

I have run into similar issues. Properly remapping the aruco mapping node seemed to help. <remap from="/image_raw" t

2019-09-19 16:18:14 -0500 commented answer camera_calibration: checkerboard target not found

I also spent today struggling with this. Its rather exact too. A 9x9 checkerboard would require a 8x8, searching for a s

2019-09-19 16:07:57 -0500 answered a question camera_calibration opens gui window but freezes

I also ran into this issue. To address it, I downloaded the latest image_pipeline from github into my catkin workspace

2019-08-16 16:23:42 -0500 received badge  Student (source)
2019-05-30 09:41:58 -0500 received badge  Famous Question (source)
2019-05-15 03:08:36 -0500 received badge  Famous Question (source)
2019-05-10 09:42:56 -0500 received badge  Notable Question (source)
2019-05-08 08:47:12 -0500 commented question Rospy installation on Python 3

I've also tried this... https://medium.com/@beta_b0t/how-to-setup-ros-with-python-3-44a69ca36674

2019-05-08 08:44:36 -0500 commented question Rospy installation on Python 3

I've tried following scripts like below, unsuccessfully. Python 3 support still feels like its in a pretty poor state. A

2019-05-08 08:28:02 -0500 received badge  Popular Question (source)
2019-05-06 12:18:35 -0500 received badge  Teacher (source)
2019-05-06 09:21:00 -0500 answered a question How to get publisher and callback to talk to one another (python)

What @kump says. Either "wait" for the message, or make this a node that runs continuously (rospy.spin() or while not sh

2019-05-05 12:59:49 -0500 received badge  Notable Question (source)
2019-05-01 10:56:26 -0500 commented question How to get publisher and callback to talk to one another (python)

Have you tried going through the python publisher/subscriber tutorials yet? Like these I don't see any reference to ros

2019-04-30 14:17:30 -0500 asked a question ROS Melodic Python 3 Source

ROS Melodic Python 3 Source As I'm a glutton for punishment I keep trying to find a way to get Python 3 to work with ROS

2019-04-29 16:09:27 -0500 commented question [ROS2] ModuleNotFoundError: No module named 'tf2_ros'

Looks like it is really close.... https://github.com/ros2/geometry2/pull/99

2019-04-29 16:09:27 -0500 received badge  Commentator
2019-04-25 16:25:49 -0500 commented question ROS and Open Vino

@allenh1 If I try to install a python3-catkin-pkg it wants to uninstall all of ros-melodic. I don't understand how thos

2019-04-25 15:18:25 -0500 commented question ROS and Open Vino

And I assume all of these apt packages should be ignored? python3-catkin-pkg python3-catkin-pkg-modules python3-dateuti

2019-04-25 11:04:29 -0500 commented question ROS and Open Vino

I'll say this doesn't look particularly fun. https://medium.com/@beta_b0t/how-to-setup-ros-with-python-3-44a69ca36674

2019-04-25 10:30:05 -0500 commented question ROS and Open Vino

@allenh1 I'm using ROS Kinetic on Ubuntu 16.04. Which ROS version would have the best Python3 support? I assume Melodic?

2019-04-25 09:02:03 -0500 received badge  Popular Question (source)
2019-04-24 22:19:35 -0500 asked a question ROS and Open Vino

ROS and Open Vino Hello! I'm interested in running the Neural Compute Stick 2 with ROS, in Python. The first Neural

2019-04-13 16:29:07 -0500 answered a question Merge two topics - get information of 2 different topics

As I'm answering from a phone... I'll give you this to get started. I would suggest implementing a class. Run two subscr

2019-04-12 09:41:37 -0500 received badge  Notable Question (source)
2019-04-12 09:03:31 -0500 edited question Robot Localization Wrong Settings or Odom message?

Robot Localization Confusion BLUF (Bottom line up front): Using ackermann style odometry only, Robot_localization isn't

2019-04-11 19:44:21 -0500 received badge  Popular Question (source)
2019-04-11 18:03:23 -0500 commented question Robot Localization Wrong Settings or Odom message?

And if anyone else is reading this: Many of the parameters added such as pose and twist thresholds, accel/decel limits,

2019-04-11 18:01:37 -0500 commented question Robot Localization Wrong Settings or Odom message?

I've also gone ahead and simplified my ekf yaml file: ekf_odom: frequency: 20 sensor_timeout: 2.0 two_d_mod

2019-04-11 15:33:13 -0500 commented question Robot Localization Wrong Settings or Odom message?

from here: https://answers.ros.org/question/314169/setting-frame-ids-for-ekf-localization/ I've confirmed my wheel odome

2019-04-11 15:03:34 -0500 edited question Robot Localization Wrong Settings or Odom message?

Robot Localization Confusion BLUF (Bottom line up front): Using ackermann style odometry only, Robot_localization isn't

2019-04-11 15:03:34 -0500 received badge  Editor (source)
2019-04-11 11:08:26 -0500 commented question Robot Localization Wrong Settings or Odom message?

I think part of what I should be doing, is broadcasting the bicycle publisher on frame id "odom" to child "bicycle". I s

2019-04-10 12:58:56 -0500 asked a question Robot Localization Wrong Settings or Odom message?

Robot Localization Confusion BLUF (Bottom line up front): Using ackermann style odometry only, Robot_localization isn't

2019-04-05 12:16:57 -0500 commented answer stl error loading

That tutorial should include a comment about no transfer frame and the STL appearing white. That's a damn head scratcher

2019-04-05 12:15:56 -0500 received badge  Supporter (source)
2019-04-05 09:36:32 -0500 received badge  Enthusiast
2019-04-04 02:18:47 -0500 received badge  Notable Question (source)
2019-04-02 13:42:02 -0500 received badge  Popular Question (source)
2019-04-02 13:37:32 -0500 marked best answer Path Message with Velocity?

I know I can create a custom message that includes a velocity with each pose, but I'm curious for input from other developers. Is there a reason it would be detrimental to carry a speed command in nav_msgs/Path?

For context, I've got a machine that's non-holnomic and I've created a path plan. The machine is capable of high speed (20 m/s). As a part of that path following I want to determine safe speeds to avoid mishaps. This requires looking at stopping distances, safe cornering speeds, etc.

I was thinking to add geometry_msgs/Twist velocities to nav_msgs/Path, maybe call it PathWithSpeed? PathWithTwist?

Am I alone in thinking this would be a helpful standard message? Or have I totally missed some other method that would serve this purpose?

2019-04-02 12:49:58 -0500 edited answer Path Message with Velocity?

Ah, I wasn't looking into the Joint Trajectories as I didn't immediately consider it applicable. I was thinking robot ar