how to “build” a robotic system and the neuroscience we can do with robotics
DESCRIPTION
How to “Build” a Robotic System and The Neuroscience We can do With Robotics. Joseph T. Francis. Robotic Systems. Build a simple robotic system for a rat 1-D What we need to build a 2-D system for motor control experiments. Describe a system made for Haptics, 3-D phantom interface. - PowerPoint PPT PresentationTRANSCRIPT
How to “Build” a Robotic Systemand The Neuroscience We can do
With Robotics
Joseph T. Francis
Robotic Systems
• Build a simple robotic system for a rat 1-D
• What we need to build a 2-D system for motor control experiments.
• Describe a system made for Haptics, 3-D phantom interface.
What do we need
• A control system
• Something to control, we are going to use torque motors
• What signal do we control?
• Encoders
• Current control?
• Position control?
• Computer system and language to use.
EncodersOur robots don’t have eyes, only proprioception
• Give us position of the motor axis.
• Two types that are used
1. Absolute: Each tick has a “name” Don’t need to recalibrate each time you start.
2. Incremental: All ticks have the same name we only know how many we have moved.
What Type of controller?
• In our application we will use current control = torque control. We can also do software position control.
• In industry you often would like hardware position control for automation.
Internal models
• Brains behind a control system
• Desired trajectory
What signal do we control?For Force Field and Haptics
• We will use the encoders to determine the distance from a point (spring force field)
• The velocity of the Endpoint (hand or paw) to generate viscous force fields.
• Haptic Simulation: Position to determine when we have touched an object in our haptic simulation
Computer system and language to use
• Matlab, labview are nice and cute, but they take control away from you!
• Now Matlab has a real time kernel (xPC Target)
• C++ and MFC. Almost any piece of hardware you get will have a C++ .dll That comes with it.
How Real will our “Real Time” need to be???
• The answer to this question can make your life easy, or put you in a home.
• If less than 100Hz no problem use windows. If it must be faster than a couple hundred Hz with no exceptions Windows CAN NOT BE USED. Try linex, unix, etc...
Hints for Windows
• Use a multi-threaded architecture
• Use the Set thread priority function
• Write your own CWinApp::Run() and use the QueryPerformanceFrequancy, and QueryPerformanceCounter, Not Timers!
1-D System For Rats 1k$
• Must be Very low weight, and almost no inertia, Thus we use a Brush motor.
• C++ and the .dll from Maxon to control torque, National inst board and .dll to control Water reward system.
2-D System 75-80k$
• Motors that are strong enough to produce a large amount of force for pulse perturbations
• Stall torque, max torque, and time constants of the motor
Safety
• You must keep the system from injuring your subjects!
• Hardware kill of system
• Software boundaries as safe guards Max Vel and Position.
3-D Haptic System 20-70k
• Must have a fast control Loop 1000Hz for dealing with edges
• Saving data during the control loop is a real problem when using the “Ghost” software that comes with a phantom system