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

Sidd's profile - activity

2020-09-04 01:56:30 -0500 received badge  Nice Answer (source)
2020-08-17 20:04:00 -0500 edited answer LIDAR data rotates when using EKF from Robot Localization

Thanks for the pointers @Tom Moore, your suggestions helped narrow down the problem. I got rid of the map frame EKF alt

2020-08-17 20:03:33 -0500 received badge  Associate Editor (source)
2020-08-17 20:03:33 -0500 edited answer LIDAR data rotates when using EKF from Robot Localization

Thanks for the pointers @Tom Moore, your suggestions helped narrow down the problem. I got rid of the map frame EKF alt

2020-08-17 20:00:34 -0500 marked best answer LIDAR data rotates when using EKF from Robot Localization

Hi!

We've been trying to use the Robot Localization package, and we've been having trouble with the LIDAR data rotating in our map. Here is a video of the observed behavior - https://drive.google.com/file/d/1pKpC...

As for our system configuration, we have wheel encoders from which we compute Odometry. We have a Swift Nav Piksi from which we get a RTK GPS fix based position (x,y,z, no orientation). After some initial tests, we realized we were missing a heading input, so we took the raw IMU and Mag data from the Swift Nav Piksi, fed it into the imu_madgwick_filter node, to get an absolute heading value.

The jitters in the video is coming from the IMU, as the robot moves however it seems like the LIDAR data has a tendency to yaw clockwise. Removing the IMU as an input source removes the jitter but the LIDAR still yaws just as much.

We've two EKF's -

  1. A map EKF that fuses wheel odometry + IMU + GPS Fixed position and provides map -> odom transform and
  2. An odom EKF that fuses wheel odometry + IMU and provides odom -> base_link transform.

These are our config files -

