Explore chapters and articles related to this topic
A Review of Human–Robot Interaction for Automated Guided Vehicles Using Robot Operating Systems
Published in Anand Sharma, Sunil Kumar Jangir, Manish Kumar, Dilip Kumar Choubey, Tarun Shrivastava, S. Balamurugan, Industrial Internet of Things, 2022
Prashant Hemrajani, Tanishka Mohan, Manoj Kumar Bohra, Amit Kumar Bairwa
AGVs are battery-powered machines that generally work using GEL-based batteries. Their software framework is based on the Robot Operating System (ROS). ROS is an interface that gathers software frameworks for creating robot software. A number of sensors are involved in its working; for example, the proximity sensor helps in the detection of movement, which directly contributes to making it start or stop. Photosensors help in the detection of objects in the vehicle's pathway. The speed controlling is usually dealt with by fuzzy inference systems. Lane paths, signal paths, or signal beacons are used for navigating in an optimized manner and predicting danger in the path. Visual-based sensors are used for vehicular guidance and provide a lookout of its surroundings. The control system helps in automatic accurate pathfinding, motion control, localization, and mapping parallelly. The progress of navigation technology has contributed significantly to the growing utilization of AGVs. The transfer device sends a signal to the control device, after which the driving device receives a signal, which further moves the vehicles [1, 2] in the desired direction.
Empirical Evaluation of a Complete Hardware and Software Solution for UAV Swarm Networks
Published in Fei Hu, Xin-Lin Huang, DongXiu Ou, UAV Swarm Networks, 2020
Carlos Felipe Emygdio De Melo, Maik Basso, Marcos Rodrigues Vizzotto, Matheus Schein Cavalheiro Correa, T'U Lio Dapper E Silva, Edison Pignaton De Freitas
ROS is a highly regarded framework that provides support for developing robot applications. In short, ROS is a pseudo operating system as it needs a host system, such as Linux, to be executed. It contains package management tools, simulators and hardware abstractions. These features facilitate development and applications are easily extensible. Applications built on top of the ROS are distributed in the form of packages, which consist of sets of programs and scripts used for execution, compilation and simulation. These programs are called nodes, and communication among them is provided by a server named roscore, which enables the development of distributed applications.
Architecture
Published in Hanky Sjafrie, Introduction to Self-Driving Vehicle Technology, 2019
As a middleware, it provides a collection of tools and libraries that facilitate the development of robot applications. As well as offering a communication infrastructure that supports seamless distributed communication across machines, it also supports different modes of communication such as asynchronous (using a topic), synchronous (using a service), and data storage (using a parameter server) [3]. Thanks to its flexible client library architecture, ROS applications can be implemented using many programming languages, including C/C++, Python, C#, Ruby, Go and Java. However, support for languages other than C/C++ and Python is still considered experimental at the time of writing.
Teams of robots in additive manufacturing: a review
Published in Virtual and Physical Prototyping, 2023
Abdullah Alhijaily, Zekai Murat Kilic, A. N. Paulo Bartolo
However, the most popular and most developed middleware is the Robot Operating System (ROS) (Koubaa 2016; Quigley et al. 2009). ROS is open-source and designed to be extendable by the community. It features a collection of tools and functions that simplifies communications with robots, and includes different graph concepts, such as nodes, topics, and messages. Nodes are executables that communicate with other nodes (e.g. a node that controls the extruder and another node that measures the nozzle temperature). Topics are buses that exchange data between nodes. Messages are the data transferred between topics. One of the communications means in ROS is the publisher/subscriber model where a node publishes or subscribes to a topic. ROS allows the user to integrate it with other frameworks such as OpenRAVE and Player. It also supports a wide range of actuators, sensors, and robots in the market. ROS has been used in cooperative AM mainly for device control and communications (Zhang et al. 2018). However, it is not dedicated to real-time applications and was not developed for cooperative robots. However, these limitations were addressed through the development of ROS2 allowing its usage for cooperative robots and real-time robotic applications (Why ROS 2? 2021). Figure 19 shows how ROS can be used as a middleware for an AM system based on mobile robots, which can be easily expanded for cooperative AM.
Development and evaluation of a search-and-rescue robot Paripreksya 2.0 for WRS 2020
Published in Advanced Robotics, 2022
Rajesh Kannan Megalingam, Shree Rajesh Raagul Vadivel, Anandu Rajendraprasad, Akhil Raj, Siddharth Baskar, Ragavendra Balasubramani Marutha Babu
Modern-day robotic systems are complex hardware devices, and they comprise multiple sensors, actuators and control devices [12,13]. The robotic systems are usually managed by complex distributed software frameworks like Robot Operating System (ROS) [14,15]. ROS is an open-source software framework for robotic simulations and hardware applications [16,17]. ROS provides multiple software tools like Gazebo, a robot simulator and Rviz – a real-time visualization tool [18]. The community support for ROS is very strong and can contribute effectively to any kind of robotic application. ROS also supports multiple programming languages like C, C++, Python and JavaScript. The control method used for disaster response robots is critical. Most of the disaster response uses teleoperated control. Teleoperation systems allow the operator to remotely control the robot via sensory feedback, mostly vision and effort [19]. Teleoperation systems require a control device like a joystick or keyboard for their operation and it may require a high level of operator expertise [20]. Teleoperated robots are also used in medicine [21], underwater exploration [22], space activities [23], and nuclear operation [24] to perform tasks in environments that are hazardous [25] or inaccessible to humans. The robot may need separate control devices for mobility and dexterity operations.
Approach an autonomous vessel as a single robot with Robot Operating System in virtual environment
Published in Journal of International Maritime Safety, Environmental Affairs, and Shipping, 2022
Jaewoo Choi, Byongug Jeong, Gerasimos Theotokatos, Tahsin Tezdogan
The strongest aspect of ROS is the node and message base communicating system. When it comes to developing one system, there is no distinct sorting point. The construction of the system is distinguished by its developer. So, it is hard to understand by users who is not a developer of it. If someone tries to implement one system to another model, it takes a long time to understand code and construction. However, message type information transferring enables one system to divide into packages. Each function of the system can be divided by package, and this can be easily used by another user if the required parameter is constructed by a justified message. Therefore, people do not need to make their code every time, instead, they can attach the package that someone has developed. This can reduce the developing time enormously, so developers can focus on their specific work more. This is the main purpose of ROS to reuse and share the code in robot development. Not only these benefits, but ROS can also be developed in various languages and support efficient tools and peer-to-peer communications (Quigley et al. 2009). MATLAB, Python, and Lisp are supported while C++ is a standard. Specifically, rospy, roscpp, and rosplib can be utilised as libraries for programming in ROS (ROS). Because of these attractions, ROS has been continuous growth showing an increase in usage. In the annual metrics report of July 2020 (ROS 2020), the total number of packages is 86,128, which is increased by 55.81% compared with that of packages in 2019.