/r/ROS

Photograph via snooOG

This subreddit is for discussions around the Robot Operating System, or ROS.

This sub is for discussions around the Robot Operating System, or ROS.


Note that ROS (aka ROS 1) and ROS 2 are different. Please mention which one you're talking about when asking for help or starting a discussion.


See also

Both ROS (aka ROS 1) and ROS 2

ROS 1

ROS 2


If you're looking for help, please read the support guidelines before asking your question. Following those guidelines really helps in getting your question answered.

It is also recommend to post your question on Robotics Stack Exchange, since that is meant to be the central place for questions about ROS. You can of course post here and link to your Robotics Stack Exchange question.


Rules

  1. Be civil and respectful
  • Do not harass or insult others, and avoid poisoning the mood.
  • No spam or plain advertisements
    • No posts/comments that are just plain ads. You can, for example, link to a specific blog post on your website, link to a video on your YouTube channel, etc. as long as it is relevant, that it is not low-effort, and that you do not spam.
  • ROS-related posts only; stay on topic
    • Posts have to be ROS-related. Comments should not substantially derail the conversation.
  • Memes are allowed; make sure to also follow rules 2 and 3
    • As long as you follow rules 2 and 3, you can post memes. If /r/ROS turns into /r/ROSmemes, then we will reconsider this rule as a community.
  • No vague "plz help me" requests
    • If you need help about something, ask specific questions and provide as much information as possible, including the error message (as text) if applicable. Follow the ROS support guidelines (link is in the sidebar).

    Also see reddit's rules and the ROS etiquette.


    Related subreddits

    /r/ROS

    24,562 Subscribers

    2

    Controlling steppers using MicroROS and an RP2040/RP2050 for each motor - good idea or bad idea?

    Hey all,

    As I'm going through learning about all this stuff, I'm finding out the limitations of my hardware choices so far.

    Thankfully, this is just a hobbyist robot manipulator of my own design and zero commercial value, so I can afford to make mistakes, but the latest one I've stumbled upon is the limitations of just how fast you can pulse PWM to an A4988 stepper driver from an Arduino or ESP32.

    The arm at the moment has four steppers, and for smooth motion I'm going to want to use IK to calculate the destination and then have all the motors move at the same time to the correct locations.

    The advice seems to be that an arduino/ESP will struggle with this, and that the ODroid drivers are my best bet, which is fine, except my total budget for the robot is 99% less than the cost of a single ODroid controller, and everything so far has been based on what I had lying around on my workbench.

    I've got a number of RP2040-based Pi Pico's, and now I'm wondering if there are any reasons why I shouldn't install MicroROS2 on those and use them purely as the controller/sensor for the steppers.

    This would effectively give me a "fan out" architecture from a messaging point of view, as the hardware interface controller code would calculate the position that each motor needs to reach, and then send 4 messages on the queue (one to each RP2040) to move the motors to the correct position.

    Is this a daft idea? Is it better than using something like GRBl ROS and a CNC driver board? What do you think?

    1 Comment
    2024/12/21
    18:41 UTC

    2

    Trouble using diff drive, lidar and camera plugin on gazebo fortress in ROS2 Humble

    I'm trying to spawn a mobile robot to spawn in gazebo fortress, earlier I was able to spawn my robot in gazebo classic but I have no idea about gazebo fortress. So are there any tutorials or link from where I can actually spawn my robot in gazebo.

    0 Comments
    2024/12/21
    16:28 UTC

    4

    ROS seems interesting but…

    Can’t find a windows version!

    Is there something else besides RTab map you can recommend?

    16 Comments
    2024/12/21
    15:11 UTC

    2

    Simple ros2 grasp service

    A long time ago, I had to perform a simple pick-and-place task. Back then, MoveIt2 wasn’t fully ported to ROS2, so I created a very simple ROS2 grasp service. It utilizes the joint trajectory controller and is very easy to set up, but the solution has very limited use cases. The package includes a demo.

    Repo: https://github.com/Wiktor-99/ros2_grasp_service
    Working example video: https://youtube.com/shorts/ndO6BQfyxYg

    0 Comments
    2024/12/19
    16:26 UTC

    1

    Rtab + D455f : recommended settings?

    I would like some help with what settings is good with Realsense D455f.

    0 Comments
    2024/12/19
    16:01 UTC

    2

    Weird Timestamps

    Hey, I am controling a kuka kr10 over RSI and read out the joint position, engine current etc. also over lan i get data from a ni-DAQ and Force Data from a force sensor. I then stamp each of the data vector3stamped messages and publish it to a collecting node and a GUI. Its all working quite well, but i have a weird issue with timestamps.

    Say I get the first messages at 0.150s after start and sample with 100Hz. My program is running as expected till exactly 1.000s. Then it still samples the correct data, but the timestamps are wrong till exactly 1.100s. its then running smoothely till 2.000, the times are wrong again till 2.100 and so on.

    Also, the wrong timestamps are all wrong in the same style. I try to explain:
    - With 100Hz I have 10 wrong data points (100Hz in 0.1s). So the stamps should be 1.010, 1.020, 1.030... till 1.100

    - The actual stamps are 1.190, 1.280, 1.370, 1.460 in random order... So the Data is correct, but the timestamps are evenly spread over the 0.9 seconds after the 1.100s mark.

    It also doesnt matter if i update the topic at 100Hz or 250Hz or 1000Hz, if I only meassure one sensor or multiple ones. its also the same on every sensor or message. its always 1.0000 to 1.1000 and sample_rate * 0.1s wrong entrys, even with different sample rates in different nodes at the same time

    Can someone give me a hint? I have no idea what is happening....

    The timestamps are created with

    rclcpp::Clock().now()

    Here is a part of the csv, meassured in 250Hz

    0.976091729,0.1193,0.7284,-0.0136

    0.980014051,0.118,0.7312,-0.009

    0.984028136,0.1237,0.7331,-0.0149

    0.988028003,0.1185,0.739,-0.0093

    0.992049337,0.1168,0.7428,-0.0165

    0.996041527,0.1199,0.7484,-0.0114

    1.48485,0.1214,0.7482,-0.0117 Here starts the scramble

    1.4052169,0.1197,0.7581,-0.016

    1.8058249,0.1185,0.7561,-0.0138

    1.12066124,0.1173,0.7633,-0.0107

    1.16066946,0.1228,0.7679,-0.016

    1.20103973,0.1169,0.772,-0.0135

    1.24085942,0.1183,0.7737,-0.0096

    1.28079597,0.1239,0.7821,-0.0113

    1.32040962,0.1176,0.7833,-0.0133

    1.36081446,0.1193,0.791,-0.018

    1.40078668,0.1205,0.7918,-0.012

    1.43997299,0.1229,0.7905,-0.0103

    1.48092159,0.1207,0.8006,-0.0115

    1.52124575,0.1179,0.8047,-0.0103

    1.5614722,0.121,0.8024,-0.0167

    1.60161798,0.122,0.8047,-0.013

    1.64141276,0.1189,0.8143,-0.0163

    1.68117098,0.1215,0.8211,-0.0138

    1.72116665,0.1216,0.8165,-0.0123

    1.76153632,0.1215,0.8246,-0.0193

    1.80050347,0.1176,0.8281,-0.0177

    1.84047894,0.1174,0.8288,-0.013

    1.88140766,0.1232,0.8357,-0.0146

    1.92063878,0.1168,0.8404,-0.0125

    1.96068443,0.1215,0.8451,-0.0173 This is the 25. scambled entry (So 250Hz in 0.1s)

    1.100054557,0.1169,0.8456,-0.0113 Here its correct again

    1.104038104,0.1259,0.8521,-0.0155

    1.108083671,0.1194,0.8548,-0.014

    1.112053966,0.1199,0.8596,-0.0149

    1.116073176,0.1226,0.8591,-0.0167

    1.120077553,0.1208,0.8663,-0.0144

    0 Comments
    2024/12/19
    14:48 UTC

    1

    D455f Rtab map setup?

    I’m new to this!

    I get an image with depth and RGB but I do not seems to record odometry.

    Can’t find the error

    Rtab map on windows.

    0 Comments
    2024/12/19
    13:22 UTC

    10

    RL algorithm using gz sim and ros2

    Hello everyone, I have one custom environment of mine which I want to use for RL training. I have access to the vehicle's lidar data, odom, camera, cmd_vel etc in environment. I can convert it to ros topic using gz_ros. However the issue is I don't know how can i convert my world into RL environment and how to setup its step function, render or reset. Any guidance or github repo would be appreciated!

    11 Comments
    2024/12/19
    12:24 UTC

    0

    Help with ROS drone...willing to pay

    Modeling 1, drone path planning simulation, a regular high-rise building that can randomly generate "disease" (i.e., identifiable targets) is established in the simulation software, simulating the drone flying around the building, and retaining the simulation flight data.

    Simulation and program 2, the program is designed according to flight characteristics, with obstacle avoidance based on laser slam: 1, maximum disease detection, minimum flight time 2, maximum disease detection, shortest flight path 3, maximum disease detection and its shortest flight path and time. Three comparisons, retain the data, select one as the final choice program, the standard is the number of detected diseases / (distance × time). Discuss with you: First, the program can generate path coordinates by inputting the length, height, and width of a rectangular building. Second. Fully autonomous exploration.

    Subroutine 3, a program for adjusting the drone's attitude in response to a single detected disease. With a 3m parallel view distance, it can center the detected disease in the middle of the screen through automatic body adjustment and align it.

    4 Comments
    2024/12/19
    06:58 UTC

    7

    Autonomous Vehicle Project

    Hello!

    I’m working on my first project in ROS2 Humble after completing tutorials on fundamentals, and because of my ambitions, I’ve decided it to be relevant to AVs - just a simple lane keep simulation for now and will go from there, with plans to purchase hardware and move on from simulation based.

    I had a brief conversation with a Founder/CEO of a robotics company who tells me to do the work from a low level and not just tack on a fancy SLAM package. This is pretty sound advice and I want to follow through with it, except I’m not entirely sure how to get things going.

    I had a back and forth with chatGPT to get some ideas but I have to say I didn’t find it particularly helpful. What’s the best way to move forward?

    7 Comments
    2024/12/19
    06:02 UTC

    8

    The best course to learn ROS from beginning

    Can you suggest me a free or cheap cource for ROS for a beginner

    17 Comments
    2024/12/18
    18:12 UTC

    27

    My Digital Twin is working - Thank you!

    Massive thanks to everyone who has put up with my rantings and ramblings on here over the past few months, as a result of all your help I now understand ROS2 enough to have a digital twin of my self-designed robot arm working in Gazebo:

    https://reddit.com/link/1hh6mui/video/6uko70kt4n7e1/player

    I've already built the robot, so now I "just" need to create the control interface which is going to be a challenge as I don't really know C++ and have done everything in Python up until now, but the whole point of this is a learning exercise, so here we go!

    FWIW, this is the built robot (there are legs for the platform that are not attached here!):

    https://preview.redd.it/4rwku1qu5n7e1.jpg?width=4032&format=pjpg&auto=webp&s=d868a2e358191ff13347f88b10ee1e36b34ddb34

    Thanks again for all the help!

    5 Comments
    2024/12/18
    17:24 UTC

    2

    Is it possible to create a hardware interface in ROS2 (Jazzy) using Python?

    Hey folks,

    My robotics project is starting to come together quite nicely and I can simulate the robot arm I've developed in Gazebo.

    I now want to move on to controlling the hardware, however the course I've been following states that "at the time of recording this lesson, hardware interfaces are only possible in C++".

    I don't know when the lesson was recorded, and I'm struggling to find anything in the docs about this, so I'm hoping someone here can confirm whether this is still the case?

    If not, and it is possible to create these interfaces in Python, can someone point me in the direction of the right links as much of my google searching has only turned up github issues that aren't relevant.

    14 Comments
    2024/12/18
    15:56 UTC

    5

    Robotics arm

    Any recommendations for a ROS compatible robotics arm 1000-1500 USD for education’s purposes?

    6 Comments
    2024/12/17
    23:49 UTC

    2

    Why Did The Robot Break? How I implemented our robotics telemetry system, and a deep dive into the technologies we're using at Urban Machine (feel free to AMA!)

    4 Comments
    2024/12/17
    22:30 UTC

    3

    Simulating camera in Gazebo

    Hi

    So I am trying to simulate simple RGBD camera in Ignition Gazebo using ros2 humble. I already made sdf file with camera and object that camera looks onto. Cameras (RGB and depth) have topic linked, however topics aren't visible for rqt and RVIZ. Should I create package that somehow manages that? Is camera simulated in Ignition Gazebo node itself? I'm beginner in ROS so any piece of advice or even keywords would mean a world to me.

    Camera sdf code below:

    <model name='RGBD_camera'>
          <pose>0 0 0 0 0 0</pose> <!-- Cameras at 0,0,0 -->
          <visual name="visual">
            <geometry>
              <box size="0.1 0.1 0.1"/>
            </geometry>
            <material>
              <ambient>0 0 1 1</ambient>
            </material>
            
          </visual>
          <!-- RGB Camera -->
          <link name='rgb_camera_link'>
            <sensor name='rgb_camera' type='camera'>
              <pose>0 0 0 0 0 0</pose>
              <update_rate>30</update_rate>
              <always_on>1</always_on>
              <visualize>true</visualize>
              <camera>
                <horizontal_fov>1.047</horizontal_fov>
                <image>
                  <width>640</width>
                  <height>480</height>
                  <format>RGB_INT8</format>
                </image>
                <clip>
                  <near>0.1</near>
                  <far>100</far>
                </clip>
              </camera>
              <topic>/rgb_camera/image</topic>
            </sensor>
          </link>
    
          <!-- Depth Camera as a child link -->
          <link name='depth_camera_link'>
            <pose>0 0 0.001 0 0 0</pose> <!-- Slightly offset to avoid overlap -->
            <sensor name='depth_camera' type='depth_camera'>
              <pose>0 0 0 0 0 0</pose>
              <update_rate>30</update_rate>
              <always_on>1</always_on>
              <visualize>true</visualize>
              <camera>
                <horizontal_fov>1.047</horizontal_fov>
                <image>
                  <width>640</width>
                  <height>480</height>
                  <format>RGB_INT8</format>
                </image>
                <clip>
                  <near>0.1</near>
                  <far>100</far>
                </clip>
              </camera>
              <topic>/depth_camera/image</topic>
            </sensor>
          </link>
        </model>
    2 Comments
    2024/12/17
    22:16 UTC

    2

    turtlebor3_navigation plath planning

    i am try to change the default path planning from dwa_local_planner to dwb_local_planner but i am faceing this issuse.

    https://preview.redd.it/iponk9wgme7e1.png?width=982&format=png&auto=webp&s=482325539c1378aba5a922126138eb7490b076af

    I dont know how to solve it , help plz

    0 Comments
    2024/12/17
    12:41 UTC

    1

    Building Your First ROS 2 Robot Ep.1: 3 Key Skills Before All

    0 Comments
    2024/12/17
    10:58 UTC

    1

    Error with launch file

    I am getting this error when I try to start a gazebo world with my launch file in a package(roslaunch my_package world.launch) -

    SUMMARY

    ========

    PARAMETERS

    * /gazebo/enable_ros_network: True

    * /rosdistro: noetic

    * /rosversion: 1.17.0

    * /use_sim_time: True

    NODES

    /

    gazebo (gazebo_ros/gzserver)

    gazebo_gui (gazebo_ros/gzclient)

    auto-starting new master

    process[master]: started with pid [18177]

    ROS_MASTER_URI=http://localhost:11311

    setting /run_id to 0d946216-bbf2-11ef-a34e-00155d0062cb

    process[rosout-1]: started with pid [18187]

    started core service [/rosout]

    process[gazebo-2]: started with pid [18190]

    process[gazebo_gui-3]: started with pid [18197]

    /opt/ros/noetic/lib/gazebo_ros/gzserver: 19: export: -: bad variable name

    /opt/ros/noetic/lib/gazebo_ros/gzclient: 19: export: -: bad variable name

    [gazebo-2] process has died [pid 18190, exit code 2, cmd /opt/ros/noetic/lib/gazebo_ros/gzserver -e ode xxxxxxx __name:=gazebo __log:=xxxxx/.ros/log/0d946216-bbf2-11ef-a34e-00155d0062cb/gazebo-2.log].

    log file: xxxxxx/.ros/log/0d946216-bbf2-11ef-a34e-00155d0062cb/gazebo-2*.log

    [gazebo_gui-3] process has died [pid 18197, exit code 2, cmd /opt/ros/noetic/lib/gazebo_ros/gzclient __name:=gazebo_gui __log:=xxxxxxxx/.ros/log/0d946216-bbf2-11ef-a34e-00155d0062cb/gazebo_gui-3.log].

    log file: xxxxxx/.ros/log/0d946216-bbf2-11ef-a34e-00155d0062cb/gazebo_gui-3*.log

    Tried a bunch of things but can't seem to get around it! Anyone have an idea?

    0 Comments
    2024/12/16
    21:21 UTC

    3

    Best Documentation Practice/tools for large, multi-disciplined projects

    Hey I am looking at building a robot professionally with a team of 1-3 people.

    Any one have any experience with a documentation system or tool that incorporates all the different disciplines into one easy to see/deal with place. (mechanical drawings/assembly, electrical schematics, software design/docs, and BOM level stuff)

    I would love to just have something pull it all together and am willing to pay for this as it will save us and our customer SO much time.

    Any advice or direction is great!

    1 Comment
    2024/12/16
    17:52 UTC

    6

    Hey, anyone here tried GLIM ?

    GLIM

    It's a versatile localisation and mapping library , it uses IMU , lidar ,etc. for mapping any reviews about its precision , I am planning to use it with realsense D435i and external IMU . Plz list any advantages, disadvantages or difficulties you found while using GLIM

    2 Comments
    2024/12/16
    14:40 UTC

    0

    What is ROS

    What is ROS and what all can it do? What is Gazeebo (I've heard it's one of the best thing inside it) Next, are there any carrier opportunities in ROS For learning ROS are there any pre-requisites? What all should I learn with ROS

    8 Comments
    2024/12/16
    13:49 UTC

    1

    Gui in ros2 using qtpy5

    Hi so I am working on a project and I want to have good ui for it but but I don't know which one will be good, I have tried qt but I am unable to get rviz2 graphics to my qt window. How to do it?

    2 Comments
    2024/12/16
    13:48 UTC

    6

    Deploy robot

    Hi,

    As I am building my own robot alone, I wanted to know if a experienced robotics engineer who delivered robots to client can provide some guidelines about deploying robots with ros2.

    For now I am using a jetson platform with docker where I install most of the ros2 packages that I need such as nav2, ros2_control,...etc using sudo apt-get install.

    My question is: when it comes to delivering the final product to a client, what are the steps and process to follow? for example should I download and build from source the packages or I can still use sudo apt-get install?

    How to update the software if needed from distance?

    How do you monitor the robot from distance if needed?

    Please feel free to add answers to questions that I didn't ask.

    Thank you.

    4 Comments
    2024/12/16
    11:55 UTC

    3

    TurtleSim with Gazebo?

    Hi all! I m learning ROS2 for developing a robot controller using Gazebo. I saw many tutorials on YouTube that use TurtleSim or Rviz. If i use Gazebo for visualization do i need this programs? Which could be it function if i use Gazebo? Thanks a lot!

    1 Comment
    2024/12/16
    10:41 UTC

    4

    The truth about ROS jobs | ROS Developer Podcast #131

    0 Comments
    2024/12/16
    09:41 UTC

    Back To Top