I run ROS 2 in Docker for Windows to work around this problem. During development, I use VS Code DevContainers ( https://code.visualstudio.com/docs/remote/containers ) to code inside Docker environment. Unfortunately, I do not know any other solutions.
You may want to wait until WSL 2 is released later this month, that may fix the problems, since it uses a Linux kernel. WSL 1 translates syscalls calls to windows, that's why it is wacky.
Yes, I think a combination of both can work well. I think the biggest advantage is that people who don't have much experience can easily join a project, because Python is a really easy language to learn.
ROS + Rust just in reference to using ROS with the Rust programming language. I don't think there is any official support planned at the time but there are some libraries for Rust that would make it possible to use it for ROS.
I think Rust is a really promising language that is definitely worth looking into.
These are not so straightforward to use. Earlier this year i tried to switch to these but running only ubuntu18.xx made runing ros2 foxy/humble difficult.
There were docker solutions availbalbe but none were plug and play and I am not exactly familiar with docker. I tried beliveve me, but as a roboticist and not someone with internse software background docker was more confusing and none of the troubleshooting forums assumed my level of knowledge.
I actually ended up switching to a mini PC (https://www.amazon.com/Generation-Processors-Mini-TRIGKEY-PC/dp/B0B3LWMW65/ref=sr_1_1_sspa?keywords=trigkey+pc&qid=1666487617&sr=8-1-spons&psc=1)
not an SBC but worked for my formfactor. Used an arduino as a GPIO breakout solution and things have been running fine. increased our image recognition performance as well
I am working through this book and it shows promise. Take a look at this repository and the associated project as you might just find it interesting.
No need for drivers! You connect it via the UART to usb converter to your pc. Un Ubuntu the drivers for such converters are most likely already installed. Open a serial reader of your choice (minicom or very simple the one of the Arduino IDE). If everything works and you chooses the right port, you should see NMEA messages streaming in.
Buy a lidar unit that was made for the Neato vacuum cleaner. They sell for $35 on eBay or $20 on AliExpress. Or spend $100 on the same thing but with new warranty Slamtec-RPLIDARThese are 2D lidars that only look on a plane, but work well for navigation.
​
The other option is to not use lidar, but rather a depth camera. Depth can be converted to point cloud
Even better if you can do it is to place QR codes on the walls and ceiling. the QR is just a number then the robot looks up the location of the QR in a databse
​
How to get started? Look at a working example like Turtlebot.
There is also Nox. It is still in ROS kinetic, but it would be a fun challenge to update it to Noetic, right?
It's about $150-200, which is really the bare minimum to expect for ROS robots. If you have certain parts already, this could of course be cheaper.
Also for driver compatibility if working with real devices (not an issue in the beginning). Note that refit is no longer supported, you should use refind instead: http://www.rodsbooks.com/refind/installing.html#installsh
Thanks again for the help everyone.
Based on the responses, I'm putting together that monocular SLAM + unidirectional TOF sensor is NOT practical with available tech.
So based on the feedback from u/Harmonic_Gear and u/himalayan-goat I'm going to try two less expensive RGBD and synced binocular options and compare them:
I'll test them both out with rtabmat and see how it goes!
Thanks again!
What hardware are you running Ros on?
You can get a 10 dollar Cheap IMU and hook directly to a PI with I2C. Or if you have an Arduino lying around hook the IMU up to that and make a simple rosserial node.
There's probably a better way but this is how I've done it just because I had an Arduino and Arduino compatible IMU lying around.
remote control? I use an android app called "ros control" https://play.google.com/store/apps/details?id=com.robotca.ControlApp it publishes on a "joy stick" topic
​
edit - just realised you're on about a steering controller. I used the diff drive controller because I've got skid steer.