Khi xem xét vấn đề lập trình cho robot, không những cần quan tâm
đến chuyển động của bản thân robot mà còn phải lưu ý đến sự hoạt động của cả hệ thống sản xuất, mà robot là một thành viên.
Hệ thống sản xuất gồm nhiều đơn nguyên hoặc môđun thiết bị sản xuất (Workceell). Đó là một cụm thiết bị, bao gồm một hoặc một vài robot, máy công tác hoặc thanh băng chuyển, các cơ cấu cấp thoát phôi hoặc đồ gá phụ trợ khác v.v… Thông thường để lập trình điều khiển robot trước hết phải mô phỏng sự hoạt động của nó “workcell” cụ thể.
Có thể phân tách thành 2 phương pháp lập trình: lập trình trực tuyến (on – line programming) và lập trình ngoại tuyến (off-line programming).
Khi lập trình trực tuyến, người vận hành robot trực tiếp tiến hành lập trình trên bản thân rôbot hoặc thiết bị phụ trợ kèm theo. Có phương pháp lập trình thủ công (manual input), phương pháp lập trình theo kiểu dậy học bằng dẫn dắt(teach by lead through) và phương pháp lập trình theo kiểu dâỵ học bằng thiết bịdạy học gọi là “teach pendant”
Lập trình thủ công là phương pháp đơn giản nhất là thích hợp nhất với các loại robot không được trang bị thiết bị phụ trơ động (non – servo – controlled robots), không có tín hiệu phản hồi. Để lập trình có thể dùng các cữ tỳ, cơ cấu cam, bảng ổ cắm điện, các công tác hành trình v.v… các loại này tuy đơn giản nhưng lại có nhiều ứng dụng. Thực tiễn sản xuất đã chứng tỏ rằng có thể chế tạo ra những chương trình thao tác không đơn giản bằng cách thức đơn giản đó.
Phương pháp dẫn dắt để “dạy học” cho robot có thể thực hiện được những công việc tinh tế hơn. Người vận hành dẫn dắt robot là các thao tác theo yêu cầu và ở những vị trí cần thiết, các tín hiệu được nhận biết từ các cảm biến (servo) lắp trên robot sẽ được ghi lại. Khi làm việc các thông tin tín hiệu đã ghi nhớ này sẽ tác động vào cơ cấu chấp hành làm cho robot hoàn toàn lặp lại một cách tựđộng các thao tác đã “học” được.
Có thể “dạy học” cho robot theo phương pháp dùng hộp điều khiển “teach pendant”. đó là một hộp nhỏ cầm tay có các nút bấm điều khiển. Khi bấm các nút điều khiển này, các khớp động của robot chuyển dịch một đại lượng nào đó theo ý người điều khiển và các giá trị ghi lại để lập trình khi
Biểu thị các phương pháp lập trình kể trên như các bước phát triển hiện đại dần. Lập trình ngoại tuyến và một bước phát triển cao hơn về chất.
Lập trình ngoai tuyến (off – line programming) không tiến hành trực tiếp trên thiết bị robot, mà tiến hành gián tiếp trên máy tính. Để thực hiện
được việc trao đổi thông tin giữa người và robot phải dùng đến ngôn ngữ mà cả hai đều hiểu được. Các ngôn ngữ chương trình là ngôn ngữ tường minh (expelicit languages) cho phép người lập tuyền tín hiệu cho máy công tác thực hiện các thao tác cần thiết.
Máy tính là một thiết bị vạn năng, tổ hợp các lệnh để máy hoàn thành các công việc rất đa dạng. Ngôn ngữ máy cho phép dùng các ngôn ngữ bậc cao, gọi là ngôn ngữ phát triển. Trong tin học có nhiều lại ngôn ngữ. tuy nhiên trong điều khiển nói chung và điều khiển robot nói riêng cần quan tâm tới sự tiện lợi và nhanh chóng để đảm bảo thời gian thực. Vì thế xuất hiện nhiều loại hình ngôn ngữ chuyên dụng, định hướng cho một loại vấn đề nào
đó.
Như vậy, khi lập trình ngoại tuyến để cần dùng ngôn ngữ lập trình. Mức thông thường dùng các ngôn ngữ tường minh (explicit language). Mức cao hơn là dùng ngôn ngữ không tường minh (implicit language). Những ngôn ngữ này cho phép người sử dụng ra lệnh để robot thực hiện các công việc mong muốn một cách trực tiếp mà không cần chỉ ra chi tiết các hoạt
động của robot như ngông ngữ lập trình thông thường. Ví dụ, ngôn ngữ
AML của hãng IBM, Karel của hãng General Motor, Fanuc, Rai, của tập
đoàn Automatix, Jas của NASAvà RPL của SRI Inte rnational . Các ngôn ngữ này còn đang ở giai đoạn phát triển .
Vậy phạm vi ứng dụng ngôn ngữ tường minh cũng có 2 mức - Ngôn ngữ robot chuyên dụng.
Những ngôn ngữ lập trình này được xây dựng như một nhôn ngữ mới cú pháp (syntax) và ngữ nghĩa (sematics) cửa cácngôn ngữ này cần phải đơn giản vì người lập trình cho các ứng dụng công nghiệp không phải là các chuyên gia lâp trình. Ví dụ, ngôn ngữ VAL 2 của Unimation, Al của đại học Stanđfod.
Ngôn ngữ này tạo ra các thư viện robot cho ngôn ngữ lập trình bậc cao đã có sẵn. Những ngôn ngữ này được xây dựng bằng cách dựa trên các ngôn ngữ lập trình bậc cao thông dụng (ví dụ như Pascal) và thêm vào một thư viện các thủ tục về hàm đặc biệt dùng cho robot. Khi viết chương trình Pascal để điều khiển robot, người sử dụng gọi các hàm hoặc các thủ tục đã
định nghĩa trước trong thư viện để xử lý các nội dung có liên quan đến việc tính toán hoặc điều khiển robot.
Ví dụ, PASRO (Pascal for robot) là một thư việc dùng cho lập trình robot, cung cấp nhiều thủ tục và hàm đặc biệt để tính toán và điều khiển eb dùng trong môi trường ngôn ngữ Turbo Pascal, hoặc Pasro/ C là phát triển của Pasro, nhưng được biết trên cơ sở ngôn ngữ Turbo C