This is the routine thread where we discuss what you'll be working on this week! A cool robot? A computer vision project? Something cool in reinforcement learning? 3d printing a drive train? Let us know!
Maybe instead you're studying something, or reading a paper that just came out? Post about it!
It’s also okay to say “nothing” too - it’s great for your mental health to take a break!
Looking for help? Ask a question! See someone working on something cool? Ask them about it! No project is too small or too "newbish"!
Last week I started going through ROS2 lessons online in order to familiarize myself on it for some upcoming projects.
First I spent time working on utilizing vagrant, a tool by Hashicorp for building "repeatable" (debatable overuse of that term, but I'll digress) dev environments and VM images to quickly set up versioned ROS environments for me. This was actually pretty easy and after a few hours I had a setup I liked. I will report that I do have some issues running Gazebo in VM on the laptop (to be expected) though it's smooth on the beefier desktop. I am still suffering from occasional complete VM freeze ups - irrecoverable, though the host machine shows no lag or issues there. I think it'll still work for a quick setup of ROS2 for a project team.
Now I'm going through the nav2 stack in ROS and trying to familiarize myself with it. I'm not sure what the scope of the upcoming project is going to be (it's the capstone team project for the entirety of my Masters, so there's a bit of time before decisions have to be finalized). Once that's done I'll probably dive into Webots simulator (especially since my own Gazebo is proving unstable).
I'm beginning to migrate a self driving car SW stack that is based on ROS1 to ROS2. Not a lot of people in my company are familiar with ROS2 so I'm on my own for the time being. It's going to be a lot of work but I think it will be a fun journey. I worked on the original ROS1 based project from the beginning so I think I am prepared, but many things have changed in ROS since I started the project so I have a lot to catch up. I will also have to understand the workings of many packages contributed by my previous collaborators too. Wish me luck!
For the self driving car, are we talking about hobbyist size (ie Donkey car), add on tech (ie Comma OpenPilot) or full on autonomous vehicle? Sounds really cool.
Upgrading from an old tech stack to a newer one is always a pain, especially in Python - one of the reasons I hate that it's so widely adapted for deep learning, CV, and robotics.
Hopefully you'll regale us with details, this sounds fascinating.
Thanks for your interest :)
This is a full scale vehicle project which I participated in its development during my PhD. All my lab colleagues put their own package based on their specializations (perception/decision/control). It actually began as my hobby project when I was frustrated with the lab's legacy MATLAB+LabView based SW and HW. I am now working in a startup company that bought the technology from the lab.
The code works, but the code quality suffers since it's been developed by newbies(most of the lab members are from ME background so their computer skills aren't stellar, and this was everyone's first rodeo with ROS) so the company's goal is to clean up and refactor the codebase while we are updating the system to a modern ROS version. Sadly the company is still small and I hope we get more people on board to speed up the process. On the bright side, I have a lot of opportunities to contribute.
BTW I totally agree with what you mentioned about Python. The old codebase is using ROS melodic which still supported Python 2.7, which makes things even harder. I also have to check if the dependencies are met in new Python versions while updating the code to 3.x versions. One more problem is that when we are deploying our code in our clients' systems we wish to hide our source code as much as possible but Python packages are posing to be a problem in that aspect. I would be happy to hear some tips regarding that issue. Most of our C++ code is fine, but many of our homemade packages are mainly Python scripts.