Robotics is the science of perceiving and manipulating the physical world through computer-controlled devices and is an area of rapid commercial investment and development with clear employment opportunities. Robotics technology has an impact on every part of life, both at work and home. Robotics has the ability to positively alter people's lives and work habits, increase efficiency and safety, and deliver better service. Furthermore, robotics is poised to become the driving technology underlying a new generation of autonomous devices and cognitive artefacts that, through their learning capabilities, interact seamlessly with the world around them, thus providing the missing link between the digital and physical worlds.
The module covers a wide range of topics in the field of robot control, including belief systems, sensors, maps and mapping, and localisation.
In addition to a number of practical formative tasks, two summative assignments will be undertaken (one of which is a group-based project), which will allow you to use a variety of Robotics techniques and commercial tools within an academic context.
The practical work will involve the use of CoppeliaSim (V-REP) robotic simulator to simulate models of robots within simulated environments.
Topic
Robotics is becoming smart enough to assist in the resolution of global issues such as hunger, alternative energy, disease, and crime. However, we must be realistic about the amount of work to work to be done to create them.
This discussion invites to research and reflect on your own experience on the key components that a robot of your design should accommodate to solve one of the challenges in society. Your design is not required to be fully detailed; a rough design is acceptable at this stage.
Research online sources, including news articles related to the history of robotics solving world problems.
Reflect on your personal experiences on design of a robot that solves one of the world issues will look.
Post
Robotics has become a crucial contribution to solving the problems experienced in the world, which has led to individuals' preference for using machines to bring about positive change. Additionally, robots have helped in offering alternative ways of working, which has helped people in society to engage in productive activities to meet their objectives. Robotics could reduce or solve global crime issues using programming and subsystems to offer accurate information (Cooper, 2019, p. 14). The problem has been reduced because they have been an established mechanism for identifying the source of some criminal activities and the measures people have established to solve the challenge.
The court systems in the federal and national governments have utilized robotics to solve some of the sophisticated cases, which has improved the outcome because there has been an eased identification of the primary source of criminal activities in society. The introduction of robotics has helped fight criminal activities through the simplification of law enforcement and innovations made by the police that have brought about changes that have transformed people's livelihoods. Most government agencies have incorporated artificial intelligence to combat criminal activities by using algorithms that smoothen the conduct of activities.
The drawbacks in the history of non-robotics solutions utilized in solving crime in society have been inaccurate information relayed because of human errors experienced that affect the outcome. Additionally, the use of non-robotics can contribute to the destruction of reliable sources of information that would help in solving criminal activity, leading to inaccuracy in the information relayed. The history of using non-robotic solutions before solving problems is failure to adhere to the right procedure because of conflict of interests, which affected the outcome (Corke and SpringerLink (Online Service, 2022, pp. 16). Solving criminal activities through non-robotic systems leads to delays which can contribute to the destruction of evidence gathered.
In my opinion, the key components in my design for the solution of crime through the use of robotics to fulfill the tasks are the use of cameras, robot arms, and computers. It would be significant to utilize improved cameras to acquire detailed footage of the activities that might have occurred at a particular place that would yield improved outcomes. Additionally, using robot arms would help retrieve important information from crime scenes that would lead to success (Ben-Ari & Mondada, 2018, pp. 4). The use of computers would help in designing the appropriate algorithm to solve criminal activities through the use of robotics. Furthermore, the utility of modern robotics has proved to be effective in solving criminal activities, which has greatly contributed to society.
References
Ben-Ari, M. and Mondada, F. (2018). Elements of Robotics. Cham: Springer International Publishing, pp.1-311.
Corke, P. and Springerlink (Online Service (2022). Robotic Vision : Fundamental Algorithms in MATLAB®. Cham: Springer International Publishing, Imprint Springer, pp. 1-22.
Cooper, A. (2019). HOW ROBOTS CHANGE THE WORLD. Oxford Economics, pp.1–64.
Summary
The robotic image pictured is the final product of the robot that can be used to collect evidence for court purposes. According to “Design for Security” by the Greater Manchester Police, robotic designs can help incorporate organized crimes and include evidence that courts can use to prosecute criminals (Greater Manchester Police, 2019). A remote control can control the robot, and this can be used to position the robot in the exact position one would like to take videos and images (Ben-Ari & Mondada, 2018). The evidence collected can be shared in a blockchain, where judges can get the right evidence from the police departments. According to the initial post I made, government agencies have to work together and get intelligence reports on a timely basis, and this is to combat crimes. Additionally, the robot has to use algorithms to collect the information and send it to the right departments without fail, which helps to ensure that the right evidence is recorded and not hearsay in the robotic application (Corke, 2022).
The lessons learned are aligned with CREST and UGV, which are part of the unmanned ground vehicles which need to be used to assess threats on the ground. Therefore, there is a need to focus on a robotic design that will link autonomous systems to federal and police missions to avert crimes from happening. The robot can also be linked with facial recognition software that will help get data and link it to social media content with crime leads. The courts can also request police departments to connect individual DNA and fingerprints to the crime scenes, and this can be the best place where the robot will be used, as the suspect will be placed near the crime scene with the minimal hustle of proving the case. Lastly, this helps to prove that law enforcement can be enhanced by using a robot with autonomous systems.
References
Ben-Ari, M. and Mondada, F. (2018). Elements of Robotics. Cham: Springer International Publishing, pp.1-311.
Corke, P. and Springerlink (Online Service (2022). Robotic Vision : Fundamental Algorithms in MATLAB®. Cham: Springer International Publishing, Imprint Springer, pp. 1-22.
Teleoperation (also known as remote operation) refers to the operation of a system or machine from a distance. It has a similar definition to "remote control", although it is more commonly heard in research, academia, and technology. It is most frequently linked with robotics and mobile robots, although it may be used in a wide range of situations in which a device or equipment is controlled remotely by a human instead of sending a human to a remote environment that could be dangerous or harmful.
You have been asked to implement a Graphical User Interface (GUI) to teleoperate the KUKA youBot model, a mobile robot with a robotic arm attached to it. The GUI should be able to move the mobile base, move each joint of the manipulator independently, and capture images from an RGB camera attached to the robot in the CoppeliaSim (V-REP) simulation environment. The GUI should not necessarily be fancy or with extra graphic details: scroll bars and buttons could be acceptable – as a reference, you can take the GUI shown in the picture for controlling a KUKA R800 robot).
Alen, R.F.T. and Silva, M.F. (2014) ‘Development and simulation on V-REP of an algorithm for the RoboCup@Work BNT’, in 2014 IEEE International Conference on Autonomous Robot Systems and Competitions (ICARSC). 2014 IEEE International Conference on Autonomous Robot Systems and Competitions (ICARSC), pp. 315–320.
Report
The provided code demonstrates a remote control system for interacting with CoppeliaSim, a sim-ulation environment for robots. It utilizes the Tkinter library to create a graphical user interface (GUI) and the sim module to facilitate communication with CoppeliaSim.
At the core of the code is the RemoteControl class, which encapsulates the functionalities related to the remote control. It includes methods such as Connect, DisConnect, move_joint, and get_joint_handles. The Connect method establishes a connection with CoppeliaSim by calling sim.simxStart with the appropriate parameters. In case of any exceptions during the connection attempt, the method gracefully handles the error and exits the program. The DisConnect method terminates the connection by calling sim.simxFinish. The move_joint method enables the user to set the target position of a specific joint by utilizing the sim.simxSetJointTargetPosition function. The get_joint_handles method retrieves the handles of the robot's joints by calling sim.simxGetObjectHandle and populates the Joint_handles list.
The GUI components are created using Tkinter. The code generates joint scrollbars, Connect and Disconnect buttons, and joint labels. Each joint is associated with a scrollbar created using the tk.Scale widget, enabling the user to control the joint angles. The Connect and Disconnect buttons trigger the respective connect and disconnect functions, which establish or terminate the connec-tion with CoppeliaSim. The button_state_trigger function updates the states of the buttons and scrollbars based on a trigger value, enabling or disabling them accordingly.
To enhance the code, the following improvements can be considered:
Error handling: Implement a more robust error handling mechanism. Instead of simply printing the error message and exiting the program, provide user-friendly error messages in the GUI and handle exceptions gracefully.
User feedback:
Incorporate visual indicators or progress bars in the GUI to provide real-time feed-back on the connection status and joint movements. This will enhance the user experience and improve the overall usability of the application.
Code organization:
Reorganize the code into separate modules or functions to enhance readabil-ity, maintainability, and reusability. Splitting the GUI-related code, CoppeliaSim interaction code, and the RemoteControl class into distinct modules can improve code structure.
Optimization:
Analyze the code for any redundant or inefficient segments and optimize them for better performance. Utilize asynchronous programming techniques to make the application more responsive, allowing simultaneous control of multiple joints.
Documentation:
Provide comprehensive comments and docstrings to document the code's pur-pose, functionality, and usage. This will facilitate code understanding and future modifications by other developers.
In summary, the given code demonstrates a basic remote control system for interacting with Cop-peliaSim through a Tkinter-based GUI. By addressing the aforementioned improvements, such as enhancing error handling, providing user feedback, organizing the code, optimizing performance, and adding detailed documentation, the code can be elevated to a more professional level, ensur-ing better usability, maintainability, and efficiency.
When programming a robot to move in Cartesian space, we need to consider avoiding any singular configuration where at a singular configuration, the robot loses the ability to move in one or more directions.
This discussion invites to define kinematics singularity in robotics arms and to discuss how this affect the robot movement and how we can avoid such configurations.
Research online sources, including news articles related to robotics arms, Jacobian, and singularity.
Reflect on your own personal and professional experiences with robotics kinematics.
Define the singularity in robotics in general while discussing what causes kinematics singularity. Discuss also how are the singularity and the manipulator Jacobian matrix are related to each other.
Mention the effects of singularity on robot manipulators and explain the approaches that could be utilized to avoid singular configurations.
Post
Singularity in robotics is understood to be a point when the robot loses one or more degrees of freedom, and the end effectors become jammed. This configuration is common in serial robots because the TCP-Tool Center Point moves near a singularity. Additionally, kinematics singularity happens when two robotic joints line up next to each other, and this makes it lose its power to move in different or particular directions. The singularity results in unpredicted motions, and that affects the intended acts as the robot will fail to act based on how it has been programmed. The robot’s TCP needs to be modified to avoid getting closer to the boundary, as this leads to singularity (Beck et al., 2022). The end effectors in the manipulator need to be aligned in its multiple rigid links through improved configurations to reduce the chances of singularity. My professional experience with robotic kinematics is that they apply geometry to understand its structures and the numerous degrees of freedom in its system.
A manipulator Jacobian matrix is identified as the first-order differential correlation that happens between the cartesian plane spaces and its joints. Therefore, the Jacobian matrix relates to singularity through the partial derivative that is identified in the input variables. According to the matrix below, the six dimensions help to determine the end effector velocity.
The matrix depicts that the first known dimensions are the axis, and the last gives the positioning, and we assign a value of a for the number of dimensions. Therefore, pointing n as the joints in the robotic, when the determinant in the matrix is equivalent to 0, then the singularity in the robotic is proven to exist.
The effects of singularity in the robot manipulators are reduced mobility, increased joint velocities, and reduced control algorithms. The first effect is where the robotic application fails to move in the modeled direction, and this makes it hard to function effectively (Wang et al., 2022). Secondly, the increased joint velocity makes the robotic increase its velocity in its unprecedented direction leading to a failure in working ability (Donelan, 2010). Lastly, singularity leads to a reduced control algorithm, which calls for redundant robots to help avoid critical points. The reduced control algorithm affects the control, where the robotic losses its stiffness and can even break down when functioning its commands.
The first strategy to avoid singularity is imposing joint limits, where when the limit works as needed, the robot program will be a mechanical advantage. Secondly, it is important to use potential functions for a specific singularity, and this is done by increasing the functions and it less complex to implement (Wang et al., 2022). There is also a need to focus on “damping the Jacobian matrix” to avoid singularity. This can be done by tracking errors in the orientation and the position, which controls the speed change on the damping coefficient (Donelan, 2010). Singularity can also be avoided by applying singular consistency, and it identifies the inverse kinematics and controls the speed for reduced singularity.
References
Beck, F., Vu, M., Hartl-Nesic, C. and Kugi, A. (2022). Singularity Avoidance with Application to Online Trajectory Optimization for Serial Manipulators. [online] Available at: https://arxiv.org/pdf/2211.02516.pdf
Donelan, P. (2010). Kinematic singularities of robot manipulators. INTECH Open Access Publisher.
Wang, H., Zhou, Z., Zhong, X., & Chen, Q. (2022). Singular configuration analysis and singularity avoidance with application in an intelligent robotic manipulator. Sensors, 22(3), 1239.
Summary
Singularity in robotics happens when the robotic arm loses power and by one degree of freedom, and this causes the robotic arm to lose traction and even direction. I have learned that when the robotic arm loses power, the manner in which it interacts with the environment changes. Singularity also occurs in serial robots, and this is because they have multiple rigid links that have to be loosened to reduce the chances of singularity. According to Krzysztof (1997), singularity also occurs in singular configurations, and this is mostly witnessed in redundant robot kinematics (Krzysztof , 1997). Therefore, using a reduced self-motion dynamic system helps to avoid singularity in the rigid links.
Robotics have to be modified in a way that the motion is controlled, and the path planning has to consider singularity limitations. Therefore, when a robotic arm loses motion through orientation singularity, it is important to apply the “Twist-decomposition approach” (TWA), as it helps to increase power in the robotic arm (Beck et al., 2022). Additionally, it is important to note that singularity also happens when the Jacobian matrix is ill-conditioned, and this generates unbounded and uncontrolled joint velocities. This shows that there is also a need to reciprocate the matrix and apply its inverse, which it will solve the issue and improve the arm speed (Wang et al., 2022).
I believe that imposing joint limits helps to improve on the mechanical power, where the functions will be increased to reduce the chances of singularity. Additionally, it is also important to “damp the Jacobian matrix,” and this helps to track errors in the orientation and improve on the speed. The last idea that would be great to avoid singularity is to apply singular consistency, where the inverse kinematics will help to control the robotic speed (Donelan, 2010). In conclusion, singularity in robotics happens in most cases, and one should not be worried when it happens, as this can be reversed by improving the speed of the robotic arm.
References
Beck, F., Vu, M., Hartl-Nesic, C. and Kugi, A. (2022). Singularity Avoidance with Application to Online Trajectory Optimization for Serial Manipulators. [online] Available at: https://arxiv.org/pdf/2211.02516.pdf
Donelan, P. (2010). Kinematic singularities of robot manipulators. INTECH Open Access Publisher.
Tchoń, K. (1997). Singularity avoidance in robotic manipulators: A differential form approach. Systems & control letters, 30(4), 165-176.
Wang, H., Zhou, Z., Zhong, X., & Chen, Q. (2022). Singular configuration analysis and singularity avoidance with application in an intelligent robotic manipulator. Sensors, 22(3), 1239.