fosstodon.org is one of the many independent Mastodon servers you can use to participate in the fediverse.
Fosstodon is an invite only Mastodon instance that is open to those who are interested in technology; particularly free & open source software. If you wish to join, contact us for an invite.

Administered by:

Server stats:

10K
active users

#ros2humble

0 posts0 participants0 posts today
cyclical_obsessive<p>In ROS there is a URDF file (Universal Robot Description File) which allows the robot visualization application to show a symbolic robot and the robot and state publishers to update where the robot parts are located as the robot moves.</p><p>These files can be amazingly complex to get the values correct for every part of a robot to appear in the correct place, and for sensor data to be accurate. </p><p>Over the years I have created <a href="https://fosstodon.org/tags/GoPiGo3" class="mention hashtag" rel="tag">#<span>GoPiGo3</span></a> <a href="https://fosstodon.org/tags/URDF" class="mention hashtag" rel="tag">#<span>URDF</span></a> files. Today the GoPi5Go-Dave file:</p><p><a href="https://fosstodon.org/tags/ros2humble" class="mention hashtag" rel="tag">#<span>ros2humble</span></a></p>
cyclical_obsessive<p>Finally got around to diagramming ROSbot GoPi5Go-Dave&#39;s Software Architecture</p><p><a href="https://fosstodon.org/tags/GoPiGo3" class="mention hashtag" rel="tag">#<span>GoPiGo3</span></a> <a href="https://fosstodon.org/tags/Docker" class="mention hashtag" rel="tag">#<span>Docker</span></a> <a href="https://fosstodon.org/tags/RaspberryPi5" class="mention hashtag" rel="tag">#<span>RaspberryPi5</span></a> <a href="https://fosstodon.org/tags/RaspberryPiOS" class="mention hashtag" rel="tag">#<span>RaspberryPiOS</span></a> <a href="https://fosstodon.org/tags/Robot" class="mention hashtag" rel="tag">#<span>Robot</span></a> <a href="https://fosstodon.org/tags/ros2humble" class="mention hashtag" rel="tag">#<span>ros2humble</span></a></p>
cyclical_obsessive<p>Progress - GoPi5Go-Dave Robot Is Docking and Undocking 24/7 managed by ROS 2 nodes. </p><p>2024-08-26 19:16|dave_node.py| ---- GoPi5Go-Dave ROS Docking 928 : success at battery 10v after 2.5 h playtime</p><p>His stack:<br />- dave_node<br />- docking_node<br />- [slam_toolkit and nav2]<br />- [RTABmap]<br />- battery_node<br />- gopigo3_node<br />- odometer node<br />- ydLIDAR node<br />- oak_d_w_ros2 node<br />- teleop_joy node<br />- say_server node(Piper-TTS)<br />- safety_shutdown node<br />- I2C mutex</p><p><a href="https://fosstodon.org/tags/GoPiGo3" class="mention hashtag" rel="tag">#<span>GoPiGo3</span></a> <a href="https://fosstodon.org/tags/ROS2Humble" class="mention hashtag" rel="tag">#<span>ROS2Humble</span></a> <a href="https://fosstodon.org/tags/Robot" class="mention hashtag" rel="tag">#<span>Robot</span></a> <a href="https://fosstodon.org/tags/RaspberryPi5" class="mention hashtag" rel="tag">#<span>RaspberryPi5</span></a> <a href="https://fosstodon.org/tags/Docker" class="mention hashtag" rel="tag">#<span>Docker</span></a> <a href="https://fosstodon.org/tags/autonomous" class="mention hashtag" rel="tag">#<span>autonomous</span></a></p>
cyclical_obsessive<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@drfootleg" class="u-url mention">@<span>drfootleg</span></a></span> <br />&gt; ROS with real robot</p><p>Not a trained ROSer, but figured out from first robot node and keyboard driving, joystick driving, adding LIDAR, and URDF for visualizing my bot in rviz2 on the desktop, up to running SLAM on the bot.</p><p>I created a custom &quot;ROS 2 GoPiGo3 Robot Node&quot;, and then a set of guided &quot;tests&quot; with shell script commands to help remember how to do things.</p><p>Perhaps some useful stuff:</p><p><a href="https://github.com/slowrunner/ROS2-GoPiGo3/blob/main/Docs/Test_ROS2_GoPiGo3.md" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">github.com/slowrunner/ROS2-GoP</span><span class="invisible">iGo3/blob/main/Docs/Test_ROS2_GoPiGo3.md</span></a></p><p>and the node is at <a href="https://github.com/slowrunner/ROS2-GoPiGo3/blob/main/ros2ws/src/ros2_gopigo3_node/ros2_gopigo3_node/gopigo3_node.py" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">github.com/slowrunner/ROS2-GoP</span><span class="invisible">iGo3/blob/main/ros2ws/src/ros2_gopigo3_node/ros2_gopigo3_node/gopigo3_node.py</span></a></p><p><a href="https://fosstodon.org/tags/GoPiGo3" class="mention hashtag" rel="tag">#<span>GoPiGo3</span></a> <a href="https://fosstodon.org/tags/ros2humble" class="mention hashtag" rel="tag">#<span>ros2humble</span></a></p>
cyclical_obsessive<p><span class="h-card" translate="no"><a href="https://mastodon.social/@themagpi" class="u-url mention">@<span>themagpi</span></a></span> </p><p>&gt; Raspberry Pi projects?</p><p>Solved a month long mystery! </p><p>How to manage Raspberry Pi I2C device access inside ROS2/Ubuntu/Docker container **AND** outside the container in Raspberry PiOS Bookworm? </p><p>Docker invocation must map both the bus AND the mutex lock folder /var/lock/</p><p> <a href="https://fosstodon.org/tags/RaspberryPi5" class="mention hashtag" rel="tag">#<span>RaspberryPi5</span></a> <a href="https://fosstodon.org/tags/RaspberryPiOS" class="mention hashtag" rel="tag">#<span>RaspberryPiOS</span></a> <br /> <a href="https://fosstodon.org/tags/I2C" class="mention hashtag" rel="tag">#<span>I2C</span></a> <a href="https://fosstodon.org/tags/Mutex" class="mention hashtag" rel="tag">#<span>Mutex</span></a> <a href="https://fosstodon.org/tags/Docker" class="mention hashtag" rel="tag">#<span>Docker</span></a> <a href="https://fosstodon.org/tags/ROS2humble" class="mention hashtag" rel="tag">#<span>ROS2humble</span></a> <a href="https://fosstodon.org/tags/Robot" class="mention hashtag" rel="tag">#<span>Robot</span></a> <a href="https://fosstodon.org/tags/GoPiGo3" class="mention hashtag" rel="tag">#<span>GoPiGo3</span></a></p>
cyclical_obsessive<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@drfootleg" class="u-url mention">@<span>drfootleg</span></a></span> Another tip that has been plaguing me for a month! </p><p>If you have processes inside a Docker container and other processes outside the Docker container that need mutex protection such as I2C bus or SPI bus accesses, you need to map the bus (obviously) **and** the mutex folder! </p><p>I had the sensor access working great but could not figure out why my inside and outside &quot;mutex protected&quot; accesses were colliding...</p><p><a href="https://fosstodon.org/tags/GoPiGo3" class="mention hashtag" rel="tag">#<span>GoPiGo3</span></a> <a href="https://fosstodon.org/tags/Docker" class="mention hashtag" rel="tag">#<span>Docker</span></a> <a href="https://fosstodon.org/tags/RaspberryPiOS" class="mention hashtag" rel="tag">#<span>RaspberryPiOS</span></a> <a href="https://fosstodon.org/tags/mutex" class="mention hashtag" rel="tag">#<span>mutex</span></a> <a href="https://fosstodon.org/tags/ros2humble" class="mention hashtag" rel="tag">#<span>ros2humble</span></a></p>
cyclical_obsessive<p>Think I solved why my inside Docker (ROS 2) access to I2C INA219 current sensor was colliding with my outside Docker access to the device - forgot to map the /var/lock directory so the mutex is visible from both environments!</p><p><a href="https://fosstodon.org/tags/Docker" class="mention hashtag" rel="tag">#<span>Docker</span></a> <a href="https://fosstodon.org/tags/mutex" class="mention hashtag" rel="tag">#<span>mutex</span></a> <a href="https://fosstodon.org/tags/ina219" class="mention hashtag" rel="tag">#<span>ina219</span></a> <a href="https://fosstodon.org/tags/robot" class="mention hashtag" rel="tag">#<span>robot</span></a> <a href="https://fosstodon.org/tags/GoPiGo3" class="mention hashtag" rel="tag">#<span>GoPiGo3</span></a> <a href="https://fosstodon.org/tags/ros2humble" class="mention hashtag" rel="tag">#<span>ros2humble</span></a></p>
cyclical_obsessive<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@drfootleg" class="u-url mention">@<span>drfootleg</span></a></span> </p><p>&gt; ROS2 in Docker on PiOS Bookworm for Pi5</p><p>Tip: Break the build into two Dockerfiles - 1) the long base build, and 2) the experimental build steps that will fail a few times (quickly).</p><p>Check out my robot&#39;s Docker build steps and DockerFiles at <br /><a href="https://github.com/slowrunner/GoPi5Go/tree/main/config/docker" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">github.com/slowrunner/GoPi5Go/</span><span class="invisible">tree/main/config/docker</span></a></p><p><a href="https://fosstodon.org/tags/GoPiGo3" class="mention hashtag" rel="tag">#<span>GoPiGo3</span></a> <a href="https://fosstodon.org/tags/Docker" class="mention hashtag" rel="tag">#<span>Docker</span></a> <a href="https://fosstodon.org/tags/ros2humble" class="mention hashtag" rel="tag">#<span>ros2humble</span></a> <a href="https://fosstodon.org/tags/RaspberryPi5" class="mention hashtag" rel="tag">#<span>RaspberryPi5</span></a> <a href="https://fosstodon.org/tags/RaspberryPiOS" class="mention hashtag" rel="tag">#<span>RaspberryPiOS</span></a></p>
cyclical_obsessive<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@drfootleg" class="u-url mention">@<span>drfootleg</span></a></span> &quot;XYZZY&quot; RTABmap for now but somewhere deep in &quot;twisty little passages all different&quot; I hope to find:</p><p><a href="https://labhorizons.co.uk/2024/07/can-we-learn-from-insect-navigation-to-make-better-autonomous-robots/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">labhorizons.co.uk/2024/07/can-</span><span class="invisible">we-learn-from-insect-navigation-to-make-better-autonomous-robots/</span></a></p><p><a href="https://fosstodon.org/tags/GoPiGo3" class="mention hashtag" rel="tag">#<span>GoPiGo3</span></a> <a href="https://fosstodon.org/tags/Robots" class="mention hashtag" rel="tag">#<span>Robots</span></a> <a href="https://fosstodon.org/tags/ros2humble" class="mention hashtag" rel="tag">#<span>ros2humble</span></a> on <a href="https://fosstodon.org/tags/RaspberryPi5" class="mention hashtag" rel="tag">#<span>RaspberryPi5</span></a> in <a href="https://fosstodon.org/tags/Docker" class="mention hashtag" rel="tag">#<span>Docker</span></a> <a href="https://fosstodon.org/tags/ColossalCave" class="mention hashtag" rel="tag">#<span>ColossalCave</span></a></p>
cyclical_obsessive<p>Sometimes you can&#39;t fix your robot with software</p><p><a href="https://forum.dexterindustries.com/t/gopi5go-docking-in-progress/9717/14?u=cyclicalobsessive" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">forum.dexterindustries.com/t/g</span><span class="invisible">opi5go-docking-in-progress/9717/14?u=cyclicalobsessive</span></a></p><p><a href="https://fosstodon.org/tags/ros2humble" class="mention hashtag" rel="tag">#<span>ros2humble</span></a> <a href="https://fosstodon.org/tags/gopigo3" class="mention hashtag" rel="tag">#<span>gopigo3</span></a> <a href="https://fosstodon.org/tags/Robotics" class="mention hashtag" rel="tag">#<span>Robotics</span></a> <a href="https://fosstodon.org/tags/docking" class="mention hashtag" rel="tag">#<span>docking</span></a></p>
cyclical_obsessive<p>Success! Managed to install the <a href="https://fosstodon.org/tags/YDLidar_SDK" class="mention hashtag" rel="tag">#<span>YDLidar_SDK</span></a> inside a <a href="https://fosstodon.org/tags/ros2humble" class="mention hashtag" rel="tag">#<span>ros2humble</span></a> <a href="https://fosstodon.org/tags/Docker" class="mention hashtag" rel="tag">#<span>Docker</span></a> container on my <a href="https://fosstodon.org/tags/RaspberryPi5" class="mention hashtag" rel="tag">#<span>RaspberryPi5</span></a> powered <a href="https://fosstodon.org/tags/GoPiGo3" class="mention hashtag" rel="tag">#<span>GoPiGo3</span></a> <a href="https://fosstodon.org/tags/robot" class="mention hashtag" rel="tag">#<span>robot</span></a> and access the <a href="https://fosstodon.org/tags/YDLidarX4" class="mention hashtag" rel="tag">#<span>YDLidarX4</span></a> as a USB device. This rebuild in Docker on the Pi5 is a painful, slow setback now that promises more, faster.</p>
cyclical_obsessive<p>At this reduced transfer rate, the <a href="https://fosstodon.org/tags/GoPiGo3" class="mention hashtag" rel="tag">#<span>GoPiGo3</span></a> can make a two byte <a href="https://fosstodon.org/tags/SPI" class="mention hashtag" rel="tag">#<span>SPI</span></a> transfer in 0.0003 seconds, which means it can retrieve the left and right wheel encoder values roughly 1700 times per second - plenty fast enough for my <a href="https://fosstodon.org/tags/ros2humble" class="mention hashtag" rel="tag">#<span>ros2humble</span></a> robot to publish <a href="https://fosstodon.org/tags/wheelencoders" class="mention hashtag" rel="tag">#<span>wheelencoders</span></a> and the resultant <a href="https://fosstodon.org/tags/odometry" class="mention hashtag" rel="tag">#<span>odometry</span></a> at 30 Hz.</p>
cyclical_obsessive<p><span class="h-card" translate="no"><a href="https://m.xuv.be/@julien" class="u-url mention">@<span>julien</span></a></span> This is how I feel running <a href="https://fosstodon.org/tags/ros2humble" class="mention hashtag" rel="tag">#<span>ros2humble</span></a> in <a href="https://fosstodon.org/tags/docker" class="mention hashtag" rel="tag">#<span>docker</span></a> on the <a href="https://fosstodon.org/tags/RaspberryPi5" class="mention hashtag" rel="tag">#<span>RaspberryPi5</span></a> </p><p>I wanted the benefit of the Pi5 nap (RTC) and 2x performance over Pi4, but the current long term support version of ROS 2 will not run native on either of the Pi5 supported operating systems.</p><p>ROS over <br />Ubuntu in <br />Docker over <br />PiOS 64-bit Bookworm.</p><p>I end up having to rebuild my container (25 minutes) nearly every week for something.</p>
cyclical_obsessive<p>(Again) so excited that my <a href="https://fosstodon.org/tags/ros2humble" class="mention hashtag" rel="tag">#<span>ros2humble</span></a> wallfollower.py node drove my <a href="https://fosstodon.org/tags/Create3" class="mention hashtag" rel="tag">#<span>Create3</span></a> <a href="https://fosstodon.org/tags/robot" class="mention hashtag" rel="tag">#<span>robot</span></a> “WaLI (wallfollower looking for intelligence)” to follow 17 meters of six connected walls! </p><p>So far it is subscribing to five topics /ir_intensity (range to wall and obstacle detection), /hazard_detection (bumpers), /ir_opcode (virtual wall), /kidnap_status (lifted by human), and /odom (pose), and a seven state machine managing seven motion actions/reactions.</p><p>Now to “parameterize” and “generalize” it.</p>
cyclical_obsessive<p>Put together a 2-minute video for my <a href="https://fosstodon.org/tags/ros2humble" class="mention hashtag" rel="tag">#<span>ros2humble</span></a> <a href="https://fosstodon.org/tags/create3robot" class="mention hashtag" rel="tag">#<span>create3robot</span></a> with <a href="https://fosstodon.org/tags/RaspberryPi5" class="mention hashtag" rel="tag">#<span>RaspberryPi5</span></a> controller safely mapping and wandering the kitchen using the native IR intensity sensors:</p><p><a href="https://youtu.be/QqT7b5E8Cp0" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">youtu.be/QqT7b5E8Cp0</span><span class="invisible"></span></a></p>
cyclical_obsessive<p><a href="https://fosstodon.org/tags/SLAM_Toolbox" class="mention hashtag" rel="tag">#<span>SLAM_Toolbox</span></a> Mapping w/o Localization</p><p>Got slam_toolbox mapping with localization turned off, but managed to figure out how to serve up a better looking map from my house floor plan.</p><p>The weakness of dead reckoning <a href="https://fosstodon.org/tags/odometry" class="mention hashtag" rel="tag">#<span>odometry</span></a> becomes very evident with the floorplan map.</p><p>Next up - <a href="https://fosstodon.org/tags/DeadReckoning" class="mention hashtag" rel="tag">#<span>DeadReckoning</span></a> <a href="https://fosstodon.org/tags/navigation" class="mention hashtag" rel="tag">#<span>navigation</span></a> with <a href="https://fosstodon.org/tags/ros2humble" class="mention hashtag" rel="tag">#<span>ros2humble</span></a> <a href="https://fosstodon.org/tags/nav2" class="mention hashtag" rel="tag">#<span>nav2</span></a> and <a href="https://fosstodon.org/tags/map_server" class="mention hashtag" rel="tag">#<span>map_server</span></a></p>
cyclical_obsessive<p><a href="https://fosstodon.org/tags/Create3" class="mention hashtag" rel="tag">#<span>Create3</span></a>-Wali <a href="https://fosstodon.org/tags/Robot" class="mention hashtag" rel="tag">#<span>Robot</span></a> </p><p>Dress Rehearsal <br />Full Load <a href="https://fosstodon.org/tags/RaspberryPi5" class="mention hashtag" rel="tag">#<span>RaspberryPi5</span></a> <br />Power System Test</p><p>Full load (1min 4.96): No Throttling - NO PROBLEM.</p><p>Wali with 14.4v powered USB hub inside cargo drawer:</p><p>(WaLi: Wall follower Looking for Intelligence)</p><p>The Pi5 has <a href="https://fosstodon.org/tags/ros2humble" class="mention hashtag" rel="tag">#<span>ros2humble</span></a> running in <a href="https://fosstodon.org/tags/Docker" class="mention hashtag" rel="tag">#<span>Docker</span></a> over PiOS 64-bit Bookworm Desktop</p>
cyclical_obsessive<p><a href="https://fosstodon.org/tags/ROS" class="mention hashtag" rel="tag">#<span>ROS</span></a> - <a href="https://fosstodon.org/tags/Docker" class="mention hashtag" rel="tag">#<span>Docker</span></a> - <a href="https://fosstodon.org/tags/RaspberryPi5" class="mention hashtag" rel="tag">#<span>RaspberryPi5</span></a> !!!</p><p><a href="https://fosstodon.org/tags/slam_toolbox" class="mention hashtag" rel="tag">#<span>slam_toolbox</span></a> async mapping:<br />- Pi4 15% CPU (2% of RPi4)<br />- Pi5 5% CPU (1% of RPi5)</p><p>Much prefer configuring and running ROS 2 native on <a href="https://fosstodon.org/tags/Ubuntu22_04Lts" class="mention hashtag" rel="tag">#<span>Ubuntu22_04Lts</span></a> on Pi4 than configuring Docker on Pi5.</p><p>rViz2 in Ubuntu 22.04 in VM on Mac OS showing map and path.</p><p>slam-toolbox async in Docker on PiOS 64-bit Bookworm on Pi5 (2 ssh sessions)</p><p><a href="https://fosstodon.org/tags/GoPiGo3" class="mention hashtag" rel="tag">#<span>GoPiGo3</span></a> <a href="https://fosstodon.org/tags/robot" class="mention hashtag" rel="tag">#<span>robot</span></a> on Ubuntu 22.04 on Pi4 (4 ssh sessions)</p><p>All talking to each other - pretty impressed with <a href="https://fosstodon.org/tags/ros2humble" class="mention hashtag" rel="tag">#<span>ros2humble</span></a></p>
cyclical_obsessive<p>We are hounded to code for expected error cases, but frameworks sometimes do it for us.</p><p><a href="https://fosstodon.org/tags/ROS2" class="mention hashtag" rel="tag">#<span>ROS2</span></a> Humble seems to have broken the SIGINT handling associated with timers and callbacks. Control-c in Galactic never caused an exception, but in C++ or Python, Humble complains &quot;terminate called after exceptions::RCLError&quot;.</p><p>I posted months ago on answers.ros.org with no takers.</p><p>Am I the only person using <a href="https://fosstodon.org/tags/ros2humble" class="mention hashtag" rel="tag">#<span>ros2humble</span></a>?</p>