dingo-cpr / dingo_robot

3 stars 7 forks source link

ROS2 Integration #5

Open SyllogismRXS opened 3 years ago

SyllogismRXS commented 3 years ago

Are there any efforts to get ROS2 working on the Dingo? I am purchasing a Dingo and I would like to use ROS2 moving forward.

tonybaltovski commented 3 years ago

Hi @SyllogismRXS, the target for ROS2 on Dingo is spring 2011 but an exact timeline cannot be provided. Leaving open for visibility.

SyllogismRXS commented 3 years ago

FYI: I started migrating the robot description and Gazebo configuration to ROS2 Foxy and Gazebo11 over in my RIF Robotics organization account: https://github.com/RIF-Robotics/dingo

HosseinSheikhi commented 2 years ago

Hi @tonybaltovski , is there any timeline for ROS2 support?

SyllogismRXS commented 2 years ago

I have the simulation working with ROS2/Nav2 in Gazebo11. On the actual robot, I run Nav2 in a docker container and I use ROS1 to run the low-level Dingo specific driver code. It's not all perfectly clean yet, but it works. Check out the RIF-Robotics organization page and let me know if you need help getting it to work. I plan on writing a blog post about my progress, but I need to get the time to do that.

HosseinSheikhi commented 2 years ago

@SyllogismRXS I have create the simulation as well, but importing actual robot driver to ROS 2 is not as straight forward as it is in simulation. its good to know that docker scenario is working, thanks. Just a quick question: Are you using both Ubuntu 18.04 for melodic and 20.04 for foxy or earlier? and what is your robot's PC -am using Xavier-?

joe28965 commented 2 years ago

We got a Dingo-D as a result of the 2020 PartnerBot Grant and have it running using only ROS 2. There are still a few things missing, but a big chunk is there.

We're working on sending an update for the PartnerBot Grant which should be send by the end of next week.

HosseinSheikhi commented 2 years ago

@joe28965 are you going to share the code by then?

joe28965 commented 2 years ago

Oh yeah, they're just forks of the original repos https://github.com/SaxionMechatronics/dingo_simulator https://github.com/SaxionMechatronics/dingo https://github.com/SaxionMechatronics/dingo_desktop https://github.com/SaxionMechatronics/dingo_robot https://github.com/SaxionMechatronics/puma_motor_driver

Only works for the Dingo-D though, ros2-control doesn't have MechanumDriveControl yet and we don't have a Dingo-O, so we haven't added one either. The yaml files for the Dingo-O have to be updated as well, but then it should work.

joe28965 commented 2 years ago

I'm not sure if @tonybaltovski would be interested in a foxy-wip branch?

HosseinSheikhi commented 2 years ago

For those who find this thread: I have built whole dingo packages from source on noetic (ubuntu 20.04). To this aim, you have to install some other dependencies including ridgeback packages + serial + puma_motor_driver from the source. So, in this way you do not need to set up a docker anymore.

tonybaltovski commented 2 years ago

Hi all,

Sorry for the late replay. We are working on ROS2 support for the Dingo platform soon. PRs are welcome.

joe28965 commented 2 years ago

@tonybaltovski I could make some PRs from the stuff we have atm (driving using ROS 2 Foxy only, as seen in this LinkedIn post). However, I can't make a new branch when creating a PR and I can't really push it into a random branch.

Currently, our puma_motor_driver is PR ready but I would need a 'foxy-devel' (or foxy-wip, whatever you like) branch on Clearpaths repo.

Of course the same would apply to the Dingo specific repos: https://github.com/dingo-cpr/dingo https://github.com/dingo-cpr/dingo_robot https://github.com/dingo-cpr/dingo_desktop https://github.com/dingo-cpr/dingo_simulator

Those other 4 repositories need some extra work before they're 'clean' enough to PR, so that would have to wait until next week or the week after that.

tonybaltovski commented 2 years ago

All repos now have a foxy-devel.

FullMetalNicky commented 2 years ago

For those who find this thread: I have built whole dingo packages from source on noetic (ubuntu 20.04). To this aim, you have to install some other dependencies including ridgeback packages + serial + puma_motor_driver from the source. So, in this way you do not need to set up a docker anymore.

@HosseinSheikhi Would you mind sharing the steps for installing the Dingo packages on Noetic? Did you try it on Dingo-O?

HosseinSheikhi commented 2 years ago

I neither remember nor have a doc for installing packages, but it is straight fwd. This is my workspace if it might help. Yes, for Dingo-O.

FullMetalNicky commented 2 years ago

@HosseinSheikhi Thanks! I will give it a try today. Just to make sure I get it right, what is the empty Ridgeback folder? It is a submodule?

KastB commented 1 year ago

Hi, what are the current plans regarding the ROS2 integration for the Dingo? What is the suggested approach for those who want to run the Dingo with ROS2? It seems like there had been no PR for the foxy-devel branch, no changes to the code on the fork for ROS2 for the last year, and it seems like the prototype for the ROS2 support was based on a PR, which was never (and will never?) be merged to ros_canopen. Is there currently a better solution than a ros_bridge?

tonybaltovski commented 1 year ago

@KastB it is in-progress. The limitation now is that the Dingo's MCU uses rosserial and needs to be updated for ROS2.

KastB commented 1 year ago

@tonybaltovski Thank you very much for your answer. The only issue on this topic I could find is closed with the remark, that it was a dead end: https://github.com/ros2/ros2/issues/365 Is there a path to solution for this issue I haven't seen/found or do we have to assume it is indefinitely stalled for now?