Home

CM-2+ User Manual

image

Contents

1. You can play another motion page un E 1 OW Sek BASF H B Copy Save by typing in Play page number For example Play 3 will play the motion of page number 3 a de EA Step Line POSE P td Pt T Step 1 play GE Lut Sie his After playing motion sometimes o Playing from Pose 0 to Pose 3 you will want to edit it Here you can use the go command This command will take you to a certain pose For example go 1 will make the robot move to the configuration of posel and the joint angle values of POSE1 will be copied into POSE7 The Dynamixel motors will move at a constant speed Write pose number Insert Delete Step After using the GO command and edititing the pose data using the OFF ON commands you will want to save the new joint values of POSE7 This can be done by typing in Write pose number And the joint values for POSE7 will be saved in the specified pose number While editing you will sometimes want to place the current pose POSE7 between two other poses To do this use the insert command The format is insert pose number A pose can be deleted using the delete command Typing in delete without a parameter will move the step line up one column If you want to delete a certain pose then type in
2. wW Microsoft Office Word 2009 wm MFile DWin amp VR M Frogrammers Notepad Win amp vR wm Tklnfo Win amp WVR gh Uninstall WinAVR Win amp VR User Manual CEREREM naw 6 E mH E EUS Win AVR From the Win AVR menu select Programmer s Notepad following screen will appear 108 fw ES M y Proj The Win AVR editor runs the GCC compiler by calling the AVR GCC internally Win AVR The EPIS CM 2 PLUS User s Guide 4 Programmers Notepad 2 BAA File View Tools Help el l X BG Plain Text 2 Find El Projects Text Clips Project File When writing a large program it is helpful to structure the program by dividing the source file into a number of smaller files by its contents The Project File is a higher level file that contains the list of all the source files associated with the program that is being developed and includes all the compile options Open a new Project File as shown below and give it any name as you wish Here the project is named Simple Select Project from the New menu item under the File menu lt gt Programmers Notepad 2 View Tools Help d Default Ctrl N Ctrl 0 Project Open Praject s Project Group Close Project s Plain Text Recent Files Batch Files C C 5565 109 Cli PLUS ROI PB PLUS User s Guide C Source File Next
3. 18 95 18 95 18 95 18 9L 18 95 18 95 18 95 18 95 BBBIEB60 18 95 18 95 18 95 18 9L 18 95 18 95 18 95 18 95 BBBIEB70 18 95 18 95 18 95 18 95 BU 94 2C F1 18 95 18 95 105 Ci PLUS ROY PB PLUS User s Guide 8 2 USING THE C PROGRAM LANGUAGE Memory Map The program for the robot was programmed in C and loaded with the Boot Loader In order to write such a program you will need to know how to program in C and you should also have some CPU hardware background This is beyond the scope of this manual thus we recommend you refer to other references for such information In this section we will learn about the Boot Loader and what part of the memory it is located in We will also learn how much of the memory a user can use for programming The CM 2 uses a CPU called the Atmegal28 This CPU has 128 Kbytes of flash memory The CM 2 divides the flash memory into several sections as shown in the table below Address Function ees Bioloid Location of the program that operates the OXOBFFE program _ Bioloid 0 0 000 Location of the user made behavior control ser area oram OXODFFF 0 0 000 Motion Data Area for storing motion data for the robot OX1DFFF OX1E000 Location of the Boot Loader program e Boot Loader verifying the download and memory OX1FFFF Status etc 106 PLUS ROY keen PLUS User
4. se START Label lt mmm Dynamixel D R og File Edit Program Management View Window Help Ey x Bey zz Behavior Control Programmer Bioloid Pro 4 Behavior Control Programmer Bioloid Pro BRI Sg File Edit Program Management View Window Help x tT START Label Undefine Double Click DEK a File Edit Program Management View Window Help m x Ose e m 2 START 4 Behavior Control Programmer Bioloid Pro Label LOAD Set Parameter Address SLOPE OW Slope od CCW Slope DXL 3 Dynamixel 5 TORCUE torque DXL 4 Dynamixel EEk ag File Edit Program Management View Window Help BHx D eH tael 7 Behavior Control Programmer Bioloid Pro START Label LOAD Cli PLUS ROY keen PLUS User s Guide COMPUTE This is used to perform the four arithmetical operations x and the logical operations and or When you select COMPUTE four blocks next to the COMPUTE command are activated The command structure is as follows Object into which the result of Objects of operations operation is input Behavior Control Progr immer Bioloid 2rogram1 fel gement View Windy Help xi File Edit Program Operation Type X and or and and or do a bit ope
5. 29 8x1d 38 8x1e 000 000 800 664 664 664 664 T Fn 21 Pause time Speed 885Link to Exit 885 ReseruedP1 885 ReseruedR1 885 ReseruedP2 885 ReseruedR2 885G V I D H Set 885P N B Copy Saue 8850n 0ff Hew SP 685Inc Dec lt 08 V 08 0 0512 Go Step COMY 2 57500 Latest file gt Rx Workttpacket bin Sometimes you will want to pause for a short time after a pose For example you might want the robot to pause for a while after it has finished doing a bowing motion If you give it a pause time value it will pause for 7 8 msec per the set value and then move on to the next pose The figure above shows an example of the robot pausing for 0 5 s 40 7 8 msec after POSE1 is played 83 Ci PLUS ROY PB PLUS User s Guide Accel Time Every time a motion is played the joints go through a process of constant acceleration and deceleration The acceleration time is the time of acceleration and deceleration ramp up time plus ramp down time Reducing the acceleration time will make the motors accelerate faster and stress the joints Increasing the acceleration time might create an interval that makes it impossible to complete a motion Page Speed Use this when you want to adjust the play speed of the whole page The default value is 32 Setting the value to 64 would be the same as doubling the speed of each of the poses ind
6. 7 All Dynamixel SENSOR 100 0 DAL 1 Dynamixel DXL 2 Dynamixel f DXL 3 Dynamixel i Gancel When you Input O into a command as in the figure below and play the behavior control program the DYNAMIXEL with corresponding ID is set in the state of Endless Turn 42 Behavior Control Programmer Bioloid endless_turn bpg x3 File Edit Program Management View Window Help Bw x Sealy S T Label START Label LOAD Label CHH PLUS CM 2 PLUS User s Guide Revolution Speed You can control the speed by putting a value in the section of Control Moving Speed in the state of Endless Turn The larger the inputted value is the faster the DYNAMIXEL rotates Input 1023 for the highest speed and input O to stop rotation Rotation When the input value for Moving Speed is smaller than 1024 you get Counter Rotation the desired rotation However when the input is larger than 1024 you get the counter rotation The larger the input value the higher the counter rotation speed For example if you input 600 the DYNAMIXEL rotates at a speed corresponding to 600 and if you input 1624 600 1024 the rotation speed will be the same but in a reverse direction Rotation Label SPEED vy 1 Dvyn Convert into If you want to convert the state of the DYNAMIXEL into Position Control again input Position Control 1023 instead of 0
7. 37 PLUS RO PB PLUS User s Guide 3 7 Using Dynamixel Dynamixel motor input output items and their addresses Turnon off When it is set as 1 power is supplied to the motor LED It turns on when 1 is loaded and turns off when 0 is loaded Section made clockwise spacing from CW Margin destination position to which torque is not applied 0 255 Section made by counterclockwise spacing CCW Margin from destination position to which torque is not applied 0 255 Section where the strength of torque is CW Slope reduced as Dynamixel approaches the destination 0 255 Section where the strength of torque is CCW Slope reduced as Dynamixel approaches the destination position CCW 0 255 Joint position from 0 to 300 Value range Moving Speed Speedwhile moving Value range 0 1023 MAX Torque To determine the greatest torque Value range 0 1023 Current position value Value range 0 1023 spees unon speed 0 1023 of values Presan load Load applied to external part Value range 0 1023 uai Value of supplied voltageX10 12V is read nput voltage as 120 Internal temperature Moving flag It is read as 1 while executing movement command and as 0 if not N O N cO e Present position A N CO CO CO NO N co N co N F F IT PPM r wu A T T y Ux
8. Compile Select Make from the Tools menu to compile The output after the compile should look like the following lt gt Programmers Notepad 2 Fie Edi Wiew Tools Window Help xan cc Projecte Example c 4 p x e New Project Group example B Example c Example s iom128 h The Example of Dynamixel Evaluation with Atmegal28 Date 2004 7 20 Author Bs KIM L me noinit Q 8390378 Eeprom n 5454144 debug aranges 20 debug pubnames 338 debug infa 1137 debug abbrev 298 debug 11ne 1466 debug str 587 Tata rol Errors none r gt Process Exit Code 0 i E gt 1 1 550 ANS CA LF INS Project file 116 PLUS ROI P PLUS User s Guide Download Now let s use the Robot Terminal to download example hex to the CM 2 unit Please refer to Chapter 2 for downloading instructions Use the command to execute example hex The screen shot of this is shown below Pressing a key will make it proceed to the next example Hobotis Terminal v0 9 Setup Files Jump Address DBxBBBBBBDBD The Example of Dunamixel Evaluation with Tmega128 GUCC UR Example 1 Scanning Dynamixels i 9 Any Key to Continue TxD FF TxD
9. Other robot ID dd ireless ID of another robot with which you intend to comm unicate My robot ID W ireless ID of my robot changeable Inputted value is shown on the screen Line is changed after inputted value is shown on the screen Print with line feed You do not have to understand all the items or memorize all the address numbers to create a program since most items have icons and names You will learn about the items of the CM 2 unit one by one as you read this manual You don t have to understand all of the items for the AX S1 and Dynamixel motors either when you first start learning about Bioloid Just refer to the manual when necessary 34 Ci PLUS RO PB PLUS User s Guide Lighting of AUX LED Example 1 Lights up the AUX distributed to users out of LED of CM 2 Step 1 Make a behavior control program Behavior Control Programmer Bioloid Aux LED bpg DB x3 File Edit Program Management View Window Help ox AUX LED I Y T Im 0 Lightout JUMP Repeat Label Step 2 Download the behavior control program Step 3 Verify if the AUX LED of the CM 5 lights up when the PLAY button is clicked on the program download window and lights out when the STOP button is clicked Example 2 Prints 1 and 2 on the screen Step 1 Make a behavior control program lt Behavior Control Programmer Bioloid Print_screen b
10. 5 a FROM ZGBEE BROADCAST CH1R if PTION ZGBEE BROADCAST CHOR TI CINA STATUS RESET Zk BEECOP TION ZIGBEE CONZ HOMHE 5 2 1 INTERFACE CONNECTOR za START 5 TACT LF RT START DN MODE PUSH SWITCH PLUS RO PB PLUS User s Guide 8 6 Understanding CPU Port Initial Nam Usage Valu Comment e PBL ror ISP for ISP Programming PB3 ENABLE 485 UARTO Select 485 Note 1 PB4 ENABLE iH Ph UARTO Select HDBRT Note 1 Power LED TXD LED RXD LED AUX LED MANAGE LED PROGRAM LED FLAY LED START Button ZIGBEE Module Status LED Pin UART 1 Rxd PC ZIGBEE UART1 Txd PC ZIGBEE ZIGBEE Module Reset Pin ENABLE RAD CINK PC Select PC Note 1 ENABLE RAD CINK ZIGBEE UART1 Select ZIGBEE Note 1 E LINK_PLUG_IN PC Serial Link 1 Linked 0 Not Linked N o PEO CPU_RXD IN 1 UARTO Rxd 485 HDBRT OU PRA CPU TXD T 1 UART0 Txd 485 HDBRT PE2 ENABLE_TX OU RS 485 HDBRT Tx Direction Control Note SW_START IN 1 ZIGBBE STATUS IN RXD_LINK IN 1 OU TXD_LINK 1 T OU ZIGBEE_RESET T 1 HR 1 T AE 120 PLUS ROY P PLUS User s Guide 1 ENABLE RX HDBRT Rx Direction Control Note 1 UP Button Down Buton LEFT Button RIGHT Button Reserved Note 2 Reserved Note 2 Reserved Note 2 ZIGBEE_BROADCAST_CHO ZIGBEE Module Chann
11. Delete Line Del Enable Disable Line Ctrl E Cony Insert Line Ctrl Delete Line Del Enable Disable Line Ctrl E Walkin Walkin Select Edit in the menu Click the right button of mouse 29 PLUS ROY teen PLUS User s Guide Cut Cut temporarily saves the selected command while deleting it from its current location Click on Paste to paste the cut selection into another location a Behavior Conte Programmer E xj Ein Program Management Window Hep xi Program Managemen Window Hep Cee yum v Dial yam i 3 9 Section to be cut Copy Use Copy to copy selected commands to a different location without deleting the original command Paste Paste auto writes commands temporarily saved by Cut or Copy into a preferred location Commands can be transferred among behavior control programs using this function Insert You can make a blank row using this Insert function Select multiple rows as many as you want to insert and select Insert You can write commands or make them by using Paste into the blank rows that you have inserted z Behavior Control Programmer Bioloid DemoE DER z Behavior Control Programmer Bioloid x File Edit Program Management View Window Help x File Edit Program Management View Window Help Coe sways 27 Initia Double click Double click Label Loop
12. Dynamix Dynamix Dynamix Dynamix Dynamixe 6856 W 1 D H Set 885P N B Copy Save Dynamixe 8850n ff New SP Dynamixe 685Inc Dec lt Dynamixel 5 666 666 000 666 AAA 88 864 664 664 664 664 664 664 3 00 V 00 0 0512 65 POSO POS1 POS2 POSS POS4 POSS POS Go Step v Latest file gt Tx Exebiolpid hex 4 57600 The position of the currently connected motors 7 poses The first column on the left is the ID of the Dynamixel motor The robot profile information is not shown here The next column which we call POSE 7 shows the values of the current angle positions of the Dynamixel units From the numbers in POSE7 you can see that only one Dynamixel of ID 1 is connected Pose The pose is a snap shot or instance of a motion For example in the figure below you will need 5 poses to make the robot take one step to the side A motion connects these poses smoothly 9 PLUS CM 2 PLUS User s Guide Command The following commands are avallable Commands related to creating poses ON OFF WRITE SET STEP PLAY GO INSERT MOVE NAME SAVE Commands related to editing pages PAGE BEFORE NEXT COPY NEW A multi jointed robot motion can be edited using these commands Let s take a look at each one Off This will turn off the torque of the joint Robot Terminal 0 92 If you input OFF the joint angle value Setup Files for
13. F r r A T m F m Internal temperature of Dynamixel C O Cli PLUS 2 5 User s Guide 3 7 1 Controlling Position Position Value DYNAMIXEL controls the position between 0 300 by using 0 1023 of position values The following example helps you to understand the position values of the DYNAMIXEL Example 6 Verifies the position value of each position by moving the DYNAMIXEL with hand Step 1 Connect the DYNAMIXEL with ID number 1 to the CM 2 Step2 Make a behavior control program Behavior Control Programmer Bioloid position bpgl DEK 23 File Edit Program Management View Window Help El x D kl e s T7 maen START Label Repeat CM 45 Typing LOAD 25 Print cmm JUMP Repeat Dynamixel Label Label DXL 3 Dynamixel DXL 4 Dynamixel Step 3 Download the behavior control program Step 4 Verify changing position value with moving the DYNAMIXEL by hand after clicking PLAY button on the program download window Step 5 Please keep the position value of each position in mind 39 PLUS ROY teen PLUS User s Guide Position Control DYNAMIXEL can be moved to the desired position at a Moving Speed you want Example 7 Makes a reciprocating motion between 60 and 240 ata highest speed Step 1 Connect the DYNAMIXEL with ID number 1 to
14. Comment LL Comment Label Move Comment SPEED LOAD I D yn Label Comment Pos LOAD Dyn Comment MOVING 1 THEN JUMP Label Comment Label Hold IF MARGIN GW margin o D All Dynamixel z FO lins COW margin SENSOR 100 Dynamixel ae COW Slope r hy Step3 Download the behavior control program Step 4 Rotate the rotating portion by hand when the DYNAMIXEL arrives to the goal position after the PLAY button is clicked on the program download window Verify that there is a section where you can rotate the rotating portion with small force 45 CHH PLUS CM 2 PLUS User s Guide 3 7 3 Endless Turn Using the DYNAMIXEL as a wheel DYNAMIXEL can be used as a wheel when set to ENDLESS TURN The example below shows how to use this setting Endless Turn When you select Dynamixel of LOAD in the behavior control program Setting an interaction window appears Selects Custom ID on the interaction window and write the ID of the DYNAMIXEL that you want to set into Endless Turn in a blank for ID Then input 8 in a blank for address input and click OK Behavior Control Programmer Bioloid endless turn bpgl E x File Edit Program Management View Window Help ose y mel y 9 T _ Label START Label LOAD 3x Undefine Dynamixel 3 Custom ID Select gt
15. Label Comment START Label Repeat Comment LOAD EF Print 1 Label Hoo I2 J Labell Hold Comment lt IF Timer JUMP JUMP Repeat Label Comment Step 2 Download the behavior control program Step3 Verify if 1 is continuously printed on the screen every 1 second when the PLAY button is clicked on the program download window and the print is stopped when the STOP button is clicked 36 PLUS ROY teen PLUS User s Guide Using Buttons Example 5 Makes AUX LED light up when the U button is clicked and lights out when the D button is clicked The operation is finished when the START button is clicked Step 1 a behavior control program Behavior Control Programmer Bioloid Button bpg E File Edit 2008 Management View Window Help A Ose sie Label Comment START Comment THEN LOAD Cx Comment THEN LOAD Comment Label Repeat IF Label ELSEIF Button cns Label ELSE IF 88 Button JUMP Ending Label Comment NN Step 2 Download the behavior control program Step3 Verify if AUX LED lights up when U button is clicked after PLAY button is clicked and LED lights out when D button is clicked on the program download window Finish the operation by clicking on the START button
16. Walkin Select multiple rows as many as you want to add Select Insert 30 CHH PLUS CM 2 PLUS User s Guide Enable Disable Code There are some occasions when you do not want to run the commands that you made but can not delete them In this case you can use Enable Disable function When you click Enable Disable the line number and the indication tag of the selected command row turn into green and the same command is not executed If you click again Enable Disable when the Disable function is on the Disable turns into Enable llahavior Control Programmer Bialoid Demat mx x4 File Edit Program Management View Window r 5 a E Y Li z Aehowor Control Hinloid dme Cul Cirle Copy La Inger Ling Enatl Dissbls Une Line Copy Inger Ling Waki Select in the editing menu Click the right button of mouse Behavior Control Programmer Bioloid DemaoE DAR 23 File Edit Program Management View Window Help 37 Section to operate Section to be disable Label Loop Walkin Section to operate Comment are lines that contain a user s notes and does not affect the program When you double click a row on which Comment is indicated you can have a space where you write sentences Whatever you write in this space does not Comment refl
17. made in the Setting menu as in the following figure D Select Changing Robot Information in the Setting menu Editor Bioloid Start S Change Robot file configurar tL 2 Select the type of robot that you made in the appeared interaction window Look in Robot files e EJ gt Battle Droid rbt King Spider rbt si default rbt Little Deer rbt Dinosaurs rbt Puppy rbt Gerwalk rbt Robot Flower rbt esi Humanoid rbt Spider rbt esi Humanoid rbt Turtle rbt File name walking Droid rbt Files of type Robot file rbt Cancel Open as read only 3 Since the robot information is applied on the next run of the program finish the motion editor before conducting a re run When you select Walking Droid rbt the motion editor runs as follows FEP haee Coie Dini a rimis Pause Spred Fans tered Paves peed pasas peed Posen Speed Fam Speed tum zn n od ad a a B ed PLUS ROY keen PLUS User s Guide Composition of The motion editor is composed of the below Each composing item will be Motion Editor explained in detail in the next chapter Pose setting window Joints information window Page information E Hoton sio Stam Help H Qe 2 Dyramisel 3IDyranmixel j Play
18. orders to the motion program However after giving an order for motion play the behavior control program executes a command in the next row even before the motion is finished Therefore to make a command for continually performing more than two motions you should make a command to make the next motion performed at the point that the first motion 15 finished This 15 the synchronous motion play For this synchronous motion play use the Robot Motion Status This command becomes 1 while the motion is performed and O when the motion is finished So you make a behavior control program to pause when the Robot Motion Status is 1 and to continue to proceed when the Robot Motion Status is 0 If you make a behavior control program like below you can make the program stop for a while Jump Label Hold Comment i ali Motion Motion play status The following is an example of a walking droid operated by the IR sensor The robot moves backward when an obstacle is detected in the front nh PLUS KOV PB PLUS User s Guide Programming a walking motion of walking droid that moves backward when an obstacle is detected while it moves forward Step 1 Assemble a walking droid referring to the Quick Start Step2 Run the motion program and program the following two walking motions Page Number 12 Moving forward motion Page Number 13 Moving backward motion x You can use a program already made
19. section TARGET needs to be modified appropriately Executing Compile Select Make All from the Tools menu of the Programmers Notepad 2 WinA VR lt Programmers Notepad 2 File Edit View Window Help Ta D E Line Endings F vig Projects w New Project Group WinAVR Make All 3 SelfDiag SelfDiag c Win amp VR Make Clean E LCD c Win amp VR Program le of Dynamixel Evaluation with Atn Dynamixel t j4 7 20 2 Serial c js KIM Global c 7 Interrupt c Options output window If the E nessage will appear define ENABLE BIT DEFINITIONS f f include lt io h gt PLUS MON PB PLUS User s Guide g Projects Test Clip pee ut section size addr data 3382 8388864 text 7746 bss 705 8392246 noinit 5392951 eeprom 5454144 16716 Stabstr 4599 Tutal 33148 Errors none Process Exit Code lt 1 1 760 Project file Simple hex Download Now let s verify and download the simple hex Use the Boot Loader to download the program If you run it nothing will happen because the file does not contain any information 114 PLUS RO PB PLUS User s Guide 8 4 Example c Example c Project Open Example c contains various routines for the CM 2 to directly control the Dynamixel actuators Using these routines
20. we open the C source code file which is a lower level file Select C C fromthe New menuitem under the File menu rogrammers N Bal Edit View Tools Window Help New ly D G C C Jm v S Find P gt Open Ctrl O lt Open 5 Revert lt new gt DE Save All Encoding 4 b Properties Alt Enter To assign name select Save As from the File menu and give it any name as you wish Here the C source file is named SimpleMain c Next the source file named SimpleMain c needs to be added to the project file named simple On the left side of the project window right click on simple then click Add Files to select SimpleMain c lt gt Programmers Notepad 2 File Edit View Tools Window Help apple ia xm 0 c cs wi Bl Projects SimpleMain c Add Files 3 Add New Folder ka Add Magic Folder Open All Files v Active Project Remove Project Delete Project 110 PLUS ROY beeen PLUS User s Guide Now a project named simple is created which includes a source file called SimpleMain c lt gt Programmers Notepad 2 File Edit View Tools Window Help 3 8 ila u G X BB S al Frojects SimpleMain c New
21. BB DOWN CALIBRATION L R O 6260 6814 2 dh B 8428 DOWN CALIBRATION H R M H21 8515 dBB Bs BB UP CALIBRATION L RZV 82208816 285 UP CALIBRATION H R Wy B23 0x17 8D3 Bs H3 Any Key to Continue Press any key to continue dump GO This command moves the Dynamixel unit to the specified position The GO command is used like the following Usage GO Position Value Speed Value Here the range of parameter values is from O to 1023 If you take a look at the packet you can see that the WRITE command has been executed starting from Address 30 which corresponds to goal position and goal speed 98 PLUS ROY keen PLUS User s Guide PING REG_WR ACTION CID 01 go 188 8H Dynamixel 255 255 01 667 663 B38 100 AAG 080 BBB 634 LEH GTT BXBB amp Dynamixel 255 255 861 662 BBB 252 LEN 666 6X06 CID B010CBNB1 This command does not execute any special tasks but Is used to check to see if a Dynamixel is connected The Dynamixel will return a packet even when it receives a Broadcasting ID with this command Usage PING ID CID 881 8X81 ping 1 Dynamixel 255 255 881 882 001 251 LEN 8B6 B8X86 lt Dynamixel 255 255 881 882 BBB 252 LEN 8B6 B8X86 CID 881 8X81 _ This command registers the command WRITE The command is only registered not executed The format is the same as the WRITE command But it will only execute when the ACTION comman
22. CT 5 Please check Ehe condition of connection In this case verify the connection by checking the following in order Is the serial cable well connected Is the power of CM 2 turned on Is there another program using the port in operation Is the port of PC correctly designated PLAY If you want to make the robot move run the PLAY mode of CM 2 after downloading the behavior control program We have pressed the play button and execute the program by entering the play mode while the PC was connected to the behavior control programmer When a PC is not connected you can execute a program by manually entering the play mode by pressing the mode change button and then pressing the start button 33 PLUS RO PB PLUS User s Guide 3 6 Using CM 2 CM 2 input output items and their addresses Icon Name Function W hen you input a number of a motion page the Motion play page corresponding motion of a motion program Starts 1 is outputted while a motion is playing and 0 if Motion play status not TX romocon data W ireless data to besent RX romocon data Received wireless data RX romocon data It becomes 1 whennew wireless data is received and0 when the received data is read It turns on when 1 is inputted and turns off when 0 is inputted Five buttons of CM 5 or composition of the five buttons are used as input devices of the program Inputted value is reduced by 1 every 0 125 second
23. D NEL m lt p asss 1 r4 7 wo Note Triangle 7 4 GND marked pin side is AT bs GND Note Triangle marked pin side 15 Back view of CM 2 GND As shown in the figure above the four pin connection RS 485 of the Dynamixel motors DX 113 DX 117 RX 28 RX 64 are connectors J30 J37 located on the back of the CM 2 whereas the three pin connection TTL level of the Dynamixel sensor 51 is located on the front of the CM 2 The cables should be connected in a daisy chain configuration as shown in the figure below PLUS ROY teen PLUS User s Guide 2 4 Understanding ID Address and Data Address Data ID Assignment So far we have learned how to create a simple behavior control program Now let s learn about the available input and output items As mentioned earlier the robot is made up of Dynamixel units and CM 2 unit The input and output items all exist inside these devices All of the robot modules are connected to one bus and each module has its own unique ID ID ID 2 DaN Each Dynamixel unit has many input and output items Each item is numbered with an address Data is the value of each input and output item If you look at the behavior control program created earlier ButtonAndLED bpg you can see that the LED is located in the LED item Address 24 of the CM 2 unit with ID 200 We made an If statement to see i
24. Delete number Sometimes during motion editing you will want to change the location of the Step line For example say that you made 4 poses but you want to run only the first two poses Typing in step 2 will move the step line to the beginning of pose 2 and only POSEO and POSE1 will be played 81 PLUS ROY Geran PLUS User s Guide Name Save Page Before Next Copy New Speed With this function you can give a name to a page This will be useful later During editing the motion data is stored inside the CM 2 s RAM When you are finished creating the motion use the save command to save the motion page to the flash memory Type in page page number to jump to another page Moves to the previous page Moves to the next page Make sure to save the motion data before moving to another page since it will be deleted if not saved To copy the data of a certain page onto the current page type in Copy page number The copied data is not saved in the flash memory yet This command will erase all the information inputted on the current page Next we will be learning about editing the page information The page information is located on the upper right corner of the screen The following are names of the items and are not commands They can be edited using the Set command Even though the joint values have been inputted properly you might still not be able to get the desired mo
25. FF TxD FF TxD FF TxD FF TxD FF TxD FF TxD FF TxD FF TxD FF FF FF FF FF FF FF FF FF FF FF 88 81 02 83 un 05 07 08 09 82 82 82 B B 82 82 02 B B Example 2 Read TxD FF FF H1 04 RxD FF FF H1 Return Errar Firmuare Uersion H1 FC LEH 86 LEN 68 H1 FB LEH B6 RHxD FF FF H1 82 BB FC Found 10 01 H1 F LEH 86 80 H1 F9 LEH B5 80 H1 F8 LEH B5 00 H1 F7 LEH 86 80 H1 F LEH B5 RxD LEH BHH H1 FS 06 RxD LEN 68 H1 F LEN 66 RxD LEN 68 H1 LEN 86 RxD LEN 88 Firmware Version Any Key to Continue 02 H2 H1 F5 LEN 88 HF EC LEM 87 BH F Example 3 LED ON Any Key to Continue TxD FF FF H1 88 B3 19 01 DD LEH B88 RxD FF FF H1 02 88 FC LEH B86 Example 4 LED OFF Any Key to Continue TxD FF H1 04 03 19 DE LEH B8 RxD FF FF H1 H2 B FC LEH B6 Latest file gt Tx Examplettexample hex CON T 57500 117 Ci PLUS ROY PB PLUS User s Guide Example 1 sends the Ping command to the Dynamixel actuators UD from 0 to 9 and checks if there are replies The Baud rate for the CM 2 is set to 57 600 bps From the results shown here you can see that one Dynamixel actuator with the ID of 1 is connected to the CM 2 unit Example 2 demonstrates the use of the Read command It reads data from A
26. HExFE LEH BB8B BB CID 681 0401 Baud This command is used to change the baud rate of the CM 2 and Dynamixel controlling UART The baud rate is calculated using the following equation Speed BPS 2000000 Parameter Value 1 100 PLUS ROY keen PLUS User s Guide RESET Parameter Values for Important Baud Rates Set BPS Goal BPS Error RENE NE 1000000 0 1000000 0 0 000 8 200000 0 200000 0 0 000 400000 0 400000 0 0 000 290000 0 290000 0 0 000 a 200000 0 200000 0 0 000 16 117647 1 1152000 2 124 3 57142 0 97600 0 0 794 103 19230 8 19200 0 0 160 207 96154 9600 0 0 160 The Baud command changes the baud rate of the CM 2 itself and all the Dynamixels that are connected to the CM 2 Usage BAUD Calculated parameter value A maximum Baud Rate error of 3 is within the tolerance of UART communication The RESET command will change all the settings of the Dynamixel unit back to the factory initial settings Usage reset ID Do not use the RESET command if possible 101 PLUS ROY keen PLUS User s Guide CID B1 HX81 reset 1 Are you sure y H Dynamixel 255 255 g81 002 886 246 LEH B6 Bx5 6 amp Dynamixel 255 255 001 002 B8B 252 LEH B6 BX5B 6 CID B1 0581 H The H command will send the numbers that are typed into the Robot Terminal as text to the Dynamixel units in binary format The H command i
27. L gbpParameter 2 0x02 Writing Data P GOAL POSITION H gbpParameter 3 0x00 Writing Data GOAL SPEED L gbpParameter 4 0x01 Writing Data P GOAL SPEED H bTxPacketLength TxPacket 610 INST WRITE 5 bRxPacketLength RxPacket DEFAULT RETURN PACKET SIZE TxDStr ing TxDStr ing CXrXn TxD PrintBuffer gbpTxBuffer bTxPacketLength RxD PrintBuffer gbpRxBuffer bRxPacketLength TxDStr ing r n n Example 7 Go 0x00 with Speed 0x40 Any Key to Continue 2 RxD8 O gbpParameter 0 P GOAL POSITION L Address of Firmware Version gbpParameter 1 0x00 Writing Data P GOAL POSITION L gbpParameter 2 0x00 Writing Data P GOAL POSITION H gbpParameter 3 0x40 Writing Data P GOAL SPEED L gbpParameter 4 0x00 Writing Data P GOAL SPEED bTxPacketLength TxPacket 610 INST WRITE 5 bRxPacketLength RxPacket DEFAULT RETURN PACKET SIZE TxDStr ing TxDStr ing CXrXn PrintBuffer gbpTxBuffer bTxPacketLength RxD PrintBuffer gbpRxBuffer bRxPacketLength Ci PLUS RO P PLUS User s Guide TxDStr ing r n n Example 8 Go Ox3ff with Speed Ox3ff Any Key to Continue RxD8 O gbpParameter 0 P_GOAL_POSITION L Address of Firmware Version gbpParameter 1 Oxff Writing Data P_GOAL_POSITION_L gbpParameter 2 0x03 Writing Data P_GOAL_POSITION_H gbpParameter 3 Oxff Writing Data P_GOAL_
28. Move LOAD Label LOAD Label CALL Label RFTIIRN Address Custom ID e All Dynamixel SENSOR 100 Dynamixel 5 DAL 1 Dynamixel g 3 Dx mamie 7 DXL B Dynamixel MARGIN GW margin COW margin 2105F OW Slope COW Slope i Gancel Step3 Download the behavior control program Step4 Verify that the speed of the AX 12 is reduced as the AX 12 approaches to the goal position after the PLAY button is clicked on the program download window 42 PLUS ROY PB PLUS User s Guide Margin When you set the CW CCW Margin value a section to which torque is not applied around the Goal Position can be made When a robot grips an object too hard that object can be damaged Therefore proper force is more important than the accurate position control If you set a proper value for Margin the robot can grip things without damaging them Example 9 Makes a section to which torque is not applied around the goal position Step 1 Connect the DYNAMIXEL with ID number 1 to the CM 5 Step 2 Make a behavior control program Insert CW Margin and CCW Margin above Speed and Goal position like following figure DER File Edit Program Management View Window Help er X aly 9 4 Behavior Control Programmer Bioloid Move_margin bpg Comment B
29. POSE7 will disappear see figure on Dynamixel RIT T Dynamixel 1 0 0 the right You can now move this joint Dynamixel 2 0x02 4_ gt by hand Dunamixel 3 8x83 1 Dunamixel 4 8x64 Dunamixel s5 BxB5 F After moving the joint to the desired Dynamixel amp 8x86 4 s iti Dynamixel 7 8x872 4 position type the ON command to see Dunalixcl ACMI Ol s the joint angle value at POSE7 The Dunamixel 9 8x69 7 Dunamixel 1B BxB Dunamixel 11 8xBB Dunamixel 12 8xBC Dunamixpel 13r Ax AD torque will be back on locking its joint position You can list several Dynamixel IDs Torque Off state with OFF instruction after an OFF or ON command to turn them on or off all at once Write After setting the joint angles to the desired positions type in the WRITE command The joint angle values of the POSE7 will be added to the pose Let s make several more poses this way E oboi Torminal 0 T7 Ftobot Terminal wis eenah 11 LE 01081 eus Addr 708 0900 En l q dr 708 3UB B 085 Hecerwed 2000 S amp t3 POSE is saved LIC TL B PFlaygCeunt iii LIC TL LayQount mii SEIS S iS qHeserged 2200 Sa hl Was qH eserwed 200 ot Bx I BaT Heserwesd
30. Programs of the Dynamixels are upgraded through the behavior control program Proceed with the update according to the following procedure The upgrade of the AX 12 is a newly added function from the version 1 26 of the behavior control program Therefore when you use the program of any version before 1 26 you should download and install the latest version of Boiloid software from our ROBOTIS website www robotis com to proceed with the upgrade You can verify the version of the behavior control program by selecting Help gt Behavior Control Programmer Information About Behavior Control Programmer Behavior Control Programmer 5 Version 1 30 Copyright C 2005 ROBOTIS CO LTD In addition the upgrade is possible only when the version of the CM 2 program is more than 1 13 Therefore if you use the program of a version before 1 13 download the latest CM 2 program from our ROBOTIS website www robotis com and proceed with the upgrade of the CM 2 first Connect the CM 2 and the PC In the same way as the CM 2 upgrade and turn the CM 2 power switch on At this moment the AX 12 to be updated should be connected to the CM 2 The ID of the AX 12 to be updated should be a value from 1 to 19 If there 15 an ID of the AX 12 out of this range modify the ID first When the AX 12 s with duplicated IDs are connected to the CM 2 the update is not properly proceeded Run the behavior control programmer Select Ma
31. ROY keen PLUS User s Guide 6 2 ZIGBEE Wireless Manipulation Zigbee ZIG 100 is a device used for wireless communication of Bioloid Zigbee is technique for communication frequently used for PAN Personal Area Network like Bluetooth 716 100 CM 2 and 716 100 For the communication between the Zigbee and Bioloid the ZIG 100 should be mounted in the CM 2 You have to disassemble the CM 2 and insert ZIG 100 module in place of ZIGBEE on the circuit board To transmit and receive data more than two sets of CM 2 s and 716 100 are required CM 24 716 100 ni Wireless 716 100 CM 2 Communication 87 B mt 7 fe tae DM LI S CM 2 Before ZIG 100 is CM 2 After ZIG 100 is mounted mounted 69 CHH PLUS CM 2 PLUS User s Guide Zigbee ID Setting ID Each the ZIG 100 has a proper ID Therefore for the communication between the ZIG 100s they should know each other s ID Once the IDs are known one to one communication between the 716 1005 is possible When the ZIG 100 is used for a special purpose a broadcasting mode allowing the ZIG 100 to communicate with all other surrounding ZIG 100s is also possible The details are described in the ZIG 100 manual To assign an ID of one ZIG 100 to another ZIG 100 the behavior control program is used The following figure explains the method in assigning an ID for other ZIG 100s When you create a behavior control program downlo
32. Run the behavior control program and save the motion data of the robot in the PC by using the following method The extension of the motion data file is mtn Q Select the Robot Motion 2 Click the To read from the Data menu of the behavior robot button in the read write control program interaction box 2 Behavior Control Programmer Bioloid J Robot Motion File Program View Help gt ki R CM 5 R x das EME a Read from Robot Write to Robot 0 Port name M Disconnect GM 5 3 Designate a path and f a fil name of a file to be saved Press the button of the CM 5 to start upload 5 When upload is finished close the interaction box and then press naa the Mode button of the CM 5 Save tipe melon mim Cancel 69 PLUS ROY keen PLUS User s Guide Downloading Run the behavior control program and download the motion data Motion Data from the PC to the robot using the following method CD Select the Robot Motion 2 Click the To write to the robot Data menu of the behavior button in the read write interaction control program box z Behavior Control Programmer Bioloid DBR Robot Motion File Program View Help Gl Recovery CM 5 R i Update CM 5 U Read from Robot Write to Robot Robot Mation File name file 0 Port name 9 Disconnect GM 5 3 Select a fi
33. RxPacket byte bRxLength PrintBuffer byte bpPrintBuffer byte bLength void void void void void byte void void void byte byte void Gloval Variable Number volatile byte gbpRxInterruptBuffer 256 byte gbpParameter 128 byte gbRxBufferReadPointer byte gbpRxBuffer 128 byte gbpTxBuffer 128 volatile byte gbRxBufferWr i tePointer int main void byte bCount bID bTxPacketLength bRxPacketLength PortinitializeQ Port In Out Direction Definition RS485 RXD Set RS485 Direction to Input State Serial Initial ize SERIAL PORTO 1 INTERRUPT RS485 Initializing RxInterrupt Seriallnitialize SERIAL PORT1 DEFAULT BAUD RATE 0 RS232 Initializing None Interrupt gbRxBufferReadPointer gbRxBufferWritePointer 0 RS485 RxBuffer Clearing sei Enable Interrupt Compiler Function TxDString r n The Example of Dynamixel Evaluation with ATmega128 GCC AVR Dynamixel Communication Function Execution Step Step 1 Parameter Setting gbpParameter parameter instruction step is not needed TxPacket ID INSTRUCTION LengthOfParameter TxPacket Length is returned RxPacket ExpectedReturnPacketLength Length is returned Step 4 PrintBuffer BufferStartPointer LengthForPr inting In case of no INST PING this Step 2 Total Step 3 Real RxPacket bID 1 TxDStr ing r n n Example 1 Scanning Dynami
34. TxDStr ing LEN TxD8Hex bLength TxD8 Print value of Baud Rate void PrintBaudrate void TxDStr ing CXrYn RS232 TxD32Dec 160000001 81 long UBRR1L 1L TxDString BPS TxDString o RS485 TxD32Dec 16000000L 8L Long UBRROL1L TxDString BPS Hardware Dependent ltemx def ine TXD1 READY bit is set UCSR1A 5 UCSR1A Bit define TXD1 DATA UDR1 H def ine RXD1_READY bit is set UCSRIA 7 H def ine RXD1 DATA UDR1 H def ine TXDO READY bit is set UCSROA 5 H def ine TXDO DATA UDRO H def ine RXDO READY bit is set UCSROA 7 H def ine RXDO DATA UDRO SeriallnitializeQ set Serial Port to initial state Vide Megal28 Data sheet about Setting bit of register Seriallnitialize needs port Baud rate Interrupt value void Seriallnitialize byte bPort byte bBaudrate byte blnterrupt if bPort SERIAL PORTO UBRROH O UBRROL bBaudrate UCSROA 0x02 UCSROB 0x18 if blnterrupt amp RX INTERRUPT sbi UCSROB 7 RxD interrupt enable UCSROC 0x06 UDRO OxFF sbi UCSROA 6 SET TXDO FINISH Note set 1 then 0 is read else if bPort SERIAL _PORT1 UBRR1H 0 UBRRIL bBaudrate UCSR A 0x02 UCSRIB 0x18 if blnterrupt amp RX INTERRUPT sbi 0 7 RxD interrupt enable UCSR1C 0x06 OxFF sbi UCSR1A 6 SET TXD1 FINISH Note set 1 then 0 is rea
35. User s Guide Minute Adjustment Of Pose When you click on the lt joint value gt you can minutely adjust the joint value If you select numbers of lt joint value gt while you press the Ctrl Key and click ON or OFF button only the selected joints will be ON or OFF Minute Minute Adjustment of joint value of joint value On Off of x On Off of particular joint joint Ot 1 Dyramixel 2 P Dyrarnixel Qe 2 Dynamixel B Dynamixel T 3lDynamixel 4 Dyramixel 04 4 Dyramixg Click Ctrl Click gt On Off Pose Speed You can set the movement speed of pose by setting the pose speed value Pause Time You can make the motion pause in a pose that you want It pauses for a period of Pause Time value X 7 8 msec Save Pose A motion 15 saved poses performed in sequence Therefore poses made using the above process should be saved in the pose saving window You can input the current pose in a preferred place of the pose saving window by using Drag amp Drop with the mouse If you drag and drop a new pose into a place where another pose already exists the existing pose will be replaced by the new pose and will be deleted v Motion Stag 2 ElmIMDDUELE Adhl 1 Motion speed 32 Accel t tima 40 0 Number Page Play Page San OR 4 EPIS CM 2 PLUS User s Guide Add Pose When you click Add Pose the current pose is s
36. count _ w 3 Dyrarixel i Number of pose Pose information Pose saving window 63 PLUS RO PB PLUS User s Guide 4 2 Creating Motions 4 2 1 Page Information Page Name Page Number Page change Data Address Play Count The page information window contains items needed to execute motions You can modify each item by double clicking the item number Page name Page number 0 0000 200 Play count 1 Data address Number of pose 1 Motion speed a2 Accel time 32 Next page No Exit page Mo Play Motion Page Number 1 Page Play Page Save Determines the page name The initial value is No name This is the proper serial number for each page CM 2 can save and make 127 motion pages The page number uses values from 1 127 Modifies the page number to move to another page Shows the memory location of the current page General users do not need to pay attention to it Sets the number of times a motion in a page is executed The initial value is 1 Number of Pose Executing a motion only the poses from O to the designated number are played Motion Speed Poses beyond these numbers are displayed in black on the screen This function can be useful when playing some of the forepart among the inputted poses The pose will be explained in detail in the next chapter Regulates the speed at which a page is played The initial value is 32 Changing this value into 64 do
37. in the above behavior control program and play the program Behavior Control Programmer Bioloid endless turn bpg mB xd File Edit Program Management View Window Help O wW v v Label START Label LOAD Label Once the DYNAMIXEL is set in the state of Endless Turn it functions in the Endless Turn until the state is changed If you try to control DYNAMIXEL set in the Position Control state as the Endless Turn state or in reverse DYNAMIXEL does not properly function 45 PLUS ROY keen PLUS User s Guide 3 8 Using Sensors Functions A robot cannot truly be a robot if it simply moves by remote control A robot has to be able to move and do things autonomously The most important thing in making a robot autonomous 15 to give it the ability to sense and gather information For example if you want to build a robot that can avoid obstacles the robot would first need to have the ability to sense the obstacle A device that can sense information is called a sensor A sensor not only has the ability to sense objects but also people or other robots The process of a robot sensing outside information and reacting to it via outputting a movement is called robot interaction The interaction between a robot and human is called HRI Human Robot Interaction Voice and face recognition is also part of HRI In order to have robots live with humans the advancement of HRI development is essen
38. one can easily develop a program for controlling them Select Open Project s from the File menu on the MinAVR Programmers Notepad lt gt Programmers Notepad 2 EE view Tools 3 New gt h 2 Open Ctrl O x FS RE Plain pen Project s Close Project s Recent Files h Recent Projects Exit Open the example pnproj project file in the Example folder Programmers Notepad 2 fs example sym Example example map Example Ist ej example lss 89 example hex example elf example 2 makefile makefile bak All Files example pnproj All Files t Cli PLUS 2 5 User s Guide Files Open Double click the Example c on the left and the contents of it appear on the screen 4 Programmers Notepad 2 File Edi View Tools Window Help et ivo Xx OB iec v B v Find Projects Example c gy New Project Group example E Example c 2 128 Example c _ The Example of Dynamixel Evaluation with Atmegal28 2004 7 20 Author BS KIM w included files define ENABLE_BIT_DEFINITIONS f include io h include lt inttypes h gt include lt avr io h gt include lt avr interrupt h gt include lt avr signal h gt
39. romocon data is used as a command The method is similar to that of infrared communication Dehavor Control Programmer Glolold Wireless data As bpa l Sy Filo Eda Program Management Window Help D ot m 7 L gt gt TX remacon data PX remocon data 91 PLUS ROY keen PLUS User s Guide 7 Management Mode This chapter explains about using Management Mode In manage mode you can check the robot status and check or change the Dynamixel settings 7 1 SETTING THE ID AND DYNAMIXEL SEARCH Robot Terminal Run the Robot Terminal program In the previous chapter we explained how the CM 2 the PC are connected Since we explained comport setup in detail in previous chapter we will it here omit here Initial State When you execute the manage mode the following screen will show up in the Robot Terminal Hobot ferminal v0 9 Setup Files CM 2 program version lt gt P U amp Dynanixel 18888B88 BPS ID HH1 HB 2 582 Dynamixels Found CID 001 06401 Here you can see the number and the IDs of the connected Dynamixel uints If what appears on the screen is different from the actual configuration check the following Do all the Dynamixel units have different IDs Do the communication speeds between the Dynamixel units and the CM 2 agree Are the cables connected properly and securely To check the wir
40. the 51 short distance sensing and long distance sensing You can get more accurate distance values by the short distance sensing and expand farther the sensing area 254 1 254 1 by the long distance sensing Set Obstacle detected compare as O for using the short distance sensing The following example verifies the difference between two types of sensing Example 12 When the U button of the CM 5 is clicked the long distance sensing functions and when the D button is clicked the short distance sensing functions Step1 Connect the AX S1 with ID number 100 to the CM 5 Step 2 Make behavior control program 4 Behavior Control Programmer Bioloid Sensing distance 2 bpg ag Ele Edit Program Management View Window Help Obstacle detected compare 4 Label Comrnent START Label Repeat Comment IF dig Button dig LOAD Label Comment ELSE IF dig Button d LOAD Label Comment LOAD Sal Print E 10010 Label Comment JUMP Repeat Label _ Step 3 Download the behavior control program Step 4 After the PLAY button is clicked on the program download window press the U button of the CM 5 then verify that values of distance sensing change with approximating a hand to the AX S1 Press the D button of the CM 5 and then verify that values of distance sensing change with approximating a hand to the AX S1 gl CHH PLUS CM 2
41. 0 for bCount 0 bCount lt bRxPacketLength bCount ulCounter 0 whi le gbRxBufferReadPointer gbRxBufferWr itePointer if ulCounter gt RX_TIMEOUT_COUNT1 bTimeout 1 break if bTimeout break gbpRxBuffer bCount gbpRxInterruptBuffer gbRxBufferReadPointer bLength bCount bChecksum 0 if gbpTxBuffer 2 BROADCASTING 10 if bTimeout amp amp bRxPacketLength 255 TxDString Error RxD Timeout CLEAR_BUFFER if bLength gt 3 checking is available if gbpRxBuffer 0 Oxff gbpRxBuffer 1 Oxff TxDString Error Wrong Header CLEAR BUFFER return 0 if gbpRxBuffer 2 gbpTxBuffer 2 TxDString YrYn Error TxID RxID CLEAR BUFFER return 0 if gboRxBuffer 3 bLength 4 TxDString Error Wrong Length CLEAR BUFFER return 0 for bCount 2 bCount lt bLength bCount bChecksum PLUS RON PB PLUS User s Guide gbpRxBuf fer bCount if bChecksum Oxff TxDString XrXn Error Wrong CheckSum CLEAR BUFFER return 0 return bLength PrintBuffer print data in Hex code PrintBuffer needs two parameter name of Pointer gbpTxBuffer gbpRxBuffer void PrintBuffer byte bpPrintBuffer byte bLength byte bCount for bCount 0 bCount lt bLength bCount TxD8Hex bpPr intBuffer bCount TxD8
42. 1 082 HB FC LEH B6 Example 7 Go 6x68 with Speed x48 Any Key to Continue TxD FF FF H1 O7 H3 1E HB BB 46 BB 96 LEH BB HxD FF FF H1 02 66 FC LEH B6 Example 8 Go Bx3ff with Speed Bx3FF Any Key to Continue TxD FF FF 81 07 H3 1E FF H3 FF H3 D2 HxD FF FF H1 H2 HB FC LEH B6 Example 9 Torque Off Any Key to Continue TxD FF FF H1 64 83 18 BB DF LEN 68 RxD FF FF 01 02 BB FC LEN 66 End Push reset button for repeat Latest file gt Tx Examplettexample hex COM 1 5 7600 118 Ci PLUS ROY PB PLUS User s Guide Example 5 reads all the data from the Control Table by sending a packet to read data from address to 0x31 The figure above shows the list of these 0x37 packets in the Address form Example 6 demonstrates the command for moving the output of a Dynamixel actuator to a specified position This is the most often used command The Goal Position value of Ox200 corresponding to the position at 180 degree is written to address Oxle of the Control Table The Goal Speed value of 0x100 is written to address Ox20 of the Control Table as well Note that both values Goal Position and Goal Speed can be written at the same time using only one packet Example 7 and Example 8 each demonstrate the command for moving the output of a Dynamixel actuator to a specified position and follow the same method as explain in Example 6 The last example Example 9 turns off the torque of the Dynamixel a
43. 27 FUSE POSU POST PHZ2 POSS POSS POSS FOS Step l Latest Ale gt Tx Exot how Keyboard Screen PLUS ROY PA PLUS User s Guide Setting the Comport If the connection fails after starting the Robot Terminal program go to the setup menu and select Connect to set up the Com port as shown in the figure below Set it to the appropriate Com port and set the communication speed to 57600 bps You only have to set the Com port once since this information will be saved inside the program E Robot Terminal v0 97 Serial setup Connect Pnrt Modify calor Baudrate 57600 bps Add bytesum 78 Ci PLUS ROY PB PLUS User s Guide Apply power to the CM 2 and run the program mode To do this go into program mode by pressing the MODE button and then press the START button The following screen should appear Robot Terminal v0 92 Setup Files Dynamixel Dynamixe PageNumber 8881 Dynamixe Addr 8888E2 08 Dynamixe Reserved 000 Dynamixe PlayCount 881 Dynamixe i Reserved 888 Dynamixe Reserved 888 Dynamix Reserved 888 Dynamix e Reserued 888 Dynamix Step DunamixP ControlCode Dynamixe Speed DynamixE DXL Setup DunamixB ccel Time Dynamixe 885Link to Next Dynamixe i 885Link to Exit Dynamixe I 885 ReseruedP1 Dynamixe 885 ReseruedR1 Dynamixe 885 ReseruedP2 DunamixP i 885 ReseruedR2
44. 62 BB BH BB 2h Des BBBBBB3DB 84 B BB B7 HB H7 H1 Ad 01 BB B BB FF FF BF AHAHAHA B BB HB B B B GB BB BB BB BB BDBBDB5SD DB DB DD BH BB 02 BD BD B BB H BB BB HF 69 95 0 BDBBDB6D 20 DB DD Bd HB BD BD B B BB H DB BH DB 9D BDBBDB7D F8 FE FF BB BD B BB HB DB 7H DB DD BB S eeprom 1686 686666108 FF FF FF FF FF FF FF FF FF FF FF FF FF FF 88800118 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 88800128 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 88800138 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 88800158 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00000150 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 000001680 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 88800178 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF flash 1e 668 BBBTEBBO BU A8 F9 18 95 18 95 18 95 18 95 18 95 18 95 H BBBIEB108 18 95 18 95 18 95 18 95 18 95 18 95 18 95 18 95 2 18 95 18 95 18 95 18 95 18 95 18 95 18 95 18 95 BdHT1EH3H 18 95 18 95 18 95 18 95 18 95 18 95 18 95 18 95 HBHT1EBhH 18 95 18 95 18 95 18 9L 18 95 18 95 18 95 18 95
45. ART ID END ID Dynamixel firmware update system user only Copyright ROBOTIS CO LTD CID BB1 BXB1 CID CID is the abbreviation of the Control ID This shows the ID of the Dynamixel that the CM 2 is controlling CID is also used as a prompt character in manage mode CH 5 Version 1 1 gt PC 57142 BPS amp Dynamixel 1888888 BPS 10 801 0602 CID 661 6581 mixels Found Indicates the control of Dynamixel that has the ID of 0x01 L 94 Cli PLUS ROY PB PLUS User s Guide ID 254 SCAN To change the ID of the Dynamixel that the CM 2 controls to number 3 type in the following commands CID 861 6461 CID 8B1 HX81 cid 3 CID 883 BA CID 883 BA 63 After the command above only the Dynamixel with an ID of 0x03 will react Communication between the CM 2 and Dynamixel will not occur even if you run the CID command Use the ID command when you want to change the IDs of all the connected Dynamixel units Usage ID ID number Example ID 2 Set the connected Dynamixel units ID to 2 The ID command will change the IDs of all the connected Dynamixel units regardless of the value of the CID Therefore when you use the ID command make sure that there is only one Dynamixel connected to the CM 2 hen you use the ID command make sure that there is only one Dynamixel connected to the CM 2 Using ID number 254 will send commands to all Dynam
46. Both the right side sensor and the 110 center side sense obstacles The sensors of all the sides sense 111 7 obstacles Ci PLUS RO PB PLUS User s Guide The following example verifies that the Obstacle detection flag displays the direction where obstacles are sensed Example 11 Outputs number 1 in a place corresponding to the direction where a hand is sensed Left 001 Center 010 Right 100 Step 1 Step 2 ID o START LOAD Label Repeat IF Label ELSE IF Label ELSE IF Label ELSE IF Label ELSE IF Label ELSE IF Label ELSE IF Label ELSE Label JUMP Label END Step 3 Step 4 Connect the AX S1 with ID number 100 to the CM 5 Make up a behavior control program as follows Behavior Control Programmer Bioloid Sensing_distance bpg x File Edit Program Management View Window Help sev J Comment THEN LOAD Comment THEN LOAD Comment THEN LOAD Comment THEN LOAD Comment LOAD Comment LOAD Comment LOAD Comment Comment Download the behavior control program Verify that the output values change with approximating a hand from various directions to the AX S1 after the PLAY button is clicked on the program download window o0 Cli PLUS ROI PB PLUS User s Guide Short distance Long distance sensing There are two types of distance sensing of
47. D et Bx BA BaT HReserwesd amp B F iS Heseruedi 200 F iS Heserued i 800 1421 81 BaT Heserwesd D BaT amp B 095 Page Steg 095 Page sSE D an R 2 SBi D 104 BA bf BH Dasbraltade amp Bil 11 095 Page Speed eit 1168 IB 095 Page Speed eit GEL eo h DXL OS aeccel Time 128 UD py 095 accel Tine es SLink to Hext i Th be 81 Wasrink to 10 UE Wasrlink Bas i BeseruedPt3 amp Bil D iai Bx 1a Bus BeseruedPt eBl aas iReserwedR d amp i aas Bas Revered PS D T8 12 B Be eruedP2 e amp Bil aas cReserwedR2 aar 124 8x IC LELA UD Th BINE 3 154 BIN b TR 212 OW Sek aas HB Copy Sauer wisin Old Hei SIF hunsniwel 27 adis Inc bec 54 Dynanixel Ji Bus 29 amp cid ms Dynanixel IN Srde h 1 Bus FauseTime n s S Speed Be Dos B PAO A 127 POSE P t POL POS POSS Pith POSS POSS Step Lategi Glo Warkwaartas bis CON P5280 aas cReserwedR2 1
48. Dunanixel Fi Erih Dunanixel 2 gt 15 Dbunanixel 27 amp cib Dynan 1 286 oe be pf Dunanixwel 29 amp cid Dynamdxel 2 Sete ASE W I Sek 5 Copy Save OF Mew SIP iiS Inc y 985 FauseTime 0002 usb eng p S DIG DA 12 POSE P t amp Pat POS POSS Pith POSS POSS Co Step 2 Werk pace bis After executing the WRITE command After executing the ON command 80 PLUS CM 2 PLUS User s Guide Play Go We will now check the motion that connects the inputted poses If you 1 type in play the motion will be e AM Fa TUN NIE RM m TN E played The poses from POSO to iat hun x amp Bx IM OAS Heserwesd 060 E ft el hl OS qHeserwed 1200 the last inputted pose will be T am Dunanixel 3 Bd be BA bf Casnbraltade B played You can see where the last a mE M gree 5 ccel B 5slink Ea Hext BB inputted pose 15 by the Step line inani qE suse tatem 1 Dunanixel 181 423 i 111 bunaniwel id 4 amp c3 4 J Dunanixel Fi Eih en bunaniwel fi d it
49. Dunmamixel fanny li PFagetunier Dynamixel 2 x 2 OBS muera 2 ug i TES Heseruedi 800 m w n BAS Plautaunt sS mwuns RS Reserved 2000 11 BOS Reserved Pu Bs OFT 11 BaF Reserved 7808 Wm up li HS Heserued 2800 TC ux mp li step 11 T wu y Comtroloode ami 11i OB 3 J BES Page Speed eae 120 BAS BRL Setup aon 190 007 ORS Accel Time 37 15 Ie DIE 11 BASLink tn Hex enn 176 Gx OF if 1 B 5Link to Cxits 808 Dunmamixel 8 189 li HS Reser wed BH Dunmamixel 17 Ux1T2 li HS Dynamixel 1H Ux12 BUT i 19 mi3 3 Reser we dH y mu AS z10m5 085 11 mn ixel 22 05172 1 Zag HTH Sh Wt D M 25 1911 lt lt 1 lt lt lt mm 11 oz imxdajy 4 mnm mm Hwy SF 2 0m153 mB51nc Dec HM 1 5 2z9tmiddj F 3am ns4p 11 PauseTine emn amo ena eua Speed mmu Bh a X UI Y UU R US1
50. FALSE the condition command of ELSE IF is executed The command structure is the same as that of the IF command CONT IF You can use this command to judge multiple conditions at the same time The following figure displays how it works Condition Command Select a logical operation between conditions AND OR Behav or Control Programmer Bioloid Programi Sele Hit Program Management View Window Help l8m x Bs El S 72 Commen Comment C THEN LOAD 2 Print E 100 D 3 Comment B E b NUM CONT IF Select a command to operate when the condition is True THEN AND OR ELSE When the conditions of the preceding commands are all FALSE and there is ELSE in the next row the ELSE command is executed 26 PLUS ROY cern PLUS User s Guide JUMP This command changes the execution order of the commands Input an indication of a command that you want to execute in a block next to JUMP When there is no corresponding indication an error will occur while downloading the program Refer to the following figure on how to use this command Behavior Control Programmer Bioloid Programi ag File Edit Program Management View Window Help DG gt e e 2 t Comment Comment Comment Comment ENDING Transfer CALL RETURN When you make a program you may be required to repeat a set of c
51. Hz or higher Recommended RAM 256MB or higher Recommended Graphic Card 3D acceleration function Direct 3D supported Required HDD free space at least 300MBytes Recommended Direct X 8 0 or higher Required PLUS ROY keen PLUS User s Guide 1 4 CM 2 and Optional Items SNIP o Cl SMPS 12V 5 5A Optional items Serial cable cable Included in the box 10 Cli PLUS ROI PA PLUS User s Guide 2 Learning the Basic Operations 2 1 The CM 2 and its Operation Modes CM 2 The CM 2 is the central control unit and power source for the robot As mentioned earlier the robot is built by connecting the Dynamixels to the CM 2 as the central unit In order to understand how the robot works you first have to understand how the CM 2 operates Status display LED Power switch Serial cable 4 GND lt p T D Note Triangle marked pin is GND Back view of 2 Mode display Dynamixel connector AX S1 Start button Mode change button Zigbar connector Power JACK Dynamixel connector DX RX series m o ct c cr ct D K 5 lt LL Battery connector 11 PLUS Applying Power CM 2 PLUS User s Guide Apply power to the CM 2 unit by plugging the SMPS into the power jack on the upper left corner Then turn the power switch on One of the mode display LEDs should be bli
52. O FINISH bit is set UCSROA 6 def ine P UP CALIBRATION H 23 define SET TxD1 FINISH sbi UCSR1A 6 def ine RESET TXD1 FINISH cbi UCSR1A 6 define P TORQUE ENABLE 24 def ine CHECK TXD1 FINISH bit is set UCSR1A 6 define P LED 25 define CW COMPLIANCE 26 define RX INTERRUPT 0x01 def ine CCW COMPLIANCE MARGIN 27 define TX INTERRUPT 0x02 define CW COMPLIANCE SLOPE 28 define OVERFLOW INTERRUPT 0x01 define CCW COMPLIANCE SLOPE 29 define SERIAL PORTO O define P GOAL POSITION L 30 define SERIAL_PORT1 1 def ine P GOAL POSITION 31 itdefine BIT RS485 DIRECTIONO 0x08 Port E define P GOAL SPEED L 32 def ine BIT_RS485_DIRECTION1 0x04 Port E def ine P_GOAL_SPEED_H 33 def ine P_TORQUE_LIMIT_L 34 define BIT ZIGBEE RESET PDA out default 1 define TORQUE LIMIT H 35 PORTD def ine PRESENT POSITION L 36 define BIT ENABLE RXD LINK PC PD5 out default 1 define PRESENT POSITION 37 define BIT ENABLE RXD LINK ZIGBEE PD6 out default 0 120 Ci PLUS RO PB PLUS User s Guide def ine LINK PLUGIN PD7 in no pull up TxD81 byte bTxdData TxD80 byte bTxdData TxDStr ing byte bData TxD8Hex byte bSentData TxD32Dec long Long RxD81 void 1 word wDelayTime PortInitial ize void Seriallnitialize byte bPort byte bBaudrate byte blnterrupt TxPacket byte bID byte blnstruction byte bParameterLength
53. PLUS User s Guide 3 8 2 Brightness Sensing Value of Light 51 has three sensors for sensing brightness its surroundings The Brightness brighter the lights are the larger the values of luminosity The following example should help you understand the value of luminosity of the 51 Example 13 Verifies that the value of luminosity changes with flashing a Step 1 Step 2 Step 3 Step 4 bright light to the AX S1 Connect the AX S1 with ID number 100 to the CM 5 Make a behavior control program Behavior Control Programmer Bioloid Sensing_Light bpg SEE xj File Edit Program Management View Window Help 2 Bm x 99 Label B START Label Repeat LOAD Label LOAD Label LOAD Label JUMP Label END Set Parameter LEFT Left luminosity 5 Center luminosity DXL 2 Dynamixel f DXL 3 Dynamixel DXL 4 Dynamixel Download the behavior control program After the PLAY is clicked on the program download window verify that the value of luminosity changes with flashing a bright light such as a lamp light to the AX S1 2 Cli PLUS ROI PB PLUS User s Guide 3 8 3 Sound Sensing The 51 can sense sounds in its surroundings and has several functions Value of Sound data When there is no sound the value is about 128 The louder the sound the closer the valu
54. Port 9 CM 2 Program Update 9 1 CM 2 Program Update 9 2 Dynamixel Program Update APPENDIX CM 2 Board Diagram Page 92 Page 97 Page 103 Page 106 Page 107 Page 115 Page 125 Page 128 Page 130 Page 133 Page 136 PLUS ROY teen PLUS User s Guide 1 Before Starting 1 1 A Word of Caution A Note on Safety You are responsible for any accidents that occur while wiring and setting up the product Before starting please remember the following Read and study the manual before starting product is not waterproof so be cautious when handling near water Do not operate or store it in under direct sunlight Do not operate or store it near open flames or in humid environments Board Malfunction If any of the following occurs immediately turn off the power and contact an adult supervisor or the company When you see smoke coming out of the product When the LED does not turn on after power is connected When water or foreign substances enter the robot When you detect an unnatural smell from the product When the robot is damaged Notes Please note the following Before operating Dynamixel cable check the pin order of the connector Turn off the power immediately to avoid damage to the robot if a joint gets twisted from wild motions during development When operating the robot with the SMPS make sure the robot does not fall and refrain from wild movements T
55. Project Group Ef simpleMain c SimpleMain c the following in the SimpleMain c source code void main void The above program has no content and is in the form of the most basic structure of a C source code Now that the source code is completed the next step is to compile it To do so the user has to select the necessary options for compiling it Makefile The Makefile contains the information for the compile options Sometimes the project file may contain the information for these options However since the Win VAR does not have an internal compiler it needs a separate Makefile for the GCC Just like creating a project the Makefile needs to be created only once and then modified as needed Location of the Makefile The Makefile has to be in the same directory folder location as the project file and the main source file that contains the Main function The name of the file has to be Makefile without an extension and cannot be changed Thus the files Makefile and SimpleMain c have to be in the same folder Editing the Makefile Makefile contains information on opening and compiling the source file and the name of the executable file Makefile also contains other information but the important information that the user needs to deal with are the name of the 111 PLUS RON PM PLUS User s Guide resultant file the name of the source fi
56. RETURN PACKET SIZE 6 Control Table Address def ine BROADCASTING ID Oxfe EEPROM AREA def ine P_MODEL_NUMBER_L def ine P_MODOEL_NUMBER_H def ine P VERSION define ID Hardware Dependent Item 0 define TxD8 TxD81 1 2 3 define P BAUD RATE 4 def ine DEFAULT BAUD RATE 34 57600bps at 16MHz 5 6 7 8 H def ine RxD8 RxD81 def ine P RETURN DELAY TIME def ine CW ANGLE LIMIT L def ine CW ANGLE LIMIT def ine P CCW ANGLE LIMIT L For 2 define RS485 TXD PORTE amp _BV PE3 PORTE _BV PE2 485 DIRECTION 1 define P CCW ANGLE LIMIT H 9 define RS485_RXD PORTE BV PE2 PORTE BV PE3 define SYSTEM DATA2 10 PORT 485 DIRECTION 0 define P LIMIT TEMPERATURE 11 define P DOWN LIMIT VOLTAGE 12 For CM 2 define P UP LIMIT VOLTAGE 13 define RS485_TXD PORTE BV PE2 485 DIRECTION 1 def ine P MAX TORQUE L 14 define RS485_RXD PORTE amp BV PE2 PORT 485 DIRECTION 0 def ine P_MAX_TORQUE_H 15 def ine RETURN LEVEL 16 define TXDO FINISH UCSROA 6 This bit is for checking TxD define ALARM LED 17 Buffer in CPU is empty or not define P ALARM SHUTDOWN 18 H def ine TXD1 FINISH UCSR1A 6 define OPERATING MODE 19 define P DOWN CALIBRATION L 20 define SET TxDO FINISH sbi UCSROA 6 define P DOWN CALIBRATION 21 def ine RESET TXDO FINISH cbi UCSROA 6 def ine P UP CALIBRATION L 22 def ine CHECK TXD
57. S1 Verify also that the values are initialized when the U button is pressed 53 Cli PLUS ROY PB PLUS User s Guide Example 15 Making the AX 12 move more as the surrounding sound becomes louder Step 1 Connect the AX S1 with ID number 100 and AX 12 with ID number 1 to the CM 5 Step 2 Make a behavior control program D Make a variable called position value and input a value of Sound data into this variable Since the range of Sound data value is 0 255 and the range of goal position value is 0 1023 quadruple the Sound data value so that this value becomes similar to the goal position value 2 Input the variable position value as a goal position value of the 12 with ID number 1 Determine an appropriate value for speed value z Behavior Control Programmer Bioloid Sensing sound 2 bpg xe File Edit Program Management View Window Help ox ID sey 9e START Label Repeat Comment COMPUTE Label Comment LOAD Label Comment POS 1 0 lt POS Print lt POS MOVING cy 1 Label Comment LOAD Label Comment LOAD Label Hold Comment IF JUMP JUMP Repeat Label Comment Step 3 Download the behavior control program Step4 After the PLAY button is clicked on the program download windo
58. SPEED_L gbpParameter 4 0x03 Writing Data P_GOAL_SPEED_H bTxPacketLength TxPacket 610 INST WRITE 5 bRxPacketLength RxPacket DEFAULT RETURN PACKET SIZE TxDString XrXn TxD PrintBuffer gbpTxBuffer bTxPacketLength TxDString CXrXn RxD PrintBuffer gbpRxBuffer bRxPacketLength TxDStr ing r n n Example 9 Torque Off Any Key to Continue RxD8 gbpParameter 0 P TORQUE ENABLE Address of LED gbpParameter 1 0 Writing Data bTxPacketLength TxPacket 610 INST WRITE 2 bRxPacketLength RxPacket DEFAULT RETURN PACKET SIZE TxDString CXrXn TxD PrintBuffer gbpTxBuffer bTxPacketLength TxDString CXrXn RxD PrintBuffer gbpRxBuffer bRxPacketLength TxDStr ing r n n End Push reset button for repeat while 1 void PortInitial ize void DDRA DDRB DDRC DDRD DDRE DDRF 0 Set all port to input direction first PORTB PORTC PORTD PORTE PORTF PORTG 0x00 PortData initialize to 0 cbi SFIOR 2 11 Port Pull Up ready DDRE BIT_RS485_DIRECTIONO BIT_RS485_DIRECTION1 set output the bit RS485direction DDRD BIT_ZIGBEE_RESET BIT_ENABLE_RXD_LINK_PC BIT_E NABLE RXD LINK ZIGBEE PORTD amp BV BIT LINK PLUGIN no pull up PORTD ZIGBEE RESET PORTD BV BIT ENABLE RXD LINK PORTD BV BIT ENABLE RXD LINK ZIGBEE TxPacket send data to RS485 T
59. Sel xi File Edit Program Management View Window Help Dark gt sev 2 Label Printing on Screen START Label Repeat LOAD Label LOAD Label Print with line feed Step 2 Download the behavior control program Step 3 Verify if 1 and 2 are continuously printed when the PLAY button is clicked on the program download window and the print is stopped when the STOP button is clicked DO CHH PLUS CM 2 PLUS User s Guide Using variables Example 3 Prints numbers on the screen from 0 with increasing by 1 Step 1 Make a behavior control program Determining Behavior Control Programmer Bioloid Compute bpg a variable ag File Edit Program Management View Window Help 1 Count START m li I nitlalizing Label Repeat value LOAD Print Count Label Label JUMP Repeat variable value by 1 Step2 Download the behavior control program Step 3 Verify if numbers are printed on the screen starting from 1 and increasing by 1 when the PLAY button is clicked on the program download window Using Timer Example 4 Prints 1 on the screen every 1 second Step 1 Make a behavior control program Input 8 in the timer Timer value 8 1 second 4 Behavior Control Programmer Bioloid timer bpgl BAR X3 File Edit Program Management View Window Help Deu 37
60. Ver 1 1 Closer to Real ROBOTS Dynam xel Dedicated Controller 97 ar tones M dp AIT mm Ai 7 1 aid 4 Ee RB Cli PLUS ROY PB PLUS User s Guide Table of Contents 1 Before Starting 1 1 A Word of Caution 1 2 What is the CM 2 1 3 Things to Understand Before Starting 1 4 2 and Optional Items 2 Learning the Basic Operations 2 1 The 2 and Its Operation Modes 2 2 Connecting the Frames 2 3 Wiring 2 4 Understanding ID Address and Data 3 Behavior Control Program 3 1 Starting Behavior Control Program 3 2 File 3 3 Grammar of Behavior Control Program 2 4 Edit 3 5 Running 3 6 Using CM 24 3 7 Using Dynamixel 3 8 Using Sensors 3 9 Error Code 4 Motion Programing 4 1 Starting Mortion Editor 4 2 Creating Motions 4 3 Playing Motion 5 Robot Terminal 6 Wireless Remote Control 6 1 Infrared Wireless Maipulation 6 2 ZIGBEE Wireless Manipulation Page 4 Page 5 Page 6 Page 10 Page 11 Page 13 Page 14 Page 15 Page 18 Page 20 Page 21 Page 29 Page 32 Page 34 Page 38 Page 46 Page 58 Page 77 Page 61 Page 64 Page 71 Page 77 Page 85 Page 89 CHH PLUS CM 2 PLUS User s Guide 7 Management Mode 7 1 Setting the ID and Dynamixel Search 7 2 Other Commands 8 Information for Advanced Users 8 1 Boot Loader 8 2 Using the C Program Language Compiling 3 4 Example c 5 Circuit Diagram 6 Understanding CPU
61. a setting of address 33 47 CHH PLUS CM 2 PLUS User s Guide 3 8 1 Distance Sensing Distance Sensing AX S has three infrared sensor IR Sensor The closer things are the larger Value the distance sensing value is The following example should help you understand the distance sensing value of the 51 Example 10 Verifies that the distance sensing value changes when a hand approaches the AX S1 Step 1 Connect the AX S1 with ID number 100 to the CM 5 Step 2 a behavior control program Behavior Control Programmer Bioloid IR_sensing bpg xj File Edit Program Management View Window Help ox PE LERTE Label START Label Repeat LOAD TE Prnt 100 D Label LOAD Label Gm LOAD mad f Label JUMP Label Genter IR sensor data ISH a Right IR sensor data DXL 2 Dynamixel DXL 3 Dynamixel Center luminosity 4 v Cancel CENTER Z DXL 4 Dynamixel Step3 Download the behavior control program Step4 Verify that the distance sensing value changes when a hand approaches the AX S1 after PLAY is clicked on the program download window Step 5 Keep the value of distance sensing according to the approaching distance in mind 48 Cli PLUS ROI keen PLUS User s Guide Judgment based on There are occasions when sensing the presense of an obstacle 1s more Obstacle Sensing important than s
62. ad and run the program in the CM 2 where the ID is assigned Please refer to C WProgram FilesWRobotisWBioloidWExampleWExample RF Verifying My ID l bpg and Example RF Assigning Other s ID bpg Behavior control program to verify an ID of itself Behavior Control Programmer Bioloid MyRobot_ID bpg 4 x File Edit Program Management View Window Help EX sme Label START Label LOAD Label JUMP Label Behavior Control Programmer Bioloid OtherHobot_ID bpg SEE xj File Edit Program Management View Window Help Ing x sl mabel START Label LOAD Label JUMP Label END Ready 90 PLUS ROY PB PLUS User s Guide ZIG 100 Communication S W Zig 100 also uses the behavior control program as S W The behavior control program has the same structure as that of the infrared wireless communication but different commands The following figure shows a behavior control program for transmitting and receiving data Behavior Control Program for Transmitting CM 2 gt TX romocon data is used as a command The method is similar to that of the infrared communication Behavior Control Programmer Bioloid Wireless_data_TX bpg xi File Edit Program Management View Window Help Osu y 2 Data to be sent Other robot ID Behavior Control Program for Receiving CM 2 gt RX
63. aved in the last Pose Transfer Insertion Click and drag a pose that you want to transfer into a preferred location If you put this dragged pose between poses the pose 15 inserted in between This function can also be used when you transfer a pose in the pose Pose Transfer Pose Insertion a setting window Erase Put the mouse on a pose you want to delete click the right button of the mouse then select Erase Pose Mirror pose Delete pose Play a pose saved in the pose saving window by double clicking on a pose To prevent the robot from being damaged due to running inappropriate poses the program will ask you to verify when the pose 15 not executable You can determine available poses by the color of the robot in the pose window When the pose is not executable the robot color turns black Pose Play Available Poses Poses not available 68 Clie PLUS MON PB PLUS User s Guide 4 2 3 Uploading Downloading Motion Data The motion data made by the motion editor is saved in CM 2 of the robot The motion data of the robot should be uploaded and saved in the PC In addition the motion data in the PC should be downloaded in the robot This function can be useful when you want to keep the motion data of the robot as a backup file in the PC or when you want several robots to use one motion data together Upload Download is performed in the behavior control program Uploading Motion Data
64. bot to receive data as shown in the following figure hot noop Set Parameter DXL 2 Dynamixel et DAL 3 Dynamixel A DAL 4 Dynamixel Address Buzzer time S IR remocon arrived 87 Cli PLUS ROY PB PLUS User s Guide Example 21 Manipulates the walking droid of Example 18 by wireless Step 1 Run Example 18 Step 2 Make a behavior control program for transmitting data Behavior Control Programmer Bioloid Walking Droid_Remocon_TxX bpgl AHR ag File Edit Program Management View Window Help CECELIA Label Comment START Label Repeat Comment IF Button LOAD P 100 D Label Comment ELSE IF 3B Button LOAD Label Comment ELSE IF Button I LOAD Label Comment ELSE IF HE Button LOAD Label Comment ELSE IF j LOAD Comment aq File Edit Management View Window Help Comment LOAD Label Comment ELSE IF LOAD Label Comment ELSE IF LOAD Label Comment ELSE IF LOAD Label Comment ELSE IF LOAD Label Comment JUMP Label Comment Step 4 Download the behavior control program for transmitting data in the remote controller and the behavior control program for receiving data in the robot Then execute the play mode of each CM 5 Verify that the walking droid can be controlled wirelessly by pressing the direction buttons on the CM 5 PLUS
65. ctuator by transmitting a packet to write to address 0x18 address for Torque Enable of the Control Table 119 PLUS ROY keen PLUS User s Guide Example c def ine P PRESENT SPEED L 38 The Example of Dynamixel Evaluation with Atmegal28 def ine P_PRESENT_SPEED_H 39 Date 2005 7 11 define P_PRESENT_LOAD_L 40 Author BS KIM define P_PRESENT_LOAD_H 41 def ine P_PRESENT_VOLTAGE 42 define P PRESENT TEMPERATURE 43 def ine P REGISTERED INSTRUCTION 44 included files def ine P PAUSE TIME 45 define P MOVING 46 def ine ENABLE DEFINITIONS def ine P_LOCK 47 include lt io h gt def ine P_PUNCH_L 48 include lt inttypes h gt def ine P_PUNCH_H 49 include lt avr io h gt include lt avr interrupt h gt Instruction include lt avr signal h gt define INST PING 0x01 define INST READ 0x02 itdefine cbi REG8 BITNUM REG8 amp BV BITNUM define INST WRITE 0x03 define sbi REG8 BITNUM REG8 BV BITNUM def ine INST REG WRITE 0x04 define INST ACTION 0x05 define INST RESET 0x06 typedef unsigned char byte H define INST DIGITAL RESET 0x07 typedef unsigned int word H define INST SYSTEM READ 0x0C define ON 1 define INST SYSTEM WRITE OxOD define OFF 0 def ine INST SYNC WRITE 0x83 define _ON 0 def ine INST SYNC REG WRITE 0x84 define OFF 1 define CLEAR BUFFER gbRxBufferReadPointer gbRxBufferWr itePointer def ine DEFAULT
66. d TxD8Hex Q print data seperatly ex Oxla gt T a void TxD8Hex byte bSentData byte bTmp byte bSentData gt gt 4 amp 0x0f byte 0 if bTmp gt 9 bTmp 7 TxD8 bTmp bTmp byte bSentData amp OxOf 0 if bTmp gt 9 bTmp 7 TxD8 bTmp TxD80 send data to USART 0 void TxD80 byte bTxdData whi le TXDO READY TXDO DATA bTxdData TXD81 send data to USART 1 void TxD81 byte bTxdData whi le TXD1_READY TXD1 DATA bTxdData TXD32Dex 0 change data to decimal number system void TxD32Dec long ILong byte bCount bPrinted long ITmp Digit bPrinted 0 if ILong lt 0 ILong ILong TxD8 C IDigit 1000000000L for bCount 0 bCount lt 9 bCount ITmp byte ILong IDigit if ITmp TxD8 byte Tmp 0 bPrinted 1 else if bPrinted TxD8 byte Tmp 0 ILong long ITmp IDigit IDigit IDigit 10 ITmp byte ILong IDigit if ITmp x TxD8 byte ITmp 0 TxDStringQ prints data in ACSII code Ci PLUS RO teen PLUS User s Guide void TxDString byte bData whi le CkbData TxD8 bData RxD81 read data from UART1 RxD81 return Read data byte RxD81 void 124 whi le RXD1_READY return RXD1_DATA SIGNAL UARTO R
67. d Refer to the motor manual for more information about control tables setup Files CID 661 6X61 dump Dynamixel 255 255 001 662 AAA 658 196 LEN 668 6X68 lt Dynamixel 255 255 001 868 BBB 012 617 881 661 BBB 255 131 5 050 146 255 003 002 H LL 885 H G 646 AQA 205 001 AHA 001 861 032 032 153 H 01 000 BBB 255 AAF 142 6861 000 AAA AAG BBB 091 037 000 000 000 BBB 032 AHA 000 H BB 159 001 000 000 AHH HHA 099 664 6446 EEPROM AREA MODEL NUMBER L R B0 80 BxX08 812 B BC MODEL HUHBER R 8H1 H581 8BB BA BB UERSIUH R 862 8882 2817 8411 ID R M BB3 0x03 8010501 BAUD 6864 8010501 RETURN DELAY TIME RZV BB5 d 055 BBB BX BB CW ANGLE LIHIT L R WM Bs B6 HBB Bs BB CU ANGLE LIMIT H R W 887 B8X87 88B BXBB CCW ANGLE LIHIT L RZV BEC OX 08 255 CCW ANGLE LIMIT H R W BD9 0x09 dB83 Bs H3 RESERUED R M 8180 Bs BB 1311 8583 LIHIT TEMPERATURE R O 6110 BS BB 2 H85 555 DOWN LIMIT VOLTAGE R M H12 BS BC H6 B BAC UP LIMIT VOLTAGE R M H134 BS BD 15 B BX BL TORQUE L 4 BS BE 2255 BSFF TORQUE H R M H154 BS BF B3 Bis H3 RETURH LEUEL RZWYy B16 X18 8B2 B H2 ALARM LED R WM H17 Hs11 dBh Bis B ALARM SHUTDOWN R M H18 8512 dB Bis Bn RESERVED RZWY B19 813 BBDB BS
68. d is given This command executes the WRITE command that is registered by REG WR The example below shows the process of turning on a LED using the REG WR command The LED will actually be turned on with the Action command CID B8H1 B5H1 reg wr 25 1 Dynamixel 255 255 001 Bh 6645 625 681 228 LEH 888 B5B8 lt Dynamixel 255 255 661 002 668 252 LEH B8B86 x86 CID 8B1 8xX81 action Dynamixel 255 255 254 002 005 258 LEN 6X66 lt Dynamixel Ho Data at Broadcast ID BxFE LEN 668 8468 881 64681 The Action command is executed with the Broadcasting ID REG_WR Action commands are useful when you want to actuate several Dynamixels starting at the same time 99 Ci PLUS ROY PB PLUS User s Guide SYNC_WR When you want to write to several Dynamixel units and if the Write Addresses are all the same you can use the SYNC_WR command to write to all of the Dynamixels at once The format of a SYNC WR command is as follows Usage SWR ADDRESS LENGTH ID DATAO DATA1 ID DATAO DATA1 The following example shows how to move a Dynamixel of ID 0 to position 512 0x200 at a speed of 80 0x80 and a Dynamixel of ID 1 to position 272 0x110 at a speed of 80 0x80 SYNC_WR is a broadcasting command Addr Length Data of ID 0 Date of ID 1 CID 661 8881 sur Dynamixel 255 25 176 618 6812 amp Dynamixel Ho Data at Broadcast ID
69. ddress 2 of the Control Table of the Dynamixel actuator with the ID of 1 The data from Address 2 1s the Firmware version and the results show that it currently has a firmware version of OxOF Please refer to the Dynamixel manual for information about the Control Table and for the structure of the packets Example 3 turns on the LED of a Dynamixel actuator by writing 1 to address Ox19 of the Control Table All actions for the Dynamixel actuators can be activated in this way by writing data to the corresponding address in the Control Table Example 4 turns off the LED of a Dynamixel actuator by writing 0 to address Ox19 of the Control Table Hobotis Terminal v0 9 setup Files Example 5 Read Control Table Any Key to Continue TxD FF FF H1 64 02 BB 31 LEN 68 RxD FF FF H1 33 BB 7 4 BH BF H1 22 HH BB FF H3 HH 55 BE FF H3 H2 64 H HB 18 HB F H3 HB HB H1 H1 2B 28 12 DB BB BB FF H3 13 HB HH HH BH BB 20 BH BH BH HH 2B C4 LEH 37 H1 88 82 8F 83 81 85 22 85 88 B6 BB 87 88 88 FF 89 83 B8B 55 8C 3C 8D BE 8F 83 18 H2 11 8 5 12 8 5 13 8H8 15 8B 15 F 17 83 18 88 19 88 1 81 1B 81 16 28 1D 28H 1F 88 28 88 21 88 22 FF 23 83 25 13 25 88 26 88 27 8H 29 88 2 2B 28 221 88 2D 8H 2E dB 2F 88 38 2H8 Example 6 Go x288 with Speed 8x1 8H Any Key to Continue TxD FF FF H1 B7 H3 HB 02 HB Hi DS LEH BB HxD FF FF H
70. de UID 8B83 H583 led 1 B before H next Q Quit LED Blink ID 001 LED Blink ID B When N is typed in LED Blink 03 LED Blink ID BBM LED Blink When Q is typed CID 003 8X63 7 2 Other Commands READ WRITE This command is used to read the data values in the control table of a Dynamixel unit The READ command 15 used as the following Usage READ ADDRESS Data Length for Reading The example below shows a command that reads 1 byte from Address 25 of the Dynamixel with an ID of 1 CID B8B82 8582 rd 25 1 Dynamixel 255 255 002 664 002 025 001 221 LEN 668 8X68 amp Dynamixel 255 255 002 003 000 000 258 LEN 867 6X87 CID 662 64 G2 This command is used to change a data value of the control table The WRITE command format is as the follows Usage WRITE Address Data Data Data In the example below you can verify that the LED turns on and off when 1 and is written to Address 25 CID 882 8482 ur 25 1 Dynamixel 255 255 862 6645 663 625 001 228 LEN 868 6X08 lt Dynamizxel 255 255 862 002 666 251 LEH BB6 HBXH6 CID 662 8882 wr 25 Dynamixel 255 255 B8 664 663 025 868 221 868 8X68 amp Dynamixel 255 255 ng 002 BBH 251 LEH BB6 BX86 BH2 G4 82 97 Ci PLUS ROY PB PLUS User s Guide Dump This shows the control table values of a Dynamixel unit The following shows the information that is dumpe
71. e 18 Makes up a program to control the walking direction of the Walking Droid by using the direction buttons of the CM 5 Step 1 Assemble a walking droid referring to the Quick Start Step 2 Run the motion program and program 5 walking motions as follows Page Number 1 Standby motion Page Number 12 Moving forward motion Page Number 13 Moving backward motion Page Number 14 Right turn motion Page Number 15 Left turn motion x You can use a program already made for the above motions Download the same from C Program Files Robotis Boiloid Applied Robots Beginner Walking Droid DemoExample Walking Droid mtn Step 3 Make a behavior control program as below to perform the above motions by receiving commands inputted through buttons of the CM 5 Behavior Control Programmer Bioloid Walking Droid_NoSyn bpgl ag File Edit Program Management View Window Help O wh sexy tT Label Comment START Label Repeat Comment IF Hae Button j LOAD Label Comment ELSE IF j LOAD Label Comment ELSE IF j LOAD Label Comment ELSE IF d LOAD Label Comment ELSE IF z LOAD Label Comment JUMP Label Comment Step4 Download the behavior control program to the robot and run the PLAY mode on the CM 5 12 PLUS CM 2 PLUS User s Guide Synchronous Motion Play The motion play of the robot 15 executed by the behavior control program giving
72. e other is the C C Source file s section First set the name of the main file name to simple This is used for the file names the compiler creates Source codes can be added in the C C Source file section Edit the two sections of the Makefile as shown below Makefile Seles File Makefile tt MCU name MCU atmegal 28 H Output format can be srec ihes binary FORMAT ihex name without extension Moditied lee here C dependencies are automatically generated H List Assembler source files here H Make them always end in a capital 5 Files ending in lowercase s H will not be considered source files but generated files assembler H output from the compiler and will be deleted upon make clean H Even though the DOS win filesystem matches both and 5 the same H it will preserve the spelling of the filenames and gec itself does H care about how the name is spelled on its command line 4 112 CHH PLUS CM 2 PLUS User s Guide The Makefile can be edited by using Notepad or any text editor Summary of Makefile The concept of Makefile can be tricky for those who use GCC for the first time The Makefile can be summarized with the following two concepts 1 The Makefile has to be located in the same folder as the project file and source file The name of the Makefile cannot be changed 2 Within the Makefile the source file section SRC and the resultant file
73. e such as selecting copying deleting Indication tags are names of lines They are used for performing functions such as call or jump Spaces of commands are used to make directions Directions consist of numbers of blocks Double clicking a block shows a proper command Indication tag command 2 Behavior Control Programmer Biol oid Programi mi fle Edi window Osh Line es number Double click Double click Double c lick Double c lick 19 PLUS RO PB PLUS User s Guide 3 2 File NewFile Open Save Recent File When you select File on the behavior control programmer s menu you can see the following items Since these items have functions similar to those of the general text editing program simple explanations will be sufficient New File Open Save 4 Behayie Control rogrammer Bioloid Check ss 3 Edit Management View Window Help 5 594 4 Behavior Control Programmer Bioloid Check ss Edit Program Management View Window Help E X New Ctrl N Open Ctrl 0 qus J B Save Ctrl S E 1 CheckAssembly Attacking Duck 2 DemoExample Attacking Duck 3 DernoExample Walking Droid Double click Label B Exit mus Label r m b Hecent Files Makes a new behavior control program You can work with multiple files of program simultaneously and the
74. e to 255 Sound data inputs about 3800 times per second Sound data MAX hold It shows the largest sound value out of the sensed sound Sound detected count This is a function of counting by each time when a sound louder than a certain volume such as claps is sensed However once a single sound is counted the counting does not function for 80 msec to prevent the misinterpreting of one clap as several claps The below example explains the above function Example 14 Verifies that Sound data value changes by making noises such as claps toward the AX S1 Step 1 Connect the AX S1 with ID number 100 to the CM 5 Step 2 Make a behavior control program Behavior Control Programmer Bioloid Sensing sound bpgl x3 File Edit Program Management View Window Help 058 9t Label Comment START Label Comment CALL init Label Repeat Comment IF d Button d c up THEN CALL Label Comment LOAD Comment Repeat LOAD rez label Comment Sal Print Label Gomment JUMP Repeat Label init Gomment 3 LOAD MAX 100 D Label Comment LOAD 9n 100 D Label Comment RETURN i Step 3 Download the behavior control program Step 4 After the PLAY button is clicked on the program download window verify that the values of Sound data Sound data MAX hold and Sound detected count change by making noises such as claps toward the AX
75. ect on the program Behavior Control Programmer Bioloid DemoExample Walking Droid bpg zn Edit Program Management View Window Help 7 Label C iComment lite anything 2 1 START Label Comment Ready PLUS ROY keen PLUS User s Guide 3 5 Running To run a behavior control program the program should be downloaded into the CM 2 of the robot Turn on the PLAY mode of the CM 2 after download to start running the behavior control program You can download the program according by CD Connect PC and CM 2 by a serial cable 2 Turn on the power of CM 2 3 Select an icon for behavior control program download on the toolbar or Download Play of the program menu x3 File Edit Beier Management View Window Help mw X3 File Edit Program Manag GE Change Robot file Li EET 2 Laya sassa Download Play Ctrl D Double c e _ Double click 4 Click the Download button in an activated window 6 When the download is completed click the Execute button Download Program Download Program Download File name DemoExampleWalking 9 0 Play DE Ci PLUS ROY keen PLUS User s Guide Verification When the CM 2 is not connected to the behavior control programmer Of Connection a message will appear as below Behavior Control Programmer Bioloid Cannot connect
76. el Select O PG4 ZIGBEE_BROADCAST_CH1 ZIGBEE Module Channel Select 1 Precautions on using CM 2 CPU port Note 1 As it 1s for selecting connection both ports cannot be 1 Note 2 It must maintain initial value 129 PLUS ROY PM PLUS User s Guide 9 CM 2 Program Update This chapter is about the robot program update We are going to introduce a way to maintain Bioloid in latest version by showing how to update the firmware for the CM 2 the main controller and the Dynamixel motor We recommend that you visit the Robotis site www robotis com and download the latest version 9 1 CM 2 Program Update STEP 1 STEP 2 STEP 3 CM 2 program is updated through the behavior control programmer Follow the process below to update to the latest version As shown below connect to the PC and 2 turn the power Connect to the CM 2 Connect to the PC Serial cable connection Run the behavior control programmer Select Management gt CM 5 Update in the menu 2 Behavior Control Programmer Binloid Pro Sle xi File Edit Program View Window Help 118 ia 5 55 qs n date Ll Ipdate Robot Motion 130 PLUS ROY teen PLUS User s Guide STEP 4 When a message that says The CM 5 is not found appears correctly set the communication port and click the Connecti
77. ensing its distance while the robot operates In this case you can use Obstacle detected compare and Obstacle detection flag Obstacle detection flag generates values as follows when an obstacle is sensed within a distance value designated by Obstacle detected compare The following values are bit ones that is binary numbers For example when the left side IR sensor senses an obstacle the value of Obstacle detection flag is 001 and when the center side IR sensor senses an obstacle the value of Obstacle detection flag is 010 The value of Obstacle detection flag is 011 when the left side IR sensor and the center side one sense obstacles at the same time The following table presents values in decimal number used in the behavior control program converted from values in binary number generated by Obstacle detection flag Sensing by the right side Sensing by the left sensor 1 side sensor 1 Sensing by center side sensor 1 Value in binary Value in Meaning that Obstacle Sensor number decimal number 00 0 No obstacle is sensed The left side sensor senses an 001 1 obstacle The center side sensor senses an 010 2 obstacle Both the left side sensor and the 011 3 center side one sense obstacles 100 4 The right side sensor senses an obstacle Both the right side sensor and the left 101 5 side sense obstacles
78. ernet My Documents Internet Explorer Set Program Access and Defaults ea E mail e E Outlook Express Windows Catalog Windows Update k MSN Accessories Windows Media Play un Games e Startup KI Internet Explorer w MSN Outlook Express d WS ir j Applied Robots b our Windows 20 are 27 7 BehaviorControl Programmer pies sd Settings Tre 8 Windows Messenger D Examples Motion Editor izar I 3 windows Movie Maker Help All Programs fig ROBOTIS k 2 Manual 5 06 d Log Off o Turn OFF Computer hare Jot jar 10 aiena Jor 07 ie jon B x errr De ro ACD nario jit 11 tz Dz Gyre 114 Dainiai 14 meme r Dyer HT D niece 108 Di urea PLUS ROY teen PLUS User s Guide In case of connection failure To make the motion editor function the connection of PC and the CM 2 of the robot should be made while the CM 2 is in standby mode If the connection fails select Start gt gt CM 5 connection in the motion editor menu and properly set the communication port COM port If the connection still fails check if the corresponding communication port is used by another program Robot Profile When the motion editor is functioning properly select the type of robot that you
79. ert the new commands and then right click to display a menu Behavior Control Programmer Bioloid DemoEx xi File Edit Program Managemen View Window Help D a eiv 3 Y Click the left button of the mouse Click the right button of the mouse 28 PLUS ROY keen PLUS User s Guide 3 4 Edit In the Edit menu there are accompanying functions necessary when you make commands of a behavior control program such as Cut Copy Paste Insert Delete Enable Disable Selecting Command You have to select a row of command for editing a command When you click a line number placed in the head of the row with the left button of your mouse the whole row is selected If you want multiple rows at the same time select line numbers while pressing and holding the Shift key on the keyboard Click a line number Edit Program Management View Window Help 4 Behavlor Control Programmer Glolold De Shift Second click To select a row To select multiple rows Editing Menu After selecting a row of command select Edit in the menu or right click on the area of the selected command row then the editing menu will appear 4 Behavior Control Programmer Bioloid EIE 42 Behavior Control Programmer Bioloid De BER xi File Program Management View Window Help X ag File Edit Program Management View Window Help amp x Cut Im sae 3 Copy Ctrl C Insert Line
80. f the data it contains is 8 the data value for the up button Let s run the behavior control program again and look at the If statement with this in mind The robtots using the CM 2 have three different units the CM 2 Dynamixel motors DX 113 DX 117 RX 28 RX 64 and sensors the 51 Let take a look at the available input and output items The following are IDs that can be assigned to each unit Dynamixel motors ID 1 19 allowed range is 0 30 Dynamixel motors AX S1 ID 100 allowed range is 100 109 CM 2 ID 200 For the Dynamixel units you can set or reset the ID as needed The Dynamixel units that come directly from the factory have their IDs set to 1 If you have a problem with one of these units and have to order a new one the IDs need to be reset accordingly To reset the ID refer to the Maintenance Mode section or 3 3 Additionally you can refer to video clips for changing a Dynamixel s ID in the directory helpWID changing wmv 15 PLUS ROI keen PLUS User s Guide Cli PLUS RO PB PLUS User s Guide 3 Behavior Control Program Installation Input and Output A robot can behave in many different ways However it can do so only if there is a program that tells how the robot should act for certain situations This program is called the behavior control program A behavior control program is a series of rules that define what actions a robot should take for given sta
81. for the above motions Download the same from C Program Files Robotis Boiloid Applied Robots Beginner Walking Droid N DemoExample Walking Droid mtn Step 3 Make a behavior control program like below to perform the above motions by receiving commands input through the IR sensor of the AX S1 Behavior Control Programmer Bioloid Walking Droid Syn bpg m ad File Edit Program Management View Window Help Bx 058 sale Label Comment START Label Repeat Comment IF 27 y 2 CALL MovBrd Label Comment u ELSE MovFrd Label Comment JUMP Label MovFrd Comment LOAD at Motion 12 Comment Comment RETURN Label MovBrd Comment p Play LOAD Label Comment Was cai SSS Comment _ Y L Gomment JUMP Comment Step 4 Download the behavior control program to the robot and run the PLAY mode on the CM 5 74 Ci PLUS RO PB PLUS User s Guide Execution of Infinite Motions regularly repeated like walking become efficient when they are made Repetition Motion with infinite repetition motion To make infinite repetition motion just input your own page into the next page Page name Forward walk Page number Data address Play count Humber of pose Motion speed Accel time Mext page No Exit page No If there are more than two motion pages the motion is infinitely repeated when the next page is set as the fi
82. g Check whether using an unavailable reading address of CM 2 8002 Access Error Writing Check whether using an unavailable writing address of CM 2 08 PLUS ROI keen PLUS User s Guide PLUS RO PB PLUS User s Guide 4 Motion Programming Motion is a set of actions that the user assigns to a robot Setting up the motions of a robot is called Motion Programming It is possible to embody simple motions using the behavior control program but it is more efficient to use the motion programming when you want a robot do complex actions You can save complex motions in the CM 2 which can be called by the behavior control program There are two ways of motion programming One is using the motion editor and the other is running the program mode in the robot terminal The motion editor is composed of graphics so that beginners can easily use it As for the robot terminal since it is composed of texts you can see all the information as numerical values convenient only for advanced users This chapter shows the methods of motion programming by using the motion editor composed of graphics 60 PLUS RO PB PLUS User s Guide 4 1 Starting Motion Editor Connection As shown in the following figure connect the CM 2 to your PC Turn the power on and select Start gt gt All programs gt gt Robotis gt gt Bioloid gt gt Software gt gt Motion Editior This will start the motion editor j Int
83. g CXrXn PrintBuffer gbpTxBuffer bTxPacketLength RxD PrintBuffer gbpRxBuffer bRxPacketLength TxDStr ing r n n Example 4 LED OFF Any Key to Continue RxD8 0 gbpParameter 0 P LED Address of LED gbpParameter 1 0 Writing Data bTxPacketLength TxPacket 610 INST WRITE 2 bRxPacketLength RxPacket DEFAULT RETURN PACKET SIZE TxDStr ing CXrXn TxDStr ing TxD PrintBuffer gbpTxBuffer bTxPacketLength RxD PrintBuffer gbpRxBuffer bRxPacketLength TxDString oXrXnYn Example 5 Read Control Table Any Key to Continue RxD8 O gbpParameter 0 O Reading Address gbpParameter 1 49 Read Length bTxPacketLength TxPacket 610 INST READ 2 bRxPacketLength RxPacket DEFAULT RETURN PACKET SIZE gbpParamet er 1 TxDString TxD PrintBuffer gbpTxBuffer bTxPacketLength TxDString CXrXn RxD PrintBuffer gbpRxBuffer bRxPacketLength if bRxPacketLength DEFAULT RETURN PACKET SIZE gbpParameter 1 TxDStr ing XrYn for bCount 0 bCount lt 49 bCount TxD8 TxD8Hex bCount TxDStr ing 1 7 TxD8Hex gbpRxBuffer bCount 5 TxD8 TxDStr ing r n n Example 6 Go 0x200 with Speed 0x100 Any Key to Continue 9 RxD8 gbpParameter 0 P GOAL POSITION L Address of Firmware Version gbpParameter 1 0x00 Writing Data P GOAL POSITION
84. his can cause the SMPS cable to break Before connecting a battery check the pin order of the connector that connects to the battery PLUS RO PB PLUS User s Guide 1 2 What is the CM 2 CM 2 The CM 2 is a central control device that controls the Dynamixel series Through the CM 2 you can operate the Dynamixel motors and read information from the sensor The CM 2 also allows you to construct and program joint type robots ciim s Ji Function The Dynamixel motor series DX 113 DX 117 RX 28 and RX 64 link to the AX S1 a Dynamixel sensor allowing you to edit the motion of robot create a behavior control program and program in C language PLUS RO PB PLUS User s Guide 1 3 Things to Understand Before Starting Hardware Software Before using the CM 2 there are a few basics that you have to understand First let s learn about the robot s hardware and software The terms used here will be mentioned throughout the manual so it is important that you understand them The hardware of the robot that uses CM 2 consists of three types Dynamixel This is the basic unit of the robot that uses the CM 2 which can be either a joint or a sensor The DX 113 DX 117 RX 28 and RX 64 are actuators used as joints The AX S1 Dynamixel is a sensor unit that can sense both distance and sound 2 This is the control board and the brain of the robot Frame The frame connects the robot uni
85. ing turn the power off on the CM 2 and then turn it back on Check if the LEDs on the Dynamixel units are blinking If not check the wiring agaln 22 Ci PLUS ROY PB PLUS User s Guide If the wires are connected properly you can check the communication speed and find the Ds by using the SEARCH command This will be covered later Command Format Type in a command followed by a number parameter The following are some examples D 10 Dump WR 10 1 RD 10 2 HELP Type in help to see the available functions in manage mode 92 PLUS RO PM PLUS User s Guide CID 881 8X81 help DUMP D Dump control table ID ID HUM Set ID of dynanixel CID ID HUH Change Control ID READ ADDR LEN Read data exjRead 18 2 Read From Bx1B length 2 WRITE ADDR DATA1 Write data ex Urite 15 1 Write 1 at Oxi REG WR ADDR DATA1 Register write insturction ACTION Action REG WR instruction Go POSITION SPEED Goto the position with the speed HEX HUH HUH Transmite raw data ex Hex FF FF H1 B3 RESET Dynamixel Reset PING NUM ex Ping NUM ID dynamixel SWR ADDRI LEN ID DATA ID DATA Sync Write SCAN NUM SCAN linked dynamixel in HUH in current baud rate LED NUM Blink LED of HUH ID B H for ID change Q for Quit BAUD HUH Set baud rate ex BAUD 22 5768B8BPS BAUD 1 1HMBPS SEARCH Search ID and baudrate of all linked dynamixels Update ST
86. ividually Link to Next You can set the next motion page to be executed after the current page is finished being played This can be done by inputting the page to be played next in the Link to Next item If you don t need to play another motion page then set the value to O default value is 0 If you set the value for Link to Next as the number of the current page then playback will continue infinitely in a loop In this case you can input the escape key stop the playback Playback will be stopped after the Link to Exit motion is completed Link to Exit During motion play if a signal is received playback will end after executing the page defined by this value If this feature is not needed then set its value to 0 Other Things to Keep in Mind Page 0 1 Page O and page 1 have special functions so it is recommended that you do not use them Are you sure The Are you sure message will appear in the following cases When you move to another page without saving When you use the go command with a pose that is outside of the step line When you use the new command Abbreviation You can use only the first letter of the commands that are used often 64 PLUS ROY keen PLUS User s Guide 6 Wireless Remote Control Robots that use the CM 2 support two types of wireless communication With these methods you can control the robots remotely or allow the robots to send and
87. ixel units A Dynamixel will only react to a command with its own ID or with ID 254 but it will not send back a packet for commands sent with ID 254 ID 254 is also called the Broadcasting ID You can find the IDs of the Dynamixel units connected to the CM 2 by running the SCAN command If you type in SCAN N the program will scan the Dynamixel units from number O to N The SCAN command wil only work if the communication speed between the CM 2 and the Dynamixels 15 set properly Usage Scan number of IDs CID 8H3 85H3 scan 18 888 881 0 882 0 883 B885 885 886 887 888 889 BB2 BKB2 Dynamixels Found CID B83 83 _ 95 Ci PLUS ROY PB PLUS User s Guide SEARCH LED If you are not sure if the communication speed between the CM 2 and the Dynamixel is set properly you can use the SEARCH command to search the Dynamixel units BB3 BX 03 search Found BAUD 01 10 801 Found BAUD 01 10 8082 CID BHH3 BAH3 The SEARCH command is slow and it could find duplicates if similar baud rates are used This is because UART communication is somewhat robust against baud rate error Sometimes you will want to check the ID of each Dynamixel unit connected to the CM 2 Type in LED ID and the LED of the Dynamixel unit of the selected ID will blink Type B and N to change the ID Typing Q will end the LED command 96 PLUS RO PB PLUS User s Gui
88. k Page Play button the poses shown in the pose saving window are performed in sequence When the motion is played Page Play button is changed into Stop button When you click the Stop button the motion currently performed is stopped If you input another page number in the page number section and click the Play button the motion of another page is played Since the motion data in editing is kept in the RAM of CM 2 it is deleted when you change pages You have to click the Save Page button to save the motion data 65 PLUS ROY teen PLUS User s Guide 4 2 2 Making Poses Pose A pose is an intermediate movement for making a motion For example you need to make several poses to make a motion A walking droid makes several poses to execute a single step This can be compared to the films of a movie You can make up to 7 poses in 1 page When you need to use more than 7 poses use additional pages by using Next Page No Making up poses Please refer to the below for steps on creating poses The image in the pose setting window 1s the current pose of the robot D Click Off in the joints 2 Move the joints of robot by hand information window to remove force to make an intended movement AEri Click On in the joints S J Pose setting window information window to fix the joints Of Dyrna Og 3 Dyremisel PLUS RO teen PLUS
89. l organization called GNU is distributing their compiler called GCC for free of charge For this reason many research labs and institutions are using this compiler instead The CM 2 unit also uses the AVR GCC compiler 107 Ci PLUS ROY PB PLUS User s Guide Compiler and Editor Windows OS users are familiar with compilers that have an editor function built in For compilers that run on text based OSes such as Linux they usually have a separate compiler and editor The GCC has a compiler based on the command line interface and thus does not have a built in editor Therefore users have to use a separate editor to develop a program The AVR Edit and the WIN AVR are two editors for GCC that are popular We will be using the WIN AVR editor in this tutorial This editor runs the compiler by internally calling the AVR GCC Installing the Compiler Let s and run the AVR GCC Editor Win AVR Win AVR can be downloaded from the Internet and you can find a link from the website install www robotis com Since Win AVR already includes the AVR GCC you only need to install Win AVR You can select the following menu after the installation is complete Lp Mui pzspress windows Media Player 4 Windows Messenger 23 Windows Messenger AVA Insight Win amp VR my Nero H avr libe Manual WinAVA I GNU Manuals Online WinAVR Microsoft Office IAR Systems gj QuickTime
90. le and its directory This concept will become clearer once we go through the following tutorial First from the CD that came with the CM 2 unit copy ExamplesWC ProgramWExampleWmakefile to the current working directory folder Running the mfile File Makefile As in the picture shown on the right run the z Save mfile program in Win AVR This file only Save As contains the editing function for Makefile En L um eee 9 the best optimization level See awt s First open the file that you want to edit There H List any extra directories to look for include files here are two Ways of editing the Makefile you can H Each directory must be seperated by a space EXTRAINCDIRS directly edit the contents of the Makefile or you can use the menu to edit it To edit it using i Compiler flag to set the C Standard level c89 ANSI C the menu select the Makefile menu on the Hanu83 c88 plus GCC extensions 099 150 C33 standard not vet fully implemented i i gnu99 99 plus GCC extensi right to change the options while the mfile ae ee edd n is running To directly edit the contents of the Makefile select the Enable Editing of Makefile under the Makefile menu to change options by using the keyboard Editing Using the Menu When a new project 1s created two sections have to be modified in the Makefile one is the main file name section and th
91. le from the PC to be saved in the robot Robot Motion File name Example Walking Droid mtn Port name File E mampirt alk mg Drain Open J Files of twee Hott manan Bie min l Cancel Z Dicer st pesd only 10 PLUS RO PB PLUS User s Guide 4 3 Playing Motion Asynchronous Motion Play The motion created in the motion editor is saved in the CM 2 of the robot To use this motion the motion program of the CM 2 should be executed through the behavior control program You can play the robot motion by using the following two icons of the behavior control program Motion play status 11 U Use the LOAD to play motions When you select LOAD two blanks are activated Select 2 gt Motion play page on the left On the right one input the Motion page number of the page where the motion is located When you make up the behavior control program as below download it in the CM 2 and execute the PLAY mode the motion saved in the page numbered 5 is performed Behavior Control Programmer Programi PEE x3 File Edit Program Management View Window Help EE jose Vey oe o TART x Label b PLAY LOAD m Motion Labe END Icon of Motion play page Motion Page Number 71 Ci PLUS ROY PB PLUS User s Guide The following is a programming example for making the Walking Droid walk Exampl
92. nagement gt AX Update in the menu as the following picture Behavior Control Programmer Bioloid Pro PES xi File Edit Pragram Management View _ Window Help 4 1 5 Ss Recovery CM 5 R Update Ax cA Double click ST UNUS 133 PLUS ROI P PLUS User s Guide STEP 4 When a message saying that CM 5 is not found is displayed correctly set the communication port and click the connecting CM 5 button Behavior Control Programmer Bioloid Ed cannot 5 Please check the condition of connection Update CM 5 program Unknown version File name No file 0 Port name COMI Connect CM 5 STEP 5 When the connection is made click the Download button Update AX program File name file Port name Disconnect CM 5 Close 134 PLUS RO keen PLUS User s Guide STEP 6 Select the program file of the AX 12 You can download data files needed for update from our ROBOTIS website www robotis com It is recommended to always update the program with the latest file File name AXS Verl5 rom Files of type AX program file rom Cancel Open as read only File name AX12 Verlb rom Files of type amp program file rom gt Cancel Open as read only STEP 7 The procedure of the program update 15 displayed in the output window Be careful that power is not shut off while the update pr
93. ng CM 5 button Behavior Control Programmer Bioloid Ed Cannot connect Please check the condition of connection Update CM 5 program Unknown version File name No file 0 Port name COM1 Connect CM 5 STEP 5 When the connection is made click the Download button Update CM 5 program CM 5 Version 1 11 File name No file 0 6 Port name Disconnect CM 5 Close STEP 6 Select the CM 2 program file You can download data files needed for update from our ROBOTIS website www robotis com It is recommended to always update the program with the latest file Look in Hep ef trt Eo File name Bioloid Verl 15 Files of type Bioloid program file hex Cancel Open as read only Io PLUS MON P PLUS User s Guide STEP 7 While the update proceeds the proceeding state 1s displayed Be careful that power 16 not shut off while the update proceeds Update CM 5 program CHM 5 Version 1 11 File name Bioloid Verl15 hex Port name innect Cl STEP 8 When the update is completed a dialogue box saying that the update is successfully completed will be displayed When an error occurs retry from the first step Behavior Control Programmer Bioloid Succeed to update CM 5 152 PLUS ROY keen PLUS User s Guide 9 2 Dynamixel Program Update STEP 1 STEP 2 STEP 3
94. nking As you press the mode change button the mode LED will change sequentially Initially it is in standby mode The recommanded specification of the SMPS is 2V 18V 5A Operating Modes The operating modes of the CM 2 unit is as follows Execution Serial Cable Manage mode This is used when you want to know the status of the CM 2 unit or the Dynamixel units or when you want to test motions This mode should only be used by advanced users who are very confident with operating the robot Program mode The mode used for editing the motion Play mode The mode used for running the behavior control program created standby mode The mode before running the other three modes If you press the start button during standby mode the CM 2 unit will go into the selected mode To go back into standby mode press the mode change button or turn the power switch off and then back on The mode change button is the reset button for the CPU inside the CM 2 unit Therefore when the power is on the CM 2 will go back to standby mode whenever the mode change button 1s pressed In order to communicate with a PC the CM 2 unit has to be connected using a serial cable Concerning laptops Since most laptops do not have a serial port you have to use a USB to serial converter device A USB2Serial converter can be purchased at local computer stores Status Display LED Four LEDs indicate the status of the CM 2 unit The defini
95. oceeds Download File name 12 Verl5 rom update 8 38 ID 882 Standby Writing Success Behavior Control Programmer Bioloid A Completed updating AX program Port name Disconnect CM 5 Close STEP 8 When a message saying that the update is completed is displayed click the Close button to finish the AX 12 program update 135 Cli PLUS ROY PB PLUS User s Guide ROBOTIS APPENDIX CM 2 board diagram m 136
96. ocon TX data When you execute a command composed as in the following figure a value corresponding to the inputted number or variable The range of transmittable value is 0 65535 zz Behavior Control Programmer Bioloid Pro ERE Set Parameter xi File Edit Program Management View Window Help amp x D Address Label Index START iad Label 2 All Dynamixel cB Buzzer time LOAD IE ti 100 D SENSOR 100 0 Label DXL 1 Dynamixel f DAL 2 Dynamixel A wv DXL 3 Dynamixel gt Cancel 86 Cli PLUS ROI PB PLUS User s Guide Behavior Control Program for Receiving Transmission of data can be performed whenever needed but as to receipt it is hard to know when the data arrives Therefore a behavior control program is more complicated than that of transmission To receive data that you do not know when it arrives a command of standby for receiving is needed IR remocon arrived becomes 1 when there is an incoming data and O when there is none You can make up a standby command as follows A DAL 2 Dynamixel ra DXL 3 Dynamixel A DXL 4 Dynamixel v IV gt Obstacle detected com Address SIR remocon TX data 3 4 1 E Cancel v When data has arrived the standby command stops and the data is read by IR remocon RX data Create a command for the ro
97. of robots that use the CM 2 Step 3 Step 3 is the building stage First connect the Dynamixel units to the CM 2 unit as the center unit Connect other Dynamixel units to this to create joints and expand to complete the robot Secure each part with nuts and bolts PLUS ROY beeen PLUS User s Guide Step 4 Step 5 Step 6 After assembling the robot the next step Is to connect the cables Using the CM 2 unit as the center connect the wires to the Dynamixel units in a daisy chian fashion Each cable is made up of three wires Ax S1 or four wires Dynamixel other than AX S1 with two of the wires for power and one for communication Make sure the cables are long enough to allow the joints full range of motion Take note that for the AX S1 use three wires and connect it to the 3P connector J4 of the front of the CM 2 and for DX 113 DX 117 RX 28 and RX 64 use the back of the 4P connector J30 J37 to connect n n CM 2 Front The steps up to here complete the building of the robot hardware The configuration of the robot was decided in Steps 1 2 3 and 4 and the function of the robot will be decided through programming in Steps 5 6 and 7 After you are done building the robot use the motion editor program to make sure the robot is properly assembled Make sure all the Dynamixel units communicate with the CM 2 unit properly To check if the joints are working properly test them by
98. ommands In this case change a set of commands into a Sub Routine which can be called whenever necessary This will make the program simple and convenient to use This CALL of Sub Routine is frequently used and is useful when the program is long CALL is similar to JUMP It differs in a way that the operation always turns back to the position where CALL is executed by RETURN after the sub routine is accomplished Sub routine called by CALL should always finish with RETURN Behavior Control Programmer Bioloid Programi 54 File Edit Program Management View Window Help D d x 9 Label Comment START Label Repeat Comment 0 Transfer p neun Comment Comment NUM CHH PLUS CM 2 PLUS User s Guide Rule Check When a behavior control program is completed you have to verify if there is no grammatical error A behavior control program against the rule can not be downloaded into a robot You can check errors of the program by RULE CHECK in the program menu Parts against the rule turn red Modify these red sections to conform to the rule and repeat the RULE CHECK RULE CHECK automatically runs during program downloading There an incorrect program grammar The t tal umber of errors 2 Modification To add a new set of commands after the editing is finisheNher AEH Block to ins
99. on x You can use a program already made for the above motions Download the same from C Program Files Robotis Boiloid Applied Robots Beginner Walking Droid N DemoExample Walking Droid mtn Step 3 Make a behavior control program like below to perform the above motions P Behavior Control Programmer Finlnid MotinnE dit Walking Droid Infinite lpg Eje Edt Program Hapse Yee D os la wiht gt NM Step 4 Download the behavior control program to the robot and run the PLAY mode on the CM 5 76 CHH PLUS CM 2 PLUS User s Guide 5 Robot Terminal Once you get familiar with the robot you will want to edit motion in the text interface instead of the graphic user interface being able to see all the information at once can be helpful In this chapter we will learn how to edit motion using the robot terminal program Robot Terminal The Robot Terminal is a program that connects the CM 2 to the PC The CM 2 does not have a screen or a keyboard but the Robot Terminal program will allow you to input and output information using your PC The information outputted from the CM 2 will go to the PC through the serial cable and then print on screen through the Robot Terminal Also information inputted in the Robot Terminal via the keyboard will be sent to the CM 2 through the serial cable Hobo lerminal vil Setup Files Dymanixel li uut
100. own below Selecting a File for Transmission _ Hobotis Terminal v0 9 Hobotis Terminal 0 9 Transmit file Ctl T Ge Recieve file Disconnect hel BG TOS Modity color B Clear screen Ctrl L RESET Buaru resecv GU address Jump to the a Exit Ctrl eX 5 7 Select CM 2 hex of the CD as the file to be transmitted The selected file will be transmitted to the CM 2 through the serial cable Transmission Complete When the transmission is finished a Checksum xx xx message will appear on the screen as shown below If the two numbers match this indicates that there were no errors during the transmission 104 PLUS RO PM PLUS User s Guide ld Write Address B080808BD8B Ready 3uccess Rewriting 6X 6606 Size BXBBDBD9N 1 Checksum 91 91 If you press the mode change button the downloaded program will be executed Memory Dump The CM 2 unit not only has 128 Kbytes of flash memory but also 4 Kbytes of RAM and 4 Kbytes EEPROM There is a function in the CM 2 boot loader where you can check the contents in these memory spaces Type in the memory type as the command followed by the address The following figure is an example ram AHAHAHAH B5 d9 BH BB 02 F4 37 BB BB 94 66 B BD DB 03 BB BDBBDB1B 18 DB BH DD HB B2 FE H1 2E BB B5 89 1E 00 Mpa ea se BOBBDB20 86 FB DC F8 B BD B B BB BB 18
101. ram Management View Window Help JD us ev Comment LOAD Melody Label Repeat omment LOAD Label Gomment LOAD Melody Label Comment LOAD Melody Labell Hold Comment JUMP Melody Melody JUMP Comment Step 3 Download the behavior control program Step 4 Verify that melodies are played one after the other after clicking the PLAY button on the program download window of PLUS RO PB PLUS User s Guide 3 9 Error Code If the behavior program has an error the error message comes out on the download program window like below In this case please edit your program referring to the table below Download Program sci File name selected program Send Total byte CH 5 Uersion 1 14 lt gt PC 57142 BPS lt gt Dynamixel 1666666 BPS ID 881 802 803 664 665 806 007 108 23mixels Found ps Error Code Port name i Close Access to the Check whether an using ID of AX 12 or AX S1 that does not 8100 unavailable Dynamixel exist in robot ID Check the cutting line Using too many call 0009 Check whether using more than 9 Call commends in series commends Check whether using Return Commend without Call Commend Using the Call Return Check whether using the combination of Jump Commend and Incorrectly Return Commend instead of the combination of Call Commend and Return Commend 8001 Access Error Readin
102. rates how to sound the buzzer 95 Cli PLUS ROY PB PLUS User s Guide Example 16 Playing notes of Do Mi and Sol Each note is played for one second Step 1 Connect the AX S1 with ID number 100 to the CM 5 Step 2 Make a behavior control program To play a note for as long as you want the behavior control program has to stop operating for a while until the play finishes Buzzer time becomes 0 when the play finishes Make a program as below using Buzzer time as Moving flag of Example 7 Behavior Control Programmer Bioloid Buzzer bpg af File Edit Program Management View Window Help 919 Comment 100 D 100 D Comment Comment Step3 Download the behavior control program Step4 After PLAY button is clicked verify that the notes of Do Mi and Sol is played each for 1 second PLUS ROY PB PLUS User s Guide Playing Particular Melodies The 51 has 27 melodies composed of various notes Set Buzzer time to 255 to play one of those melodies When you input one of values between O and 26 in Buzzer index the corresponding melody is played Example 17 Plays saved melodies one after the other Step 1 Connect the AX S1 with ID number 100 to the CM 5 Step 2 Make a behavior control program Behavior Control Programmer Bioloid Melody bpg Xj File Edit Prog
103. ration That is you have to convert all the number you use Into binary numbers Refer to the following example 1 001 in binary number and in binary number 0 000 in binary number Conversion into binary numbers I E Bit operation Operation result Conversion into decimal numbers 24 Ci PLUS ROY PB PLUS User s Guide 4 100 in binary number and 5 101 in binary number 4 100 in binary number Conversion into binary numbers E Bit operation 4 x AND operation 4 Operation result Conversion into decimal numbers 1 001 in binary number or O 000 in binary number 1 001 in binary number Conversion into binary numbers E Bit operation Operation result Conversion into decimal numbers 4 100 in binary number or 5 101 in binary number 5 101 in binary number Conversion into binary numbers I E Bit operation OR operation Operation result Conversion into decimal numbers 29 Ci PLUS ROY PB PLUS User s Guide IF This is to judge conditions When you select IF command 4 blocks next to this command are activated The composition of the command is as follows Condition judging measures Select a command to operate when ee eee T Undefine Undefine Undefine Undefine THEN AND OR Objects of condition judgement ELSE IF When there is ELSE IF in the next row of IF command and the condition of IF command is
104. receive data between each other The first method involves sending data using the IR infrared rays transmitter receiver function of the AX SI The second by attaching the Zigbee module ZIG 100 a dedicated robot wireless device to the CM 2 With this attachment the robot can communicate via the RF method AX S1 Infrared IR 216 100 RF Communication Communication 6 1 Infrared Wireless Manipulation Using Ax S1 IR Communication 51 contains a transmitting receiving portion allowing IR communication As in the following figure the 51 transmits data in three directions and receives data in the front Therefore you have to be careful to adjust the direction of the AX S1 for IR wireless communication IR Receiving Direction IR E en uu IR Transmitting Receiving Direction Portion IR Transmitting Portion 85 Ci PLUS ROY teen PLUS User s Guide IR Communication H W For the infrared communication more than two 515 2 5 are needed CM 5 51 Pfrared CM 5 i Communic ation IR Communication S W To control the Bioloid using infrared communication a behavior control program for communication is needed Behavior control Behavior control Program program Behavior Control Program for Transmitting A behavior control program for transmitting data through wireless connection should be downloaded in the CM 2 A command for transmitting is IR rem
105. rst page from the last page Page name Forward walk Page name Forward walk Page number Page number Data address Data address Play count Play count Number of pose Motion speed Accel time Next page No Next page Mo Exit page No Exit page When the first page is assigned to the robot motion in the behavior control program infinite repetition motion will be executed Behavior Control Programmer Bioloid Program E Im X EL ES File Edit Program Management wiew Window Help z Dg ve Label START Label O PLAY LOAD lotion 3 Label Robot Motion Icon First Page Number of Infinite Repetition Motion 19 CHH PLUS CM 2 PLUS User s Guide Stopping Infinite When 0 is input into the robot motion the infinite repetition motion will Repetition Motion stop and move to the exit page When the exit page is 0 it will execute all pages and stop in the last pose state lt Behavior Control Programmer Bioloid Program1 x File Edit Program Management View Window Help Er EESIN AARE Example 20 Programming a walking motion of walking droid that moves backward when an obstacle is detected while it moves forward Step 1 Assemble a walking droid referring to the Quick Start Step 2 Run the motion program and program the following two walking motions Page Number 12 Moving forward motion Page Number 13 Moving backward moti
106. s Behavior Control Programmer Bioloid Programi File Edit Program Management View Window Help ic V B amp Bm Cli PLUS 2 5 User s Guide START END the behavior control programs should be made between the START and the END Commands Behavior Control Programmer Bioloid Programi Sele xi File Edit Program Management View Window Help m D y sie Label START Labe Make a Double click Program Label 2 END Double click LOAD This is a command that inputs various kinds of data When you select LOAD two blocks next to LOAD are activated as seen in the following figure The right block is for data input while the left is for receiving data lt Behavior Control Programmer Bioloid Programi PEE ao x Data to be input Object to receive the date Double click For example if you want to see the speed of Dynamixel of number 1 on the screen select Speed in the right block and Print in the left block as seen in the following figure 22 PLUS CM 2 PLUS User s Guide 2 Behavior Control Programmer Bioloid Program11 PEE xi File Edit Program Management View Window Help B se LOAD Label wee pis Double click Double Click z Behavior Control Programmer Bioloid Pro x File Edit Program Management View Window Help
107. s Guide When the power is applied the Boot Loader located at address 0 1 000 executes The file CM 2 is loaded on to the 48 Kbyte user area starting at Address 0 00000 You can see that the executable of the user created program has to be loaded at the address of 0 There is a compiler called AVR GCC for creating the C program that you can use for free This will be explained in more detail in chapter 9 3 Learning how to use C to operate the CM 2 is learning about microprocessors Studying robotics and studying the microprocessor are two different things Starting from using the IN and OUT commands in the microprocessor may not be an efficient way to operate a robot A robot should be considered as a system not from the low level of a device or a board When we make a homepage with a PC we usually don t use ASM or C directly Rather we use a higher level tool to do the job Similar to this it would be more appropriate to use a higher level tool to concentrate more on the higher level behavior control of the robot 8 3 Compiling Compile This section talks about how to compile a CM 2 program Before going through this section we recommend studying the AX 12 manual Selecting a Compiler The CPU on the CM 2 unit is the Atmegal28 of the AVR Series from Atmel There are many different C compilers available for the Atmegal28 but their prices are generally very high One the other hand a globa
108. s as follows Behavior Control Programmer Bioloid move bpg File Edit Program Management Miew Window Help I sie Label Gomment START Label Repeat Comment CALL Movel Label Comment CALL Move2 Label Comment JUMP Repeat Label Move1 Comment man LOAD Lon 1 Dyn Label Comment LOAD gt 1 Dyn 2m TET OAR RETURN Comment Label Move2 Comment SPEED LOAD JDyn 1023 Label Comment LOAD Label Comment RETURN Comment Q A DM Sl 4 Cli PLUS 2 5 User s Guide 3 7 2 Smoothly Controlling Slope DYNAMIXEL can smoothly be moved by using the CW CCW Slope command Please refer to the following example on how to program Example 8 Reduces the speed as AX 12 approaches to the goal position 1 Connect AX 12 with ID number 1 to CM 5 Step 2 a behavior control program Insert CW Slope and CCW Slope above Speed and Goal position of Example 7 as following figure Behavior Control Programmer Bioloid move _smooth bpg Ee 23 File Edit Program Management View Window Help 8 x DW 5 21 Label JUMP Label LOAD Label LOAD Label
109. s useful when testing the packet communication protocol Usage H Parameter Parameter Parameter So far we have learned the functions of several manage mode commands 102 Ci PLUS RO teen PLUS User s Guide 8 Information for Advanced Users This chapter is for advanced users who have experience with microprocessors In order to understand the following material you will need to have knowledge of hexadecimal binary numbers and ASCII code Finally we briefly explain how to control the CM 2 using C language 8 1 Boot Loader Boot Loader When power is applied to the CM 2 unit the CM Boot Loader program in Reset Vector is executed The CM Boot Loader program does not have as many functions as a PC operating system but it has the following basic features uploading and executing user created programs to the CM 2 unit memory verifying the data in the memory and downloading programs back to a PC All numbers are treated in hexadecimal Caution If you do not fully understand the system do not use the Boot Loader Execution In the Robot Terminal press and hold the key and press the mode switch to go into the Boot Loader The figure below shows the Boot Loader screen At this point type Help and press Enter and the following message will appear E Hobotis Terminal v0 9 Setup Files SYSTEM O K CM Boot loader U1 1 help RESET Board reset GO address Jump to the address Defa
110. slightly moving each of the joints In step 6 you will create the behavior control program of the robot Behavior control is simply telling the robot to take some kind of action when it enters a certain state For example when the robot is walking forward through a narrow path you can make it walk through the center of a path or if there is something blocking the way you can make it turn around and go the other way The behavior control program takes the form of rules which define the appropriate motion the robot should use for specific input information it receives from the sensors Cli PLUS ROI PB PLUS User s Guide Step 7 In step 7 you will create the motions of the robot For robots that use wheels step 7 1s unnecessary because all you have to do to move the wheels is change the position or velocity settings of the Dynamixel units It would be difficult to make a dog robot sit or a humanoid robot walk by changing each of its joint angles individually In order to move a complicated multi jointed robot you have to play a pre recorded motion These pre recorded motions are what you will create here in step 7 The behavior control program of step 6 will be able to play these pre recorded motions of step 7 Complete step 6 before moving on to step 7 PC Requirements PC IBM compatible Required OS Windows 2000 or Windows XP Required CPU Intel Pentium III 1GHz or AMD Athlon XP 1G
111. tes Insert the provided CD into the PC and install the software used for creating the behavior control program Install the following three programs Behavior Control Programmer Motion Editor Robot Terminal The behavior control program takes the form of a series of rules that mutually connect the input and output For example let s say that we want to build a robot dog that stands up when you clap once and sits down when you clap twice The input item clap once or twice and the output item stand up or sit down have to be predefined Behavior rules need to be defined that tell what behavior to output for the given input item clap once or twice The following are the general expression sentences for these behaviors If input item 1 occurs then execute output A If input item 2 occurs then execute output B Thus understanding what types of input and output items are available is important when writing a behavior control program Part of learning how to use the robot is knowing the input and output items Let s practice creating a simple behavior control program using the CM 2 unit s input and output items 17 Ci PLUS ROY PB PLUS User s Guide 3 1 Starting Behavior Control Program Select Start gt gt All the programs gt gt Robotis gt gt Bioloid gt gt Software gt gt Behavior Control Programmer on the window as in the following figure then the behavior control programmer star
112. the CM 5 Step 2 a behavior control program D To simultaneously control the position and speed input speed value first then position value Position value 60 205 240 819 Label Movel GW Slope 5 All Dynamixel SLOPE SENSOR 100 Dynamixel ias CCW Slope lt Behavior Control Programmer Bioloid 1 File Edit Program Management View Window Help D x m m Z m Repeat ove Label vv S Repeat CALL Move2 move 4 Label sume rerea Label Movel LOAD Roy Dyn Label POS LOAD R3 1 D n 205 TECEN Ss aa RETURN muen 0 0 labell Moves Move2 LOAD y D Dyn Label LOAD Ry 1 1Dyn Label RETURN 40 Cli PLUS ROY PB PLUS User s Guide Example 7 3 When you play the above program you can see that the DYNAMIXEL does not move in the intended position The reason is that the behavior control program which has finished the command of moving to the goal position executes another command in the next row even before the DYNAMIXEL arrives to the goal position Therefore a standby command to temporarily stop the program until the DYNAMIXEL arrives to the goal position is required When you use Moving flag command you can stop the program until the DYNAMIXEL arrives to the goal position 4 The completed program i
113. tial The behavior control program has the following icons and functions for controlling the 51 46 PLUS ROY keen PLUS User s Guide LEFT Left IR sensor data Sensing value of left side distance sensor Center IR sensor data Sensing value of center side distance sensor A Right IR sensor data Sensing value of right side distance sensor LEFT 29 3 Left luminosity Value of left side light brightness Center luminosity Value of center light brightness RIGHT 31 Right luminosity Value of right side light brightness To be set when the distance sensor value is larger than the standard value bit RCL 32 33 To be set when the brightness value is larger than the standard value bit RCL 35 Sound data Volume of sound currently sensed 36 e Sound data MAX hold The largest value out of sound inputted up to MAX the present 37 Number of times of sound sensing such as number of times of clap Duration of time until sound is occurred 0 52 Increasing by semitone from La 0 1 second of unit possible to 5 seconds Buzzer time When the duration is 255 a sound previously inputted is played Buzzer scale 0 27 It is set as 1 when new data from the remote IR remocon arrived controller and it turns into 0 when the arrived data is read IR remocon RX data Value of received remote controller data Value of remote controller data to be sent gt Light detected compare It is a standard of dat
114. tion unless you set the speed between poses correctly You can do this by setting the value of the speed at the bottom of the screen The following shows how this 1s done Move the cursor to the item that you want to set 11 Press the or key to increase or decrease the value of the item Press the or Y key to change the magnitude By typing in Set value the value can be set at once The method above can be used to set not only the speed but also all the other items below 82 PLUS ROY PB PLUS User s Guide PauseTime Robot Terminal v0 92 Setup Files v PauseTime Speed 8 8x88 1 8x81 8135 6134 2 8x82 8368 8368 3 8x83 4 8x85 PlayCount 8 5 8x85 7 Reserued 6 8x86 b Reserved 7 8x87 Reserued 8 80x88 Bb Reserved 9 6x69 Page Step 16 6x6A 11 8x8B p 5 12 6x6C ase 13 8x8D 085 Accel Time 15 8x8E 885Link to Next information 15 8x8F 16 8x18 17 8x11 18 8x12 19 8x13 20 6x14 21 8x15 22 8x16 23 8x17 24 8x18 25 LoALA tomas 55 eee eae 26 8x1a Tit 2 asss Sens See Sees Seas See 28 8x1c
115. tions of each are as follows Power If the power 1s on this LED will be on TXD This LED is on when the CM 2 unit is transmitting data RXD This LED 15 on when the CM 2 unit is receiving data AUX This LED is assigned for user programming It can be turned on or off with the behavior control program Direction Buttons These buttons are also assigned for user programming similar to the AUX LED ls PLUS ROY teen PLUS User s Guide 2 2 Connecting the Frames Refer to the applicable manual and assemble optional frame and created frame with Dynamixel The following is an example using the optional frames LO 6 0 RX 64 and optional frames DX 113 DX 117 and optional frames 13 PLUS ROY teen PLUS User s Guide 2 3 Wiring Wiring is an important part of building the robot Many problems can occur with the robot due to faulty wiring Problems that may occur include 1 Severed cables that were too short 2 Cables getting stuck in between the robot s mostly occurs when users want to assemble the robot in an uncluttered fashion and wire the cable through narrow joint spaces 3 Self made cables Take extra precaution with the pin configuration of the connector for self made cables Dynamixel connector AX S1 d amp t 4 8 Dynamixel connector F3 GND DX RX series qe VDD ithe Y m 4 p e ien 1 jj D
116. transfer copy between two different files is possible Opens existing programs for editing Saves a program in progress Do not forget to name your program when saving it for the first time In the behavior control programmer paths of recently opened files are saved Therefore you can open programs that you have recently edited without going through Open and searching the files 20 Ci PLUS ROY PB PLUS User s Guide 3 3 Grammar of Behavior Control Program The behavior Control Program has a total of 11 commands which are classified into 3 types as follows COMPUTE To operate the four arithmetical operations and the logical operations IF To operate the following command when the given condition is true To come after IF and to operate the following command ELSEIF when the condition of IF is False and the condition of ELSE IF is true To come after IF or ELSE IF and to operate the command after ELSE when the both conditions of IF and ELSE IF are all False To distinguish the second IF from the first IF in the case CONT IF that an IF command should be used again in another IF command JUMP To move to a designated command CALL To call a designated command To return to the next row after CALL command after finishing the operation of command designated by CALL Operation Condition RETURN When you double click the first block of a command row you can see the above basic command
117. ts The Dynamixel units can be connected together using the frame The frame also connects the Dynamixel units and the 2 unit Dynamixel There are three pieces of software supplied with the CM 2 Behavior control programmer This 1s used for creating a program that controls the robot s behavior The program is used to implement a motion the robot follows according to the information received through input devices such as sensors Motion editor The motion editor is software to help create robot motions and recall them as neccessary Robot terminal This is a serial communication terminal program that advanced users often use to see information displayed on the screen sent by the robot and to send the characters typed on the keyboard to the robot PLUS RO PB PLUS User s Guide Assembling Process The steps to develop a robot that uses the CM 2 are as follows Read the manual Decide on the robot s configuration and function Connect the Dynamixel units around the CM 2 Connect cables beware of connector direction and length of the cable Verify motions use motion editor Program the behavior conrol Edit the motion use motion editor Step 1 Read and completely understand the manual before trying to build a robot The manual consists of nine chapters with the first five chapters intended for beginners Step 2 This 1s where you decide what kind of robot to build There are many differet kinds
118. ts to run Internet e My Documents Internet Explorer Set Program Access and Defaults E mail Outlook Express Windows Catalog Windows Update MSN 99 Accessories e Windows Media Playe e Games 99 startup Internet Explorer w MSN Outlook Express e Toa Widows b s Remote Assistance Applied Robots P B windows Media Player 5 BehaviorControl Programmer It Settings Tr Windows Messenger D Examples S Motion Editor Windows Movie Maker Help 7 Robot Terminal All Programs fai ROBOTIS 2 C Manual Vs Log Off o Turn Off Computer el deren Initial page of behavior control programmer Behavior Control Programmer Bioloid File Program Management View Help s 18 Ci PLUS RO PB PLUS User s Guide To go to the behavior control program select File gt gt New File as in the left figure below or simply click the shortcut key corresponding to New File as shown in right figure below New File z Behavior Control Programmer Bioloid SE 4 Behavior Control Programmer Bioloid Program Management View Help us eye Program Management View Help New Open Ctrl O Recent File Exit The behavior control program consists of multiple lines Each line consists of several items line numbers indication tags and commands Line numbers are used to edit each lin
119. ubles the motion speed 64 PLUS RO teen PLUS User s Guide Acceleration Time When a motion is being executed all the joints work on the condition that Next Page No Exit Page No Play Motion Save Page acceleration gt maintenance of speed gt deceleration are repeated Here the running time of acceleration deceleration is acceleration time If the acceleration time is greatly reduced a sudden acceleration will be made to reach the designated speed which could damage the joints On the contrary if acceleration time 1S increased there could be a section that may not move Since only 7 poses can be made in one page use another page when you want to make more than 7 poses Input the page numbers to be played successively When you do not designate the next page it is set as The initial value is 0 1 If you input the current page number in this section the motion 15 infinitely repeated stop this motion click the Stop button Designates a page to be run when the motion play is stopped When the Stop command for stopping the motion is input by the behavior control program as well the exit page is played first and then the motion is stopped To give the Stop command through the behavior control program input 0 in LOAD gt gt CM 2 gt gt Robot Motion command When this function is not necessary put O in this section The initial value is O When you clic
120. ult address is 6x60660 Down load address Download binary file Default address is B address Dump data From the address EEP address Dump EEPROW data From the address FLASH address Dump Flash data from the address CLEAR EEPROM address length Clear EEPROM to BxFF UP address length Upload flash memory data to host Push SW for starting EEP DH address length Download at EEPROW EEP UP address length Upload from EEPRUM Verify Verify Loading file 4VY 77777 XY 777 774 VY For correct loading sv Stem Set reset mode to boot loader APPlication Set reset mode to application program Entering to boot loader mode With pushing H continuously reset board Copy righted ROBOTIS CO LTD wwu rabotis com 103 Ci PLUS ROY PB PLUS User s Guide This is a summary of the functions of the Boot Loader Let s take a closer look at them one at a time Download Let s learn how to download a provided Firmware or a program you have created onto the CM 2 unit Let s try downloading a program called CM 2 hex Type in the command load The following message should appear This message indicates that the data 1s ready to be written to address 0 load Write Address 868686088 Ready Next select Transmit file in the Files menu from the Robot Terminal program as shown below It is recommended to check the Add bytesum menu item in the Setup menu as sh
121. w verify that the AX 12 moves more as the sound becomes louder by making noises such as claps toward AX S1 54 CHH PLUS CM 2 PLUS User s Guide 3 8 4 Melody Playing 51 has a Buzzer that enables it to make sounds You can make interesting robots that sing or express their emotion by using this melody playing function Value of Buzzer index AX Slcan make 52 notes Buzzer Buzzer Buzzer Buzzer note res cue ae sae ae e 0 ta 15 Do 27 Do 39 Re 41 Re 3 Si 17 Re f 2 3 oe f per ao er ner p M S px a 21 Er 35 Far s T Far M 22 So 34 Sol 46 Sol Fa 23 So 35 So 47 Fat 24 La 36 La 48 La Sol 25 Laf 37 Lat 49 Laf So amp 26 Si 38 Si 50 S _ j 5 o j 7 10 11 12 13 14 Duration of 51 has a function of regulating the Buzzer time The Buzzer Sound value 1 of the buzzer sound duration is 0 1 second That is The value 10 of the buzzer sound duration means 1 second The minimum duration is 0 3 seconds and the maximum duration is 5 seconds When you input 254 in Buzzer time and a buzzer note value that you want in Buzzer index the buzzer keeps sound without stopping To stop the buzzer sound input O in Buzzer time The folowing demonst
122. x Interrupt write data to buffer SIGNAL SIG UARTO gbpRxInterruptBuffer egbRxBufferWritePointer RXDO DATA PLUS CM 2 PLUS User s Guide 8 5 Circuit Diagram CPU MISQ ENABLE T gt ENABLE su LIP Rc su LF Su RT SEE ENABLE 455 ENABLE HDBRET RXDO FDI FEO TXD PD EDJATNOT PEZ DC3AJAINTIPE3 DC3B IN TP E4 OCSCINTSIFES DC1B PBB 2 1 7 TOSCZ PG3 TOSC VPG4 Aime qa128 IGBEE BROADCAST CHO IGBEE BROADCAST CH1 MAIN PROCESSOR 125 PFEADCS TME PFEADCE TDO SCLINTO FDO RD WH TPP D2 TXD VINTSIF SOAINTTHPD1 Zk BEE STATUS YCE FARADO FAKADT PARADA ea LL ce 5 THPDE TZ PD7 i ENABLE RXD LINK ZIGBEE ENABLE RXD PC PLUG IH Zk BEE RESET PAS ALG P ASCAD5 PARADE PAT ADT PCT EATS POAT P C3rA411 CHH PLUS POVEZA PLUS User s Guide MC 26 50 r R24 U114 U3B Rd dHUCd2B8 S dHUCz8 SU ENABLE HDBRT EM ABLE F gt HDBRT HALF DUPLEX BUFFER RX TX RS 0116 126 50 RS 485 Network usc TSH 126 50 TO PT TIL usp HHC 12605 0 RAD FROM PC 232 Rad PC SERIAL LINK amp MUX 126 Me PLUS CM 2 PLUS User s Guide EZ1117 3 3 TXD ZIGBEE k
123. xPacket needs 3 parameter ID of Dynamixel Instruction byte Length of parameters return length of Return packet from Dynami xel byte TxPacket byte bID byte blnstruction byte bParameterLength byte bCount bCheckSum bPacketLength gbpTxBuffer 0 Oxff gbpTxBuffer 1 Oxff gbpTxBuffer 2 gbpTxBuffer 3 bParameterLength 2 Length Paramter Instruction Checksum gbpTxBuffer 4 blnstruction for bCount 0 bCount lt bParameterLength bCount bCheckSum 0 bPacketLength bParameterLength 4 2 for bCount 2 bCount lt bPacketLength 1 bCount except Oxff checksum gbpTxBuffer bCount 5 gbpParameter bCount gbpTxBuffer bCount bCheckSum Writing Checksum with Bit Inversion bCheckSum gbpTxBuffer bCount 1 22 RS485 TXD for bCount 0 bCount lt bPacketLength bCount sbi UCSROA 6 SET TXDO FINISH TxD80 gbpTxBuffer bCount whi le 1 CHECK TXDO FINISH Wait until TXD Shift register empty RS485 return bPacketLength RxPacket read data from buffer RxPacket need a Parameter Total length of Return Packet RxPacket return Length of Return Packet byte RxPacket byte bRxPacketLength def ine RX_TIMEOUT_COUNT2 30001 def ine RX_TIMEOUT_COUNT1 RX_TIMEOUT_COUNT2 10L unsigned long ulCounter byte bCount bLength bChecksum byte bTimeout bTimeout
124. xels 0 9 Any Key to Continue 9 RxD8 O for bCount 0 bCount lt 0 0 bCount bTxPacketLength TxPacket bCount INST PING 0 bRxPacketLength RxPacket 255 TxDStr ing CXrXn TxD PrintBuffer gbpTxBuffer bTxPacketLength RxD Pr intBuffer gbpRxBuffer bRxPacketLength if bRxPacketLength DEFAULT RETURN PACKET SIZE TxDString Found ID TxD8Hex bCount bID bCount TxDString TxDStr ing r n n Example 2 Read Firmware Version Any Key to Continue RxD8 O gbpParameter 0 VERSION Address of Firmware Version gbpParameter 1 1 Read Length bTxPacketLength TxPacket bID INST READ 2 121 bRxPacketLength RxPacket DEFAULT RETURN PACKET SIZE gbpParamet er 1 TxDString CXrXn TxD PrintBuffer gbpTxBuffer bTxPacketLength TxDString CXrXn RxD PrintBuffer gbpRxBuffer bRxPacketLength if bRxPacketLength DEFAULT RETURN PACKET SIZE gbpParameter 1 TxDStr ing r n Return Error TxDStr ing r n Firmware Version 7 TxD8Hex gbpRxBuf fer 4 7 TxD8Hex gbpRxBuf fer 5 TxDStr ing r n n Example 3 LED ON Any Key to Continue 9 RxD8 0 gbpParameter 0 P LED Address of LED gbpParameter 1 1 Writing Data bTxPacketLength TxPacket 610 INST WRITE 2 bRxPacketLength RxPacket DEFAULT RETURN PACKET SIZE TxDStr ing TxDStr in

Download Pdf Manuals

image

Related Search

Related Contents

catalogue-vrf-2T-201..  EC9841 Service Manual  User`s Manual - Logic Supply  Conair WW43D personal scale  土地改良施設管理基準及び運用・解説 - 頭首工編 - (案  BFH5010 - Bionaire  Posicionador Electroneumático Smart SP200  User`s manual (Canada version) CL83101 - Vt.vtp  Invacare® Top End® Force™Handcycle Series  Standalone DVR Quick Start Guide  

Copyright © All rights reserved.
Failed to retrieve file