Learn the operating system for viewing using Gazebo and controlling simple robots
This is at https://bomonike.github.io/ros with source at https://github.com/bomonike/bomonike.github.io/blob/master/ros.md
https://classic.gazebosim.org/tutorials?tut=ros_urdf
https://gazebosim.org/docs/ionic/spawn_urdf/
The robotics industry is rapidly evolving, with companies innovating in areas like industrial automation, healthcare, defense, consumer products, and autonomous systems. Many of these companies are pushing the boundaries of artificial intelligence, computer vision, and advanced mechanical engineering to create increasingly capable and versatile robotic systems.
Major Players:
Innovative Startups:
Specialized Robotics Companies
VIDEO: The “first human-like robot to space” went onboard the NASA STS-133 ULF-5 mission to the International Space Station “to become a permanent resident” on the orbiting spacecraft. With a pair of robotic arms and nimble hands, the humanoid robot known as Robonaut2 (R2) can “one day venture outside the station (for EVA) to help spacewalkers to make repairs or additions to the station or perform scientific work.”
“It can lift heavy objects in space. But then, since everything is weightless, anyone can.”
The IEEE catalogs robot projects at
https://robots.ieee.org/robots/
Oliver Foote talks Mechatronics on his YouTube channel
ROS (Robotic Operating System) is the de facto standard for robot programming. It provides libraries and tools to help software developers create robot applications. It provides hardware abstraction, device drivers, libraries, visualizers, message-passing, package management, and more.
ROS was originally developed in 2007 at
Stanford university’s Artificial Intelligence Laboratory.
Since 2013 it is managed by the OSRF (Open Source Robotics Foundation) at openrobotics.org and offered free to use under open source BSD license at
https://github.com/ros
But in December 2022, the business of OSRC and OSRC-SG was acquired by Intrinsic.ai, an Alphabet (Google) company that sells a the Flowstate robot developer environment.
“ROS” and “ROS2” are referenced interchangeably nowaday.
This “classic” version of Gazebo at v1.9 reaches end-of-life in January 2025.
URDF (Unified Robot Description Format) is a popular code-independent, human-readable format to describe the geometry of robots and their cells. It’s XML in format.
https://wiki.ros.org/urdf
It’s used for collision checking and dynamic path planning. Think of it like a textual CAD description: “part-one is 1 meter left of part-two and has the following triangle-mesh for display purposes.”
Currently, its limitations:
There are several ways to obtain a URDF file for Gazebo:
Pre-processed Example: The rrbot.urdf from the gazebo_ros_demos package is a readily available example.
https://gazebosim.org/docs/latest/spawn_urdf/
GitHub Repositories: Some repositories like mybot_ws at https://github.com/richardw05/mybot_ws provide URDF models with different configurations:
The URDF syntax breaks proper formatting with heavy use of XML attributes, which in turn makes URDF more inflexible. There is also no mechanism for backward compatibility.
To deal with this issue, a new format called the Simulation Description Format (SDF) was created for use in Gazebo. http://sdformat.org Also XML, SDF is a complete description for everything from the world level down to the robot level. It is scalable, and makes it easy to add and modify elements. The SDF format is itself described using XML, which facilitates a simple upgrade tool to migrate old versions to new versions. It is also self-descriptive.
The Prop Shop at https://3dprop.store is an on online repository of 3D models.
The influential October, 2024 publication
https://www.thoughtworks.com/radar/languages-and-frameworks/summary/ros-2
says:
“ROS 2 is an open-source framework designed for the development of robotic systems. It provides a set of libraries and tools that enable the modular implementation of applications, covering functions like inter-process communication, multithreaded execution and quality of service. ROS 2 builds on its predecessor by providing improved real-time capabilities, better modularity, increased support for diverse platforms and sensible defaults. ROS 2 is gaining traction in the automotive industry; its node-based architecture and topic-based communication model are especially attractive for manufacturers with complex, evolving in-vehicle applications, such as autonomous driving functionality.”
ROS runs within Ubuntu 14.04 (not other Linux flavors).
ROS modules can be written in any language for which a client library exists (C++, Python, Java, MATLAB, etc.).
Python - VIDEO
MATLAB - MATLAB
https://github.com/siemens/ros-sharpROS# is a set of open source software libraries and tools in C# for communicating with ROS from .NET applications, in particular Unity3D
https://docs.google.com/presentation/d/1qPtCeO6QDLKaYEKVROqICuv20lecLNQAEz7J8GD73c4/edit#slide=id.g119ec7c0a1_0_190
https://wiki.ros.org/Industrial/supported_hardware
Richard Wang https://www.youtube.com/watch?v=lgWnBWncRkU Closed-loop Control of a Hardware Robot in ROS (part 5)
https://www.instructables.com/id/Autonomous-Mobile-Robot-Using-ROS/
http://wiki.ros.org/ROS/Installation
http://wiki.ros.org/indigo/Installation/Ubuntu
http://wiki.ros.org/catkin/workspaces
Gazebo, Bullet, Issac
Gazebo visually simulates (displays) what the robot does.
http://gazebosim.org/tutorials
The Gazebo software includes a database of many robots and environments (Gazebo worlds)
rosrun gazebo_ros gazebo
Catkin is the ROS build system to generate executables, libraries, and interfaces.
A CMake-based build system that is used to build all packages in ROS.
Build the Eclipse project files with additional build flag
§ The project files will be generated in ~/catkin_ws/build
catkin_make
Setup a Project in the Eclipse IDE:
catkin build package_name -G"Eclipse CDT4 - Unix Makefiles" -DCMAKE_CXX_COMPI
Directly clone to your catkin workspace.
Using a common git folder is convenient if you have multiple catkin workspaces.
Open a terminal and browse to your git folder
cd ~/gits
Clone the Git repository with
git clone https://github.com/ethzasl/ros_best_practices.git
Symlink the new package to your catkin workspace
ln -s ~/git/ros_best_practices/ ~/catkin_ws/src/
Launch files are written in XML as *.launch files
The ROS Master manages the communication between nodes.
Every node registers at startup with the master.
Start a master with
roscore
See http://wiki.ros.org/Master
Run a talker demo node with
rosrun roscpp_tutorials talker
http://robotwebtools.org/ IS A COLLECTION OF OPEN-SOURCE MODULES AND TOOLS FOR BUILDING WEB-BASED ROBOT APPS.
http://robotwebtools.org/demos.html
(jstnhuang on GitHub), PhD student in robotics at the University of Washington in Seattle, Washington
ROS tutorial #1: Introduction, Installing ROS, and running the Turtlebot simulator 135K views
ROS tutorial #2: Publishers and subscribers 39K views
ROS tutorial #2.1: C++ walkthrough of publisher / subscriber lab 41K views
Tutorial Thursday! #1: ROS basics 47K views
pfankhauser@ethz.ch rsl.ethz.ch at rsl.ethz.ch in Zurich, Switzerland
Programming for Robotics (ROS) Course
2 Eclipse IDE C++ Slides at PDF
3 UI, Robot Models TF Transformation System http://wiki.ros.org/tf2 rqt User Interface Robot models (URDF) Unified Robot Description Format describes your robot. (composition, length of the different parts of the arm, which joints it contains, etc.) The MoveIt! assistant for configuration.
roslaunch moveit_setup_assistant setup_assistant.launch
Simulation descriptions (SDF) sdformat.org See PDF
4 Slides at https://github.com/ethz-asl/ros_best_practices/wiki
[ROS tutorial for beginners] Chapter 1- Intro to Robot Operating System The Construct 12K views
Mastering ROS for Robotics Programming - Second Edition February 26, 2018 By Lentin Joseph, Jonathan Cacace | $39.99 $8 Discover best practices and troubleshooting solutions when working on ROS.
ROS Robotics Projects By Lentin Joseph | $39.99 $8
Build a variety of awesome robots that can see, sense, move, and do a lot more using the powerful Robot Operating System.
Effective Robotics Programming with ROS - Third Edition By Anil Mahtani et al. | $39.99 $20.00 Find out everything you need to know to build powerful robots with the most up-to-date ROS.
rosrobots.com Exciting Robotics Projects and Tutorials using ROS Build a variety of awesome robots that can see, sense, move, and more using the powerful Robot Operating System. Packt Book talks about interfaces to self-driving cars, Leap Motion VR, Tensor Flow.
ROS Robotics By Example - Second Edition November 30, 2017 By Carol Fairchild, Dr. Thomas L. Harman | $39.99 $20.00 Learning how to build and program your own robots with the most popular open source robotics programming framework.
http://www.ros.org/browse/list.php
github.com/ethz-asl/ros_best_practices/wiki
“All I want is a two-finger robot that presses up/down buttons on a remote device.”
VIDEO http://www.openbionics.org focus on robotic hands with 5 fingers.
VIDEO: The microdot push by Naran is it (for $50). But it’s out of stock.
https://www.youtube.com/watch?v=7TVWlADXwRw What Is ROS2? - Framework Overview
https://www.robotshop.com/collections/clearpath-robotics
https://store.arduino.cc/products/alvik 158,60 For an obstacle avoidance robot to a smart warehouse automation robot car. Powered by the versatile Nano ESP32. MicroPython and Arduino language. soon plans to introduce block-based coding Sensors: Alvik’s Time of Flight, RGB color and line-following array sensors, along with its 6-axis gyroscope and accelerometer. Comes with LEGO® Technic™ connectors, M3 screw connectors for custom 3D or laser-cutter designs.
Servo, I2C Grove, and I2C Qwiic connectors Add motors for controlling movement and robotic arms, or integrate extra sensors
https://www.franka.de/co is based in Munchin (Munich), Germany
https://www.youtube.com/watch?v=bXo68UFNyhk Torque sensors in all seven axes enable the arm to manipulate delicate objects such as jewlery.
https://www.youtube.com/watch?v=MI4QqJY6nJA The $700 MyCobot Pi robot arm from Elephant Robotic has 6 DoF.
It’s driven by a Raspberry Pi.
https://www.youtube.com/watch?v=q35VVfmouX8 Should you Buy a Robotic Arm? by Austen Paul
https://www.youtube.com/watch?v=e3TNaIyTAnY I Made a Robot Arm to Hold My Camera [$500] by 3DprintedLife
https://www.youtube.com/watch?v=rfJUuSfouM4 What the heck is a $279 Corne 42 MX split keyboard? Made my own 36-key. by Adam Learns https://adamlearns.live/
Lily58
https://www.youtube.com/watch?v=fU2H1dTXcJU Review: Sofle Split Mechanical Keyboard – build, encoders, choc switches. Full Review. by Ben Frain
https://www.youtube.com/watch?v=rvM2BthjEI4 Building My Endgame Split Keyboard from Scratch
https://www.youtube.com/watch?v=PhxM8o__9Xo My Journey From Mechanical to Ergonomic Keyboards | The Story of Kaly
https://www.youtube.com/watch?v=h_ex-oMVOrI Building Dactyl Cygnus by Juha Kauppinen
https://www.youtube.com/watch?v=N_mZEbJmKYg Prebuilt Split Keyboards Aren’t Overpriced by If Coding Were Natural
https://www.youtube.com/watch?v=fU2H1dTXcJU Review: Sofle Split Mechanical Keyboard – build, encoders, choc switches. Full Review. Ben Frain
https://www.youtube.com/watch?v=IJxuzyO9b8M How to Build a Custom Keyboard From Scratch | Part 1 Layout and Design by Casual Coders
https://www.youtube.com/watch?v=EOaPb9wrgDY Try the keyboards for yourself: https://adumb-codes.github.io Code for all my videos is available at: https://github.com/sponsors/adumb-codes/
https://www.youtube.com/watch?v=riqmW3UHqPY My favorite ergo split keyboard so far EIGA
https://www.youtube.com/watch?v=7UXsD7nSfDY I Built My Dream Keyboard from Absolute Scratch Christian Selig
https://www.youtube.com/watch?v=Ong_-2G9RDM the endgame keyboard by Joshua Blais
https://www.youtube.com/watch?v=l5kAx08Iom4 How to Build a Wireless Lily58 Keyboard Joe Scotto
https://www.youtube.com/watch?v=WxcBEXkQoSE Creating the MOST POWERFUL AI Agent for Your Second Brain by Logan Hallucinates
https://education.vex.com/stemlabs/cs
https://releases.ubuntu.com/noble/
Install Conda
Install ROS2 using RoboStack
Create a new Conda environment
conda create -n ros2 python=3.9
Activate the environment:
conda activate ros2
conda install -c robostack ros-humble-desktop
conda deactivate
brew install gazebo
Install additional ROS2-Gazebo packages
conda activate ros2
conda install -c robostack ros-humble-gazebo-ros ros-humble-gazebo-ros-pkgs
gazebo
rviz2