BCLab-UNM / SC2

Swarmathon Team Code for the NASA Space Challenge 2 Competition
MIT License
2 stars 0 forks source link

Ekf #223

Open gmfricke opened 3 years ago

gmfricke commented 3 years ago

Enabled the EKF node. Disabled wheel encoder tf transforms to avoid conflicts.

Carter90 commented 3 years ago

@gmfricke Did you change the topic name in FakeLocalization.py? i don't see it here. Also you got a merge conflict.

abbypribis commented 2 years ago

Fixed merge conflict - please test :)

Carter90 commented 2 years ago

Resolves #130

Carter90 commented 2 years ago

@abbypribis How are you launching? roslaunch scoot final_round.launch or roslaunch scoot scoot.launch "mode:=man"

[ WARN] [1626038176.742773251, 94.676000000]: Failed to meet update rate! Took 94.676000000000001933
[ WARN] [1626038176.756995975, 94.685000000]: Could not obtain transform from small_scout_1_imu_link to small_scout_1_base_footprint. Error was "small_scout_1_base_footprint" passed to lookupTransform argument target_frame does not exist. 

[ WARN] [1626038176.761994470, 94.690000000]: Failed to meet update rate! Took 94.656666666999996096
/opt/ros/noetic/lib/python3/dist-packages/rospy/topics.py:563: UserWarning: '//cmd_vel' is not a legal ROS graph resource name. This may cause problems with other ROS tools
  super(Subscriber, self).__init__(name, data_class, Registration.SUB)
/opt/ros/noetic/lib/python3/dist-packages/rospy/topics.py:842: UserWarning: '//back_left_wheel/drive/command/velocity' is not a legal ROS graph resource name. This may cause problems with other ROS tools
  super(Publisher, self).__init__(name, data_class, Registration.PUB)
/opt/ros/noetic/lib/python3/dist-packages/rospy/topics.py:842: UserWarning: '//back_right_wheel/drive/command/velocity' is not a legal ROS graph resource name. This may cause problems with other ROS tools
  super(Publisher, self).__init__(name, data_class, Registration.PUB)
/opt/ros/noetic/lib/python3/dist-packages/rospy/topics.py:842: UserWarning: '//front_left_wheel/drive/command/velocity' is not a legal ROS graph resource name. This may cause problems with other ROS tools
  super(Publisher, self).__init__(name, data_class, Registration.PUB)
/opt/ros/noetic/lib/python3/dist-packages/rospy/topics.py:842: UserWarning: '//front_right_wheel/drive/command/velocity' is not a legal ROS graph resource name. This may cause problems with other ROS tools
  super(Publisher, self).__init__(name, data_class, Registration.PUB)
/opt/ros/noetic/lib/python3/dist-packages/rospy/topics.py:842: UserWarning: '//back_left_wheel/steer/command/position' is not a legal ROS graph resource name. This may cause problems with other ROS tools
  super(Publisher, self).__init__(name, data_class, Registration.PUB)
/opt/ros/noetic/lib/python3/dist-packages/rospy/topics.py:842: UserWarning: '//back_right_wheel/steer/command/position' is not a legal ROS graph resource name. This may cause problems with other ROS tools
  super(Publisher, self).__init__(name, data_class, Registration.PUB)
/opt/ros/noetic/lib/python3/dist-packages/rospy/topics.py:842: UserWarning: '//front_left_wheel/steer/command/position' is not a legal ROS graph resource name. This may cause problems with other ROS tools
  super(Publisher, self).__init__(name, data_class, Registration.PUB)
/opt/ros/noetic/lib/python3/dist-packages/rospy/topics.py:842: UserWarning: '//front_right_wheel/steer/command/position' is not a legal ROS graph resource name. This may cause problems with other ROS tools
  super(Publisher, self).__init__(name, data_class, Registration.PUB)
abbypribis commented 2 years ago

hmm, I was doing roslaunch scoot scoot.launch "name:=<rover_name" - didn't you fix final_round.launch on your branch?

abbypribis commented 2 years ago

Okay, commands work now - odom really sucks though, ooof

Carter90 commented 2 years ago

Yeah the EKF is very unstable it took like 10 driver calls for it to "stabilize", I would ask it to drive 10m and it would think it had arrived before it even moved. The logging rate is a bit too high fills up the logs instantly and this is coming from someone who is logging every loop of the driver state meh I just kept calling drive forward commands scoot.drive(10,ignore=Obstacles.VOLATILE) until i reached the edge here is the **last output of src/scripts/src/deltaDelta.py

# @NOTE
f = fake(gazebo pose)
w = wheel
e = ekf
delta_f_e: -90.4698661173021
delta_w_e: -18.654380510421387
delta_f_w: -71.85976385012785