ekf_map.yaml -

  frequency: 50               # frequency, in Hz, at which the filter will output a position estimate
  sensor_timeout: 0.1         # period, in seconds, after which we consider a sensor to have timed out
  two_d_mode: true            # no 3D information will be used in your state estimate
  transform_time_offset: 0.1 # provide an offset to the transform generated by ekf_localization_node.

  print_diagnostics: true     # If you're having trouble, try setting this to true, and then echo
                              # the /diagnostics_agg topic
  publish_tf: true            # Whether to broadcast the transformation over the /tf topic
  publish_acceleration: false # Whether to publish the acceleration state

  map_frame: map              # Defaults to "map" if unspecified
  odom_frame: odom            # Defaults to "odom" if unspecified
  base_link_frame: base_link  # Defaults to "base_link" if unspecified
  world_frame: map           # Defaults to the value of odom_frame if unspecified

  # Fuse x and y velocities from wheel encoders
  odom0: /wheel_encoder/odom
  odom0_differential: false
  odom0_relative: false
  odom0_queue_size: 10
  odom0_config: [false, false, false,  # x, y, z
                 false, false, true,  # roll, pitch, yaw
                 true,  true,  false,  # x vel, y vel, z vel,
                 false, false, false,   # roll vel, pitch vel, yaw vel
                 false, false, false]  # x acc, y acc, z acc

  # Fuse Piksi INS orientation data
  imu0: /filtered_imu
  imu0_differential: false
  imu0_relative: false
  imu0_remove_gravitational_acceleration: false
  imu0_queue_size: 10
  imu0_config: [false, false, false,  # x, y, z
                false, false, true,  # roll, pitch, yaw
                false, false, false,  # x vel, y vel, z vel,
                false , false , false ,  # roll vel, pitch vel, yaw vel
                false , false , false ]  # x acc, y acc, z acc

  pose0: /piksi_rover/enu_pose_fix
  pose0_config: [true,  true,  false,
                 false, false, false,
                 false, false, false,
                 false, false, false,
                 false, false, false]
  pose0_differential: false
  pose0_relative: false
  pose0_queue_size: 10
  pose0_rejection_threshold: 5  # Note the difference in parameter name

  process_noise_covariance: [1e-2, 0,    0,    0,    0,    0,    0,     0,     0,    0,    0,    0,    0,    0,    0,       # x
                             0,    1e-2, 0,    0,    0,    0,    0,     0,     0,    0,    0,    0,    0,    0 ...
(more)
2020-08-17 20:00:31 -0500 edited answer LIDAR data rotates when using EKF from Robot Localization

Thanks for the pointers @Tom Moore, your suggestions helped narrow down the problem. I got rid of the map frame EKF alt

2020-08-17 19:59:35 -0500 answered a question LIDAR data rotates when using EKF from Robot Localization

Thanks for the pointers @Tom Moore, your suggestions helped narrow down the problem. I got rid of the map frame EKF alt

2020-08-06 14:07:52 -0500 commented question TebLocalPlanner stalling out on Jetson Xavier

Here are a couple of things that helped me - I reduced the size of my local costmap by half, and increased the resolutio

2020-08-05 13:56:15 -0500 received badge  Famous Question (source)
2020-08-05 13:39:32 -0500 commented question TebLocalPlanner stalling out on Jetson Xavier

I'm experiencing a very similar problem. Did you figure this out? I found that cmd_vel msgs are published once every 20

2020-07-10 03:53:54 -0500 received badge  Notable Question (source)
2020-06-22 18:32:55 -0500 edited question LIDAR data rotates when using EKF from Robot Localization

LIDAR data rotates when using EKF from Robot Localization Hi! We've been trying to use the Robot Localization package,

2020-06-22 18:16:28 -0500 received badge  Popular Question (source)
2020-06-22 17:35:02 -0500 edited question LIDAR data rotates when using EKF from Robot Localization

LIDAR data rotates when using EKF from Robot Localization Hi! We've been trying to use the Robot Localization package,

2020-06-22 17:29:16 -0500 edited question LIDAR data rotates when using EKF from Robot Localization

LIDAR data rotates clockwise when using EKF from Robot Localization Hi! We've been trying to use the Robot Localization

2020-06-22 16:21:50 -0500 edited question LIDAR data rotates when using EKF from Robot Localization

LIDAR data rotates clockwise when using EKF from Robot Localization Hi! We've been trying to use the Robot Localization

2020-06-22 16:19:47 -0500 asked a question LIDAR data rotates when using EKF from Robot Localization

LIDAR data rotates clockwise when using EKF from Robot Localization Hi! We've been trying to use the Robot Localization

2020-05-04 09:29:52 -0500 marked best answer How do I make the local planner rotate in place?

How can I get the local planner to turn in place and then head towards a goal instead of moving forward and turning at the same time? I am facing issues when the robot is able to reach a goal but cannot come back to the same point by doing a turn in place and following a similar global plan. The local planner tries to make the robot move forward and turn. But it then comes too close to an obstacle and get stuck.

2020-02-27 11:08:17 -0500 edited answer ROS_CANopen faults on init.

Answering my own question, thanks to @GuillaumeB for the pointers. Essentially the problem was that my EDS file needed

2020-02-27 11:06:38 -0500 marked best answer ROS_CANopen faults on init.

I have a Bechoff CANopen bus terminal I'm trying to interface with. However, the driver fails on init and faults with the following error. I'm fairly new to CAN and am having a hard time debugging this.

Snapshot of terminal upon launching the canopen_chain_node -

sidd@ubuntu:~$ roslaunch canopen_chain_node chain.launch yaml:=path/to/bus.yaml
[ INFO] [1576523526.299477632]: Initializing...
[ INFO] [1576523526.301994944]: Current state: 1 device error: system:0 internal_error: 0 (OK)
[ INFO] [1576523526.302596992]: Current state: 2 device error: system:0 internal_error: 0 (OK)
[ INFO] [1576523527.617270944]: Current state: 2 device error: system:125 internal_error: 0 (OK)
[ INFO] [1576523527.617470912]: Current state: 0 device error: system:125 internal_error: 0 (OK)
[ INFO] [1576523527.617731168]: Current state: 0 device error: system:0 internal_error: 0 (OK)
[ INFO] [1576523527.617830624]: Current state: 0 device error: system:0 internal_error: 0 (OK)
[ERROR] [1576523527.618035712]: CAN not ready
[ERROR] [1576523527.618344320]: Initializing failed: PDO error: _Map_base::at

The bus.yaml file with parameters looks like this -

bus:
    device: can0
    loopback: false
sync:
    interval_ms: 10
#    update_ms: 10
    overflow: 0
heartbeat:
    rate: 20
    msg: "707#00"

nodes:
    node1:
        id: 7
        eds_file: "/home/sidd/ws/install/share/sidd_canopen/BK5120.eds"
        publish: ["2000sub1!"]

Upon calling the /driver/init service, I get the error -

sidd@ubuntu:~$ rosservice call /driver/init
success: False
message: "PDO error: _Map_base::at"

I tried doing a candump to get the raw frames, and this is what it prints out -

sidd@ubuntu:~$ candump can0
can0  707   [1]  00
can0  000   [2]  82 07
can0  707   [1]  00
can0  607   [8]  2B 17 10 00 00 00 00 00
can0  587   [8]  60 17 10 00 00 00 00 00
can0  000   [2]  02 07

I've also monitored the error counters by running and don't see anything suspicious -

sidd@ubuntu:~$ ip -details -statistics link show can0
8: can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 10
    link/can  promiscuity 0 
    can state ERROR-ACTIVE (berr-counter tx 0 rx 0) restart-ms 0 
    bitrate 250000 sample-point 0.875 
    tq 20 prop-seg 87 phase-seg1 87 phase-seg2 25 sjw 1
    mttcan: tseg1 2..255 tseg2 0..127 sjw 1..127 brp 1..511 brp-inc 1
    mttcan: dtseg1 1..31 dtseg2 0..15 dsjw 1..15 dbrp 1..15 dbrp-inc 1
    clock 50000000
    re-started bus-errors arbit-lost error-warn error-pass bus-off
    0          0          0          0          0          0         numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 
    RX: bytes  packets  errors  dropped overrun mcast   
    57         15       0       0       0       0       
    TX: bytes  packets  errors  dropped carrier collsns 
    72         18       0       0       0       0

EDS file I'm using attached as a github gist

I see this github issue here with the same error code, but that's not very useful and I doubt the issues are related.

Any help would be appreciated!

2020-02-27 11:06:19 -0500 answered a question ROS_CANopen faults on init.

Answering my own question, thanks to @GuillaumeB for the pointers. Essentially the problem was that my EDS file needed

2020-02-24 14:35:44 -0500 received badge  Famous Question (source)
2020-02-12 14:13:15 -0500 commented question How can I build navigation2 from source?

Have you followed instructions from here? It looks like it's not find certain ros2 packages. Have you sourced your ros2_

2019-12-30 12:13:39 -0500 marked best answer Can we update the package.xml from a python script?

Is there a way to update a package.xml from a python script? I know that you can catkin_pkg to parse a package.xml and retrieve it's contents as a catkin_pkg.Package. I'm wondering if there's a method to go the opposite way - if I have a catkin_pkg.Package and I want to create a new package.xml. Better still update the existing one with my changes from the script.

2019-12-17 10:17:46 -0500 commented answer ROS_CANopen faults on init.

Thanks for the link, I'll take a look at it. I modified the original EDS file from the Beckhoff website to remove the 60

2019-12-17 09:45:34 -0500 commented answer ROS_CANopen faults on init.

I did however deactivate the 1a00sub2, (set it's default value to 0x0 and it looks like it initialized ok... process[ca

2019-12-17 09:45:23 -0500 commented answer ROS_CANopen faults on init.

I did however deactivate the 1a00sub2, (set it's default value to 0x0 and it looks like it initialized ok... process

2019-12-17 09:42:19 -0500 commented answer ROS_CANopen faults on init.

But according the eds I used the 6000 subindex2 does exist here

2019-12-17 09:41:22 -0500 commented answer ROS_CANopen faults on init.

I see. Ok I updated the eds file here. I now run into the error - [ INFO] [1576597003.552654656]: Initializing... [ IN

2019-12-17 09:36:49 -0500 received badge  Notable Question (source)
2019-12-17 02:32:02 -0500 received badge  Popular Question (source)
2019-12-16 13:53:41 -0500 edited question ROS_CANopen faults on init.

ROS_CANopen faults on init. I have a Bechoff CANopen bus terminal I'm trying to interface with. However, the driver fai

2019-12-16 13:53:09 -0500 edited question ROS_CANopen faults on init.

ROS_CANopen faults on init. I have a Bechoff CANopen bus terminal I'm trying to interface with. However, the driver fai

2019-12-16 13:51:39 -0500 edited question ROS_CANopen faults on init.

ROS_CANopen faults on init. I have a Bechoff CANopen bus terminal I'm trying to interface with. However, the driver fai

2019-12-16 13:51:15 -0500 edited question ROS_CANopen faults on init.

ROS_CANopen faults on init. I have a Bechoff CANopen bus terminal I'm trying to interface with. However, the driver fai

2019-12-16 13:50:34 -0500 asked a question ROS_CANopen faults on init.

ROS_CANopen faults on init. I have a Bechoff CANopen bus terminal I'm trying to interface with. However, the driver fai

2019-12-05 00:16:25 -0500 received badge  Good Question (source)
2019-11-06 12:32:36 -0500 commented answer What is the meaning of the effort or velocity on urdf model

Effort is between 0 and 100 (units are %) I'm not sure if the effort unit is correct either. Isn't it in N? And I'm

2019-11-06 12:32:21 -0500 commented answer What is the meaning of the effort or velocity on urdf model

Effort is between 0 and 100 (units are %) I'm not sure if the effort unis is correct either. Isn't it in N? And I'm

2019-11-06 12:31:55 -0500 commented answer What is the meaning of the effort or velocity on urdf model

effort (required) - An attribute for enforcing the maximum joint effort (|applied effort| < |effort|). See safety

2019-11-06 12:31:46 -0500 commented answer What is the meaning of the effort or velocity on urdf model

effort (required) - An attribute for enforcing the maximum joint effort (|applied effort| < |effort|). See sa

2019-11-06 12:31:29 -0500 commented answer What is the meaning of the effort or velocity on urdf model

effort (required) - An attribute for enforcing the maximum joint effort (|applied effort| < |effort|). See safety lim

2019-07-06 18:54:45 -0500 commented question Stereo image proc crash

Looks like the error is originating from openCV. Can you verify you're a compatible opencv version?

2018-10-03 13:59:58 -0500 commented question Turning lights On and Off on Gazebo with ROS

Did you make any progress with this?