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 lu ý đế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 nhng 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 chuyển sang chế độ tự động.
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ữ phát triển.
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, nhng đợc biết trên cơ sở ngôn ngữ Turbo C