-
Notifications
You must be signed in to change notification settings - Fork 7
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
ROS 2 Foxy update #13
Conversation
Hi @joe28965 - Can you explain further how this communications update works with the system? did you need to update the MCU to run ubuntu 20.04 noetic or are you able to communicate from it's older version of ros1 to this system? do you have a bridge running between the MCU and the dingo main computer? does the MCU already look for some library and you've named this new dingo_hardware one appropriately? is the old ROS 1 code running elsewhere? thank you! |
I've only got partial stuff working for Foxy. It's also been a few years since this MR and I have since switched jobs, so I might be a bit rusty here. Also this MR is kinda the main one. The motors are sent over CAN to the MCU and doesn't actually use the ROS communication for that. As a result, I was able to update just the main PC stuff on the Dingo (puma motor drivers and the hardware_interface mainly for this part) and with the old ros_canopen mr mentioned in the puma motor drivers MR (check the first link). That's how I got the robot driving, by only updating the main PC to Ubuntu 20 and Foxy. The other ROS stuff on the MCU is batteries levels/diagnostics/the 4 LED strips/etc. That did not work when we created this MR. It was mostly created because Clearpath (and others) mentioned the desire to have a Foxy-branch (or at the very least Foxy-WIP branch. The problem with the MCU is that I was unable to find its code anywhere. That meant I couldn't update it to ROS2 using micro ROS. If you want the diagnostics and other stuff, you will need to run a bridge for that (and update those libraries to Foxy as well). I never tried this, because I wanted to focus on getting Nav2 working on Dingo (which we were able to do, that's in one of the MR as well). I hope this helps you get on your way. |
Hello @joe28965 - to clarify this phrase: Do the PC and the MCU communicate over CAN? (or just the MCU to the motors?) I'm having a tough time establishing communication between the PC and the MCU. thank you so much for your help and congratulations on the job change! |
PC sends commands to the MCU using can to control the motors. You need to turn the Ethernet port to can. There was a can programs running on Ubuntu 18 on the dingo. You need to do the same on Ubuntu 20 to get it working. |
hello, thank you for your efforts, we had a dingo omni lying around in my Uni, and I made it run on humble with few changes |
I've uploaded the current packages I use to this org |
Closing since foxy is EOL and Humble will be here: https://github.com/clearpathrobotics/clearpath_robot |
@tonybaltovski |
This is the update for ROS 2 Foxy.
An important thing to note is that only the Dingo-D has been updated, since that's the one we received. Updating the Dingo-O stuff was not part of the scope of our project.
Furthermore, since the MCU still runs ROS 1 with ROS serial, I only updated dingo_hardware and made it into its own library (which is also needed for ROS 2 control anyway). The other stuff is still ROS 1 code and is simply commented out in the CMakeList