580 likes | 750 Views
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com. ICTENSW 2012 Workshop. Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com. Introduction …. Who are we: Newcastle based company established in 2004.
E N D
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com ICTENSW 2012 Workshop
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com Introduction … • Who are we: • Newcastle based company established in 2004. • Sell Educational Robotic kits and Servo Motors to Universities, Schools and Hobbyists.
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com Introduction … • Who are we: • Collaborative Research & Design projects with Universities and Industry • Hykim • 23 DOF Robot Bear • Designed for RoboCup SPL
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com What’s the Plan ? • Today I’m going to talk about: • Quick introduction to Robotis products for Education • Learn to program the Bioloid with RoboPlus • RoboPlus Manager • RoboPlus Motion • RoboPlus Task • Learn to program the Bioloid in Embedded C • AVR Studio • NB. ALL Software used today is license free
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com Intro to Robotis ProductsDynamixel Modules • Serially controller servo motors • Defacto Industry standard • used be ~80% RoboCup Teams that build robots
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com How Servo Motors work … • Conventional Servo motors are used for positioning • every 20ms you need to send a pulse to the servo motor, • the width of this pulse then determines the position the shaft rotates to. • This has to be done for every servo motor in the system => large overhead on main mcu. http://www.pyroelectro.com/tutorials/servo_motor/servomotor.html http://www.pitt.edu/~sorc/robotics/handbook/ServoControl.htm
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com How Dynamixels work … http://tribotix.com/Products/Robotis/Dynamixel/DynamixelIntro.htm • Use serial communication: • TTL serial (3 wire) or RS485 (4 wire), and • 1Mbps to 3Mbps comms speed. • Dynamixels are ‘networked’: • each Dynamixel has a unique ID, • they are connected via a Daisy Chain, and • 255 Dynamixels can be connected to each network.
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com Why is this an advantage … • Daisy-chained wiring reduces wiring in the robot/project, • - You can now exchange more data with the Dynamixel. • Settings • Goal Position • Moving Speed • Voltage & Torque Limit • Temperature Limit • Angle Limits (min & max) • Control Parameters • Variables • Current Position • Current Speed • Current Load • Current Voltage • Current Temperature
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com Control Parameters …. 1. Compliance 2. PID Control
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com Again - why are these advantages …. • Positioning Conventional servo involves: • working out arc to be travelled, i.e. from Xo to Yo • working out time you need servo to move from Xo to Yo • calculate intermediate positions – t*(Yo –Xo)/T • sending a pulse every 20ms with new target position
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com Again - why are these advantages …. • Positioning Dynamixel involves: • sending a command – move to Yo at speed Z • Result: • Dynamixels distribute the intelligence around your robot project.
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com There are other advantages … • 360o Rotating mode • Dynamixels can be used as a rotating motor at a number of speeds. • Torque OFF mode • motors shaft can be moved whilst recording shaft position …. ability to teach & repeat sequences easily.
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com Why are Dynamixels ideal for Robotics … Daisy-chained wiring reduces wiring in the robot project, Intelligence is distributed and commands are simplified, Parameters can be monitored in real time, Setting can be made within Dynamixel to physically protect itself, Each Dynamixel module can be tuned by either Complaince or PID Control techniques, Use Torque OFF mode to ‘teach’ robot movement sequences.
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com Intro to Robotis ProductsEducational Robotic Kits
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com Examples …. OLLO Kit
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com Examples …. BIOLOID Kit
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com Examples …. DARwIn-OP
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com Introduction to the Bioloid - Hardware CM-510 Control Module
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com Introduction to the Bioloid - Hardware Balanced LiPo Battery Charger LiPo Battery
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com Introduction to the Bioloid - Hardware USB2Dynamixel Converter
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com Introduction to the Bioloid - Hardware DMS 5 – 80 cm IR 1.5 – 15cm 2-axis Gyro +/- 300o/s
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com Introduction to the Bioloid - Hardware Remote Control Zig-110 Set
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com Introduction to the Bioloid - Hardware Building a Bioloid KIt
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com Introduction to the Bioloid - Hardware Dynamixel Centre Position Two ways to damage Dynamixels when building Bioloids: Not positioning the Dynamixel centre as indicated above, and Putting 8mm screws in the horn when only 6mm were required BUT, Dynamixels do have features (when programmed) to prevent damage.
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com Introduction to the Bioloid - Software
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com RoboPlus - Manager Invoke Windows Device Manager. (useful if you need to determine USB COM port allocation) Connect PC To CM510
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com RoboPlus - Manager Operational Parameters and Statuses. All connected Dynamixels
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com RoboPlus - Manager External I/O Devices Port 3: Gyro x-axis Port 4: Gyro y-axis Port 5: DMS
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com RoboPlus - Manager Operational Parameters and Statuses.
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com RoboPlus - Manager Move dial to change Dynamixel Position
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com 150° (Value = 512) 300° (Value = 1023) 0° (Value = 0) 10-bit Analog to Digital Converter (A2D) 0 – 5V 0 – 1023 Microcontroller Shaft Potentiometer 0o–300o RoboPlus - Manager Dynamixel Position representation ….. (1) ….. (2) where: n is the value, and d is the angle in degrees. e.g. If I want to move the AX-12 to 34o what number do I send to the module? Using equation (1): So, if we want to move the AX-12 to 34o we need to tell it to goto 116.
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com RoboPlus - Manager Turn motor Torque OFF See Dynamixel Status changes …
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com RoboPlus Motion Connect PC To CM510
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com RoboPlus Motion Select Pose Utility TAB
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com RoboPlus Motion Load Default Motion File: bio_prm_humanoidtypea_en.mtn RED indicates Motions currently in CM-510 New Motion File
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com RoboPlus Motion Select Pose Robot Push Button Initial Pose Robot should Stand
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com RoboPlus Motion Select a Motion Then Press PLAY
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com RoboPlus Motion Download Default
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com RoboPlus Motion • Demo: • How to create a New Motion • Things I will cover: • Use of Basic Pose Editor • User of Pose Utility • Mirror function • Inverse Kinematics
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com RoboPlus Task
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com RoboPlus Task
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com RoboPlus Task
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com RoboPlus Task • Types of Commands: • Start & End • Start, Exit, Begin & End block and comments • Execute • Compute, Load, Label, Jump • Condition • If, Else If, Else • Loop • Endless Loop, Conditional Loop, Foor Loop, Break and Conditional Stand/Wait • Function • Make Callback function, Make a function, Call a function and Return from a function
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com RoboPlus Task
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com RoboPlus Task
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com RoboPlus Task
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com RoboPlus Task
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com AVR Studio CM-510 is based around the ATMega2561 from Atmel Full I/O allocation at: http://support.robotis.com/en/software/embeded_c/cm510_cm700/programming/hardware_port_map.htm
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com AVR Studio ATMega2561 Full I/O allocation at: http://support.robotis.com/en/software/embeded_c/cm510_cm700/programming/hardware_port_map.htm
Tribotix | Newcastle, Australia | P: +61 2 49578255 | F: +61 2 49578244 | W: www.tribotix.com AVR Studio • Programming mcu’s directly is challenging • Using example code I’d like to step you through the programming sequence. • I will use a project provided by Robotis called Buttons • It’s very simple, when a pushbutton is pressed an LED will come on • Projects supplied by Robotis were for AVR Studio 4 – we will convert to AVR Studio v5 • NB. AVR Studio 5 is first time compiler has been built into the package, making it much easier to install and work with. Embedded C programming User Manual: http://support.robotis.com/en/software/embeded_c_main.htm