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

ROS2 Port #132

Open
16 of 17 tasks
mikeferguson opened this issue Jun 13, 2022 · 6 comments
Open
16 of 17 tasks

ROS2 Port #132

mikeferguson opened this issue Jun 13, 2022 · 6 comments
Assignees

Comments

@mikeferguson
Copy link
Owner

mikeferguson commented Jun 13, 2022

  • Convert messages package to ROS2
  • Port robot_calibration library: base calibration
  • Port robot_calibration library: optimization components
  • Port robot_calibration library: refactor model/error parameters (we can't just store random XML-RPC like in ROS1)
  • Port robot_calibration library: capture management
  • Port finders library (mostly done - a few TODOs)
  • Port magnetometer calibration
  • Port calibration node
  • Test individual finders on a real robot
  • Update ubr1_calibration and test
  • Test base_calibration
  • Test magnetometer calibration
  • Update documentation
  • Add documentation on porting from ROS1

Known Issues / Cleanup:

  • Led finder doesn't wait for action to complete (need to implement the async part)
  • Move Group interface doesn't wait for action to complete (need to implement the async part)
  • Joint trajectory action interface doesn't wait for action to complete (need to implement the async part)
@mikeferguson
Copy link
Owner Author

#133

@mikeferguson
Copy link
Owner Author

Tested on UBR-1:

  • LED finder works
  • calibration_data is output properly
  • manual mode works properly (although launch files do not forward stdin to the node, so I had to launch via bash script)
  • have not yet tested full calibration since I don't have a bagfile to load
  • have not yet tested moveit interface

@mikeferguson
Copy link
Owner Author

Further testing on UBR-1:

  • Full capture works (in YAML mode)

@peterdavidfagan
Copy link

peterdavidfagan commented Apr 26, 2023

Hi @mikeferguson,

Thanks for open sourcing this library. I am currently looking to use it in order to perform Hand-Eye calibration.

Full capture works (in YAML mode)

I have setup my configuration according to your README.md and the UBR-1 example you provided. I plan to manually move my robot using MoveIt rather than specifying poses (although if for some reason this shouldn't work I will look to specify poses in a yaml file). I have been able to spin the calibrate node and I get so far as the prompt for collecting samples, with this being said I observe a few warnings and issues that I am still debugging. Should I expect the checkerboard_finder and manual capturing of samples to work on the ROS 2 branch?

I believe the answer is yes based on the below but I wished to verify if this was the case (since "in YAML mode" might imply otherwise):

[x] Test individual finders on a real robot

I am happy to provide further details of the output I am seeing and my overall setup. I am also happy to contribute if there are things that need to be implemented to get this to work. Finally I'll continue reading through the code so that I am more informed on what might not be working in my setup.

@mikeferguson
Copy link
Owner Author

Should I expect the checkerboard_finder and manual capturing of samples to work on the ROS 2 branch?

Yes I would expect it to work - manual mode definitely works (here is how I use it on UBR1) - and checkerboard finder has been tested on ROS2 as well.

If you're having specific issues with your setup, I'd recommend opening a new ticket with details and we can debug it there.

@peterdavidfagan
Copy link

Thanks so much @mikeferguson for the confirmation on this.

I'll spend further time tomorrow debugging to see if I can get to the bottom of what is going wrong in my setup. If I resolve it myself and I think it would be informative for others I'll post a follow up here. If I struggle to get it to work I'll open an issue as you suggested above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants