captain-yoshi / BehaviorTree.MTC

Use MoveIt Task Constructor with BehaviorTree.CPP
MIT License
4 stars 2 forks source link

Port to ROS 2 #2

Open DaniGarciaLopez opened 1 month ago

DaniGarciaLopez commented 1 month ago

First of all, thanks @captain-yoshi for creating this repo. I had been planning to create something like this for a long time, and it's very helpful to see someone already making progress.

I've ported the current code to ROS 2. If you create a ros2 branch, I can prepare a PR.

Do you have a roadmap for the features you're planning to add?

captain-yoshi commented 1 month ago

Your welcome! It's still in the early stages. I think the hardest part was figuring out how to use stages unique_ptr with the BT blackboard.

We have an intern that will implement the required nodes to do the pick and place demo from mtc. This should take 2-3 weeks.

I'm planning to have all stages, solvers and some callbacks integrated into this library pretty soon.

captain-yoshi commented 1 month ago

I created a ros2 branch. I'm not familiar with ros2, so I won't be able help out.

DaniGarciaLopez commented 1 month ago

Those are pretty good news! Looking forward to the updates.

I have prepared a PR https://github.com/captain-yoshi/BehaviorTree.MTC/pull/3 porting the current code. The main differences are that task->loadRobotModel and PipelinePlanner require a node in ROS 2. I will investigate if there is a better way to do it, but as far as I could test, it works just fine.

I will keep this issue open as a reminder to monitor the updates and port them when they are ready.