robot_calibration
robot_calibration copied to clipboard
ROS2 Port
- [x] Convert messages package to ROS2
- [x] Port robot_calibration library: base calibration
- [x] Port robot_calibration library: optimization components
- [x] Port robot_calibration library: refactor model/error parameters (we can't just store random XML-RPC like in ROS1)
- [x] Port robot_calibration library: capture management
- [x] Port finders library (mostly done - a few TODOs)
- [x] Port magnetometer calibration
- [x] Port calibration node
- [x] Test individual finders on a real robot
- [x] Update ubr1_calibration and test
- [x] Test base_calibration
- [ ] Test magnetometer calibration
- [x] Update documentation
- [x] Add documentation on porting from ROS1
Known Issues / Cleanup:
- [x] Led finder doesn't wait for action to complete (need to implement the async part)
- [x] Move Group interface doesn't wait for action to complete (need to implement the async part)
- [x] Joint trajectory action interface doesn't wait for action to complete (need to implement the async part)
https://github.com/mikeferguson/robot_calibration/pull/133
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
Further testing on UBR-1:
- Full capture works (in YAML mode)
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.
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.
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.