230 likes | 241 Views
A senior project by USM students in 2009 focused on designing a Java-based control system for two robotic manipulators with hardware and software components. The team's progress and deadlines were managed by advisor Carlos Luck. The project involved developing a solution to control two robotic manipulators independently. The Java model included functionalities for communication and control units. Hardware tasks included cage disassembly, frame construction, and end effector modifications.
E N D
Senior Project: Robotics USM 2009
The Project • Four Members 2 ELE, 2 MEE • Two Parts Hardware and Software • Nine Months Sept 08 – May 09
The Team • Advisor • Carlos Luck • Hardware JC Westby-Gibson (ELE) Levi Chouinard (MEE) • Software • Mike Nelson (MEE) • Dan Boissonneault (ELE)
Deadlines • Progress Report (end of semester 1) • EGN 301 Presentation (today) • National Engineering Week (next Sat.) • Thinking Matters (April 19th) • Final Report / Presentation (final day)
The Problem Staubli, Controller, and Terminal / PC Scara, Controller, and Terminal / PC Two clients are required, one for each manipulator, controller, and terminal combination
Simple Solution Control Unit Java Control Unit
At a Glance • Interacts with the controllers via serial cables* • Controllers have a preloaded receiving program • Allows manipulators to be accessed through dot ops ( robot1.move) • Allows manipulators to be grouped, making identical calls to multiple manipulators very easy. * Interaction through the network is possible, but would require some hardware replacement (030 to 040 processor on the Staubli)
The Java Model • Manipulator • Variable Name • IO Connection • Manipulator Group • Quick access to all manipulators within • IO Client • Connect to controller • Disconnect from con. • Send byte array • Receive byte array • Communication Listener • What and from whom?
Communication Control Unit • Communication Listener • event occured Send() addListener() Connect() Receive() • IO Client • connect • disconnect • send • receive • add listener Receive() Manipulator.send() Manipulator.send()
Adept Program • Simple string comparisons choose a program to run. • Looks for data on the serial port, executes on that data then returns to the serial port.
Adept Program (cont) Control Unit “move” “pick” “reset”
Universal End Effector Modifications and the Creation of Interactive Objects