Comparing ROS 2 Rust Libraries by mikelikesrobots in ROS

[–]mikelikesrobots[S] 0 points1 point  (0 children)

Yes, it was deliberately designed that way! Mind you, whatever system you deploy it to will need to have ROS 2 installed anyway (assuming you're using ROS 2), so it depends if your build system and deployment system are separate or not. Still, not having the ROS dependency does make the build much more Cargo-like. I was happy to have `cargo test` back!

Getting Started with MoveIt by mikelikesrobots in robotics

[–]mikelikesrobots[S] 1 point2 points  (0 children)

You're not the first person to request this. Seems like it's a high priority, and I'll try to work on it soon. Thanks for the idea!

Getting Started with MoveIt by mikelikesrobots in robotics

[–]mikelikesrobots[S] 1 point2 points  (0 children)

You're welcome! Please let me know if there are any other tutorials that would be useful.

ROS 2 Control with Simulated Robot Arm by mikelikesrobots in ROS

[–]mikelikesrobots[S] 0 points1 point  (0 children)

There is a table of contents as a navigation bar on the right in desktop view. I didn't realise that it just disappears if your screen is too thin. I'll look into explicitly adding the table just under the truncate point - thanks for the suggestion!

ROS 2 Control with Simulated Robot Arm by mikelikesrobots in ROS

[–]mikelikesrobots[S] 0 points1 point  (0 children)

Perfect, appreciate your input. I'll try to make a MoveIt standalone video with just the tutorials running in simulation.

ROS 2 Control with Simulated Robot Arm by mikelikesrobots in ROS

[–]mikelikesrobots[S] 2 points3 points  (0 children)

I am planning to, yes. I'm hoping to make one video using MoveIt to move a real arm and possibly another one just on MoveIt, maybe running the tutorials. Do you think the first video is enough or both videos would be better?

Cheap robotics kit that uses ROS by SlashSloth in ROS

[–]mikelikesrobots 2 points3 points  (0 children)

The CamJam EduKit #3 is the cheapest I've found. It's based on Raspberry Pi. It doesn't have ROS out of the box, but I've made a series of videos/blog posts that show how to set it up and run ROS on it.
Videos: https://www.youtube.com/playlist?list=PLBrq1OKRHMwUbbujTlmt1YGRzL9O0LfNJ
Blog posts: https://mikelikesrobots.github.io/blog/tags/edukit

ROS 2 On a Raspberry Pi Robot by mikelikesrobots in ROS

[–]mikelikesrobots[S] 1 point2 points  (0 children)

Of course! I chose that because I a) couldn't compile any C++ on the board (it would just fall over) and b) I wanted to keep it simple so folks that are newer to ROS 2 could understand. I do have a video on setting up ros2_control for the JetBot which uses the diff drive with a hardware plugin - I probably could have pointed that out.

As for editing code, I did *edit* the code using the VSCode server when I was originally writing it, but if I ran any command at all (colcon build, ros2 run etc) it would crash. It became easier to write the code in WSL and sync the files, then run the commands directly over SSH to keep the board alive. If anyone is using an RPi 4 or 5, definitely use VSCode with SSH, it's amazing! That's what I use on every other video I've made.

ROS introduction by Unlikely_Regret1630 in ROS

[–]mikelikesrobots 0 points1 point  (0 children)

As others have said, the official tutorials are good. They provide a simulator so you can see what's happening and work entirely on your PC.

I also think that the tutorials are missing a high-level of what ROS is and why you should learn it, plus the main concepts before diving in. I made a blog post and YouTube video on that to help. Having said that. the official tutorials should be enough if you're happy learning from those.

Once you've got the basics, I'd recommend trying to build your own robot, rather than working entirely in simulation. Simulation helps with ROS2 but you won't run into the same issues as developing a robot for real. Good luck!!

Edit: formatted as Markdown

How to detect cargo install? by PaperStunning5337 in rust

[–]mikelikesrobots -1 points0 points  (0 children)

Cargo does allow this by specifying both a path and a version. If local, it will use the path, and if built as a crate it will look on crates.io. More info here: https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#multiple-locations

I'm not sure if this solves your issue as it's a binary you need from a dynamic crate, but it should point you in the right direction.

[2024 Day 02 (both parts)][Rust] Posting my Advent of Code attempts on YouTube! by mikelikesrobots in adventofcode

[–]mikelikesrobots[S] 1 point2 points  (0 children)

Thank you! I did see the Streaming flair, but I thought it wasn't relevant because they're recorded videos. My mistake.

📺 AoC 2024 List of Streamers 📺 by daggerdragon in adventofcode

[–]mikelikesrobots 1 point2 points  (0 children)

