21br563 Forp Module 04 Notes
21br563 Forp Module 04 Notes
MODULE 04 NOTES
Prepared by: Mr Thanmay J S, Assistant Professor, Bio-Medical & Robotics Engineering, UoM, SoE, Mysore 57006
Mysore University School of Engineering
8J99+QC7, Manasa Gangothiri, Mysuru, Karnataka 570006
Prepared by: Mr Thanmay J S, Assistant Professor, Bio-Medical & Robotics Engineering, UoM, SoE, Mysore 57006
Mysore University School of Engineering
8J99+QC7, Manasa Gangothiri, Mysuru, Karnataka 570006
4.0 Introduction to Robot Programming
Robot programming is the process of creating a set of instructions that control a robot's behavior and
movements to perform specific tasks. These instructions tell the robot how to interact with its environment,
process information from sensors, and carry out operations autonomously or in collaboration with humans.
The field of robot programming is vast, involving various methods, languages, and techniques, all designed
to make robots efficient, intelligent, and versatile in performing tasks. Robots are commonly used in industries
such as manufacturing, logistics, healthcare, and even home automation, and their programming is essential
for the success and functionality of these robots.
Need for Robot Programming
• Automation: Robots reduce the need for human labor in repetitive, hazardous, or complex tasks. By
programming them correctly, robots can work autonomously and complete tasks accurately and
consistently.
• Efficiency: Properly programmed robots optimize processes, minimizing downtime and errors, which
increases productivity in industries.
• Flexibility: Robots can be programmed to perform a wide range of tasks, from assembly lines to
medical surgeries, making them adaptable to various needs.
Steps:
1. The operator physically moves the robot to a start position.
2. The robot’s sensors or position trackers record the path or movement.
3. The operator continues to guide the robot through the necessary task.
4. The movements are saved as a program that can be executed by the robot.
Prepared by: Mr Thanmay J S, Assistant Professor, Bio-Medical & Robotics Engineering, UoM, SoE, Mysore 57006
Mysore University School of Engineering
8J99+QC7, Manasa Gangothiri, Mysuru, Karnataka 570006
b) Textual Robot Languages
Textual robot languages involve writing specific programming instructions in a language designed to control
robot movements and tasks. These languages allow for precision in controlling the robot’s behavior, much like
how traditional programming languages are used to control computers. This method uses written code to
instruct the robot. Robot programming languages allow for high levels of
customization and can control complex tasks such as decision-making,
sensor feedback, and multi-step operations. Common textual robot
programming languages include:
• Robot Programming Language (RPL)
• KUKA Robot Language (KRL)
• VAL (Variable Assembly Language)
Examples:
1. LISP (LISt Processing): It is used in some AI-based robotics applications due to its flexibility and
symbolic computation capabilities.
2. Robot Programming Language (RPL): Used to program robots with specific commands.
3. C/C++: Many industrial robots use a version of C to control complex robot behavior.
Example Code (in pseudo-RPL):
MOVE(0,0,10) # Move to position (0, 0, 10)
WAIT(2) # Wait for 2 seconds
GRIPPER(ON) # Turn on the gripper to grab an object
MOVE(0,10,10) # Move to position (0, 10, 10)
GRIPPER(OFF) # Turn off the gripper
Prepared by: Mr Thanmay J S, Assistant Professor, Bio-Medical & Robotics Engineering, UoM, SoE, Mysore 57006
Mysore University School of Engineering
8J99+QC7, Manasa Gangothiri, Mysuru, Karnataka 570006
Advantages of Graphical Programming
1. User-Friendly: It’s much easier for beginners to learn, especially those with little to no experience in
programming.
2. No Syntax Errors: Since the blocks or icons are predefined and visual, users don’t have to worry
about common syntax errors (e.g., missing semicolons or parentheses in textual code).
3. Easy Debugging: Errors are easier to spot because users can visually trace the flow of logic and
actions.
4. Visualization: Helps users understand how robot actions flow step-by-step, providing clarity on how
commands interact.
d) Offline Programming: This method involves programming robots using software without connecting
directly to the robot hardware. It allows engineers to develop and test programs in a virtual environment before
deploying them on the robot. It helps minimize downtime and optimize robot operations.
Offline programming refers to the process of creating and testing robot programs on a computer or simulation
platform without having the robot physically present. The idea is to develop the code or instructions in a virtual
environment, simulate the robot’s movements, and fine-tune the behavior before actually deploying it to the
physical robot. Offline programming is especially beneficial in industrial settings, as it reduces downtime,
improves efficiency, and allows for more precise control over the robot's tasks.
Offline programming is typically used in environments where robots need to perform repetitive tasks, and
where downtime for programming or reprogramming needs to be minimized. It is common in areas like
manufacturing, automotive assembly lines, and packaging industries.
Steps in Offline Robot Advantages of Offline Challenges of Offline
Programming Programming Programming
1. Create the 3D Model of the Robot 1. Reduced Downtime 1. Accuracy in Simulation
and Workspace 2. Simulation and Testing 2. Complexity of Tasks
2. Define the Robot’s Actions 3. Faster Programming 3. Learning Curve
3. Simulate the Program 4. Optimized Paths 4. Cost of Software
4. Optimize the Program 5. Remote Programming
5. Transfer the Program to the Robot
6. Fine-Tune the Robot in Real-World
Conditions
Prepared by: Mr Thanmay J S, Assistant Professor, Bio-Medical & Robotics Engineering, UoM, SoE, Mysore 57006
Mysore University School of Engineering
8J99+QC7, Manasa Gangothiri, Mysuru, Karnataka 570006
4.2 Introduction to Generations of Robot Programming Languages
Robot programming languages are designed to control robot behavior and enable interaction with sensors,
actuators, and the environment. These languages can be divided into different generations:
1. First Generation Languages
First-generation robot programming languages were basic and machine-specific. They allowed robots to
perform simple tasks like moving to a specific location. These languages were often used in early industrial
robots.
• Example: Early robot programming systems like Ladder Logic or teach pendant-based systems used
in early industrial robots.
2. Second Generation Languages
Second-generation languages introduced more advanced features, such as decision-making capabilities, loops,
and subroutines. These languages enabled robots to perform more complex tasks by incorporating conditional
statements, loops, and variables.
• Examples:
o VAL (Variable Assembly Language): A language that allowed more advanced control over
robot movements.
o KUKA Robot Language (KRL): A more modern and high-level programming language used
for KUKA robots.
3. Third Generation and Beyond
More modern robot programming languages now include high-level programming languages like Python,
C++, and Java, combined with libraries and frameworks specifically designed for robotics, such as ROS
(Robot Operating System).
• Examples:
o Python: Widely used for controlling robots, thanks to its simplicity and powerful libraries for
machine learning, robotics, and sensor integration.
o C++: Used for more performance-critical applications, where low-latency response times and
real-time control are important.
Prepared by: Mr Thanmay J S, Assistant Professor, Bio-Medical & Robotics Engineering, UoM, SoE, Mysore 57006
Mysore University School of Engineering
8J99+QC7, Manasa Gangothiri, Mysuru, Karnataka 570006
Modal Questions
3-4 Marks Questions
Prepared by: Mr Thanmay J S, Assistant Professor, Bio-Medical & Robotics Engineering, UoM, SoE, Mysore 57006