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

ROS 2 Foxy update #13

Closed
wants to merge 9 commits into from

Conversation

joe28965
Copy link

@joe28965 joe28965 commented Feb 2, 2022

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

@lcbw
Copy link

lcbw commented Apr 25, 2023

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!

@joe28965
Copy link
Author

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.

@lcbw
Copy link

lcbw commented Apr 28, 2023

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).

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!

@joe28965
Copy link
Author

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.

@skpawar1305
Copy link

skpawar1305 commented Nov 14, 2023

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

@skpawar1305
Copy link

skpawar1305 commented Nov 15, 2023

I've uploaded the current packages I use to this org
https://github.com/orgs/dingo-o-humble/repositories
there's also a working webots simulation package with velodyne and nav2

@tonybaltovski
Copy link
Member

Closing since foxy is EOL and Humble will be here: https://github.com/clearpathrobotics/clearpath_robot

@skpawar1305
Copy link

@tonybaltovski
hello, I've tested a ros-bridge with docker setup for ros2 humble
https://github.com/dingo-o-humble/dingo_ros1_bridge
it works well, I'll just share it here if anyone needs it for the time being.
I hope you don't mind..🤝

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

Successfully merging this pull request may close these issues.

4 participants