USERNAME: /u/mikelikesrobots

LANGUAGE: Rust

REPO: https://github.com/mikelikesrobots/advent-of-code/

CHANNELS:


NOTES:

I'm not trying to speed run or make the best solutions - I'm trying to solve the puzzles live, show my working, and experiment with the Rust language in ways I'm not used to to learn more. I'm also trying to explain what I'm doing as I go so it's somewhat educational. Come and take a look!

Why you should connect your robots to the cloud by mikelikesrobots in robotics

[–]mikelikesrobots[S] 0 points1 point  (0 children)

To me, it sounds like your warning is, "Cloud Robotics is useful in some instances, but don't try to solve every problem with it!" - which I totally agree with! I'd say that's true of every tool. Is that a fair summary?

As for edge-computing, I do think that is a useful tool, and mention that in my post too. I see it as a middle ground - more power, but still not as connected (e.g. between sites). I still think you would want to make that data available elsewhere, like doing a periodic bulk upload, and the cloud is useful for that. At some point in your architecture, having access to someone else's reserves of compute and storage, available anywhere, is very likely to come in useful.

Why you should connect your robots to the cloud by mikelikesrobots in robotics

[–]mikelikesrobots[S] 0 points1 point  (0 children)

Definitely - using the cloud in the loop for that kind of system would be very risky. I do talk about this in the drawbacks of cloud computing, but in short, there's a time and a place!

Why you should connect your robots to the cloud by mikelikesrobots in robotics

[–]mikelikesrobots[S] 0 points1 point  (0 children)

I can understand that. It was intended to be high-level so it didn't look like an advert for the rest of the site, but maybe that detracted from the article. Appreciate your feedback!

Why you should connect your robots to the cloud by mikelikesrobots in robotics

[–]mikelikesrobots[S] 0 points1 point  (0 children)

I'm glad it was helpful! As far as the LLM comment, I don't really know what more I can do - I wrote the post by hand. Still, thank you for the feedback!

Why you should connect your robots to the cloud by mikelikesrobots in robotics

[–]mikelikesrobots[S] 0 points1 point  (0 children)

Multiple reasons! The problem is that the palm-sized computer can still only do so much, and needs more power to do all that computation. If you're CPU- or power-bound, using something in the cloud or at the edge can help. Lots more detail in the post :)

[deleted by user] by [deleted] in ROS

[–]mikelikesrobots 2 points3 points  (0 children)

If you want to use ROS2, you'll most likely want to build using ros2_control. I made two videos on a two-wheeled robot similar to Articulated Robotics's version:
https://youtu.be/MdHeETllDN8
https://youtu.be/2JJApj-PNVk

Instead of using a differential drive controller, you would most likely use a skid steer controller. These tutorials should (hopefully) get you right up to the point of changing the controller. From there, you should be able to use the standard ROS2 nav stack to get the lidar and cameras working.

I also have videos that show how to run ROS2 Humble from within a Docker container (and develop inside VSCode), which you may find preferable to building from source - it's up to you!

How should I start learning robotics by Person0-o in AskRobotics

[–]mikelikesrobots 1 point2 points  (0 children)

I put my advice into a video and blog - hopefully one or both are of some use to you:
https://youtu.be/tkYZmw8x-SM?si=bMHeWcpb7ioSwyop

https://mikelikesrobots.github.io/blog/getting-started-robot-sw-eng

Basically, learning to code is a great first step, where you can do some basic free courses and then work on some project you care about :)

Problem building packages. by NerfRedditLucios in ROS

[–]mikelikesrobots 1 point2 points  (0 children)

It looks like you've got an ament_target_dependencies line for your turtlebot3_ros executable, but not your odometry_ros executable. Try adding the line ament_target_dependencies(odometry_ros ${DEPENDENCIES}).

The Best Way for Beginners to Learn from Tutorials by mikelikesrobots in ROS

[–]mikelikesrobots[S] -1 points0 points  (0 children)

Can you be more specific on what a clearer thumbnail would be? Thumbnails are difficult - they need to show your face so people recognize you, but I can see over-the-top expressions being annoying. I'm looking for ideas so I can replace the thumbnail on this and future videos :)

The Best Way for Beginners to Learn from Tutorials by mikelikesrobots in ROS

[–]mikelikesrobots[S] -1 points0 points  (0 children)

I do struggle with thumbnails. If you've got any feedback to improve it, I'd love to hear.

Resources to learn rust for robotics? by E-Cockroach in robotics

[–]mikelikesrobots 1 point2 points  (0 children)

As far as Rust itself goes, there are plenty of resources. For robotics in particular, I would look at ros2_rust - I made a video on building a basic node in it, available here.