Utterly terrifying. I expected ROS to be more complex than plugging-in USB comms to a robot, defining joints, and expecting motion, but this is all next-level stuff! Anybody who becomes comfortable with ROS will have developed very marketable tech skills extending far beyond just robotics...
Thank you so much for all the time you've put into these videos! You're great at explaining these concepts in a simple manner, you saved me hours! I'll definitely be looking forward to seeing more. Also, I don't know how you did it but the animated blueprints in your video are wonderful :)
Thanks so much! I made the really fancy animations with the fantastic Manim software (github.com/ManimCommunity/manim ) originally created by Grant Sanderson for his channel 3Blue1Brown. Most of my animation is done in the video editor I use (DaVInci Resolve), with the individual graphics created in Manim or Inkscape with transparent backgrounds, and overlaid, masked, transformed, etc.
thanks for your informative video, how would i start to build URDF file for my solidworks CAD model which have 50 parts which inter-related when its on operating condition. I used auto urdf generator for creating such enoromous urdf. which we planned to import it in Coppliasim. Would you give me a tip how to sub assemble such complicated mechanisms and CAD file.
Hey, i have a weird robot, it's composed of multiple pseudo universal joints (basically a ball joint) and driven by cables, how might i go about creating a urdf for those?
Hi Josh I'm following your videos. I have a doubt which is what is the difference between sdf and urdf files? Can we broadcast the transforms using sdf files? Thanks
SDF and URDF are similar but different formats. Gazebo uses SDF and ROS uses URDF. Typically ROS users write the URDF and Gazebo can automatically convert it to SDF. I am not aware of a way to broadcast transforms with SDF, but someone has probably made it!
Hello brother i need the urdf file of multiple swarm robots at least 4 robots I am using ros-noetic and gazebo 11 Please can you help me to send the urdf file
Is there any way to lint URDF? I am trying to create a basic motor simulation where the rotor on the motor body rotates. I am following the last tutorial and this one as closely as possible. I have a launch file that puts my parsed URDF robot description into the /robot_description path. When I load my robot model into RVIZ, I get "Status: Error" on the left panel in the GUI but not much more info than that. I am getting a message in terminal where RVIZ is running "Invalid frame ID "map" passed to canTransform argument target_frame - frame does not exist at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.13/src/buffer_core.cpp". I think this is just a warning and may not be the crux of the problem. My guess is that there is some fault in my URDF. Wondering if I might be able to parse return of Python xacro.process_file(xacro_file) to see if XACRO parsing was successful. Do you have any tips for determining successful conversion of XACRO to XML and whether or not that XML is something RVIZ could understand?
Okay, just discovered check_urdf command inside of ROS2. My URDF looks good. Not sure if you have any other tips on where I might look. Guess there are forums as well.
Hi John, sorry you're having issues (and I think you might have had another comment I never replied to somewhere? sorry about that). There are a few options, as you say there is check_urdf (which I didn't know about!). You can also run xacro from the command line and inspect the output to ensure it makes sense. The target frame issue means that you don't have the correct "Fixed frame" selected in the top-left corner of RViz, try switching this to whatever the first link in your URDF is. Let me know how that goes :)
Hey John, sorry I took so long to reply. In case you haven't already figured this one out (or for other viewers), you absolutely can. If you take a look at the launch file github.com/joshnewans/urdf_example/blob/main/launch/rsp.launch.py and substitute the package and executable strings for "joint_state_publisher_gui", and remove the parameters, it should work. Even better, you could copy-paste that whole "Node" construction, give the new variable a different name, and add it to the array in the LaunchDescription at the bottom to run both at once (the whole point of launch scripts). Finally, the best method would be to do something like this github.com/joshnewans/articubot_one/blob/main/launch/launch_sim.launch.py where you have a launch script for just robot_state_publisher, and then a different launch script that includes the rsp launch, and adds the joint publisher gui, or whatever other nodes you like on top :)
Hi I’m trying to run an example but full of struggle. I git clone the urdf_example. After that if I directly try to colcon build from the home depository I got a bunch of warnings and if I go to a workspace directory first, then it starts and finishes urdf_example. But when I try to run ‚ros2 launch urdf_example rsp.launch.py‘ I get package ‚urdf_example‘ not found: searching [‚opt/ros/foxy‘]
@@31.isnandaruprasetyo82Have you tried sourcing the workspace? “source install/setup.bash” I got the same error and I added this and it worked for me He also goes through the steps on the next video and he even includes the sourcing command as well.