Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test Navigation integration with robot_localization package (Kalman Filter) #40

Closed
mkhansenbot opened this issue Aug 31, 2018 · 21 comments
Assignees
Labels
2 - Medium Medium Priority help wanted Extra attention is needed task

Comments

@mkhansenbot
Copy link
Collaborator

We need to verify that our localization can work with the robot_localization package which has recently been ported to ROS2.

@mkhansenbot mkhansenbot added this to the October 2018 milestone Aug 31, 2018
@mkhansenbot mkhansenbot added this to To do in Navigation 2 Kanban via automation Aug 31, 2018
@mkhansenbot
Copy link
Collaborator Author

@mjeronimo mjeronimo added help wanted Extra attention is needed and removed nav2_mission_executor labels Oct 18, 2018
@mkhansenbot mkhansenbot added the 2 - Medium Medium Priority label Nov 12, 2018
@crdelsey crdelsey moved this from Incoming Issues to Other Issues in Navigation 2 Kanban Jan 22, 2019
@crdelsey crdelsey removed this from the D Turtle Release milestone Jan 29, 2019
@mkhansenbot
Copy link
Collaborator Author

@mhpanah - Do we still want to do this or should I close it?

@mhpanah
Copy link
Contributor

mhpanah commented Feb 19, 2019

@mhpanah - Do we still want to do this or should I close it?

We haven't done this yet. It's a good idea to do it at some point. However, low priority at the moment.

@crdelsey crdelsey added this to the E Turtle Release milestone Jul 1, 2019
@mkhansenbot
Copy link
Collaborator Author

@rotu - I see you have been using the robot_localization package as part of your Rover demo. Are there any changes to Nav2 required or can I close this issue?

If it's working, maybe you could give us a quick overview of how you connected the two? Are you using AMCL?

@rotu
Copy link
Contributor

rotu commented Sep 17, 2019

There are no changes to Nav2 required, but robot_localization has no current official branch working under Dashing, so I'm using an unofficial fork https://github.com/RoverRobotics-forks/robot_localization. @klintan was also working on the port to Dashing but that seems to have stalled.

Yes, I'm using it with AMCL.

@klintan
Copy link

klintan commented Sep 17, 2019

There are no changes to Nav2 required, but robot_localization has no current official branch working under Dashing, so I'm using an unofficial fork https://github.com/RoverRobotics-forks/robot_localization. @klintan was also working on the port to Dashing but that seems to have stalled.

Yes, I'm using it with AMCL.

See my answer here :)
cra-ros-pkg/robot_localization#473

@SteveMacenski
Copy link
Member

SteveMacenski commented Sep 17, 2019

I'm still 2 layers deep getting everything in order so we can meaningfully talk about getting R_L shipped out. The state of the ROS2 port of R_L also isn't awesome so I have plans post-ROSCon to probably sit down and re-port it from melodic after talking with Tom.

Steps I'm in the middle of

  • port geographic_msgs
  • get admin rights to push changes to geographic_msgs since maintainers are gone..
  • merge, release it
  • rosconing
  • re-port / evaluate port on ros2
  • merge pending ros2 PRs for R_L
  • this ticket

@mkhansenbot
Copy link
Collaborator Author

@rotu - can you run rqt_graph and show how you have connected the inputs / outputs of the robot_localization package to Nav2?

@mkhansenbot
Copy link
Collaborator Author

@rotu - I'm still interested in knowing how you got this to work, would you be willing to run rqt_graph on your running system and post back here? Even better would be a tutorial document. Do you have any bandwidth to help at all on this?

@rotu
Copy link
Contributor

rotu commented Oct 2, 2019

Oops! I'm sorry I dropped the ball and thanks for the reminder. The node is called "/se_node" in my graph.

rosgraph

@rotu
Copy link
Contributor

rotu commented Oct 2, 2019

And all my config lives here:

https://github.com/RoverRobotics/openrover-ros2/blob/master/openrover_demo/launch/presence.launch.py
https://github.com/RoverRobotics/openrover-ros2/blob/master/openrover_demo/config/presence.yaml

I'm not sure what tutorial would be helpful. It's just figuring out the parameters and topic mappings and such.

@mkhansenbot
Copy link
Collaborator Author

I'm just not clear on what purpose AMCL is serving vs the se_node. It looks like the map->odom /tf and the /odom topic are both being published by the se_node. If so, then is AMCL even needed?

@SteveMacenski
Copy link
Member

Without running it, it looks right to me with world_frame set to odom, its going to publish the odom-> base_link transform.

@rotu
Copy link
Contributor

rotu commented Oct 3, 2019

se_node has no absolute positioning info and doesn’t know about the map frame. /odom_raw has only velocity info. That also means that, in theory, the se_node positional uncertainty should grow forever, but that doesn’t matter since we’re getting the absolute position from amcl instead.

@mkhansenbot
Copy link
Collaborator Author

Based on this, I think the intention of this issue, which was to prove someone can use robot_localization with nav2, has been met. I'm closing this issue!

@SteveMacenski
Copy link
Member

I’d like to keep this open until there’s an official release of RL for ROS2 that we can validate against. Right now its various folks’ forks which don’t necessarily represent a stable state of RL stable with Nav2 stable

@mkhansenbot
Copy link
Collaborator Author

Fair enough, I just made you the owner of this ticket as it met my original intent already

@crdelsey crdelsey mentioned this issue Oct 11, 2019
16 tasks
@crdelsey crdelsey removed this from the E Turtle Release milestone Oct 28, 2019
@shivaang12
Copy link
Collaborator

Is someone working on this?

@SteveMacenski
Copy link
Member

SteveMacenski commented Nov 20, 2019

Slowly, there’s alot of long standing background tasks that move at glacial speeds. I just finally got all the ROS2 PRs merged into mainline after possibly the longest code review in history (thanks @klintan for sticking with me).

Next steps are to look at Rover’s fork and see if there’s anything worth adding or just different, thoroughly test, and deploy with bloom.

If you want to go through Rover’s fork (and anyone else that looks like they did substantial work on top of the ros2 branches) and PR anything that’s worth including back in mainline to RL, that would save me a bunch of time and I can skip right to release. I have a week scheduled for RL related work in 2 weeks time. The biggest time suck will be testing every nook and cranny then reenabling CI

@SteveMacenski
Copy link
Member

As an update, my PR has been merged and at a high level tested. Mabel has another PR to add the missing stuff from Melodic over to Dashing (think estimator, etc). Once that is in, we can probably do a release.

We are ready, though, to test the EKF and the UKF in Dashing against Navigation2. The basic stuff is there and in mainline for this work to actually take place now.

@SteveMacenski
Copy link
Member

SteveMacenski commented Jan 22, 2020

Shown to work as part of the ROS2 porting of RL

ghost referenced this issue in logivations/navigation2 Mar 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2 - Medium Medium Priority help wanted Extra attention is needed task
Projects
None yet
Development

No branches or pull requests

8 participants