Legacy Forum: Preserving Nearly 20 Years of Community History - A Time Capsule of Discussions, Memories, and Shared Experiences.

BioloidCControl - Alternative firmware for CM-510

Bioloid robot kit from Korean company Robotis; CM5 controller block, AX12 servos..
57 postsPage 3 of 41, 2, 3, 4
57 postsPage 3 of 41, 2, 3, 4

Post by e0ne199 » Sun Jul 08, 2012 9:34 am

Post by e0ne199
Sun Jul 08, 2012 9:34 am

for a note, i compile this bioloid library using avr studio 6, and looks like the code needs several minor improvements so that it can be compiled successfully...btw do you have CM-530 (ARM-cortex) or CM-700 version of this code? or can you at least give more explanation about this code so that i can help develop it for other version of bioloid module?
for a note, i compile this bioloid library using avr studio 6, and looks like the code needs several minor improvements so that it can be compiled successfully...btw do you have CM-530 (ARM-cortex) or CM-700 version of this code? or can you at least give more explanation about this code so that i can help develop it for other version of bioloid module?
e0ne199
Newbie
Newbie
Posts: 3
Joined: Wed Jun 20, 2012 3:59 pm

Post by planius » Sun Jul 08, 2012 10:30 am

Post by planius
Sun Jul 08, 2012 10:30 am

No, I don't have a CM-530 version (yet). I will be ordering a CM-530, though and create a version for it. Will be a lot easier because of the Standard Periphery Library for the STM32F micros...

What changes did you make to make it compile 'successfully' - other than adding the 'const' keyword in front of all the struct statements in motion.h? I will post an updated version for AS6 in the next couple of days.

All the explanations are in comments in the code and in the headers files. Even the code I have adapted from other libraries I extensively added comments to. I am not sure what else you are looking for.
No, I don't have a CM-530 version (yet). I will be ordering a CM-530, though and create a version for it. Will be a lot easier because of the Standard Periphery Library for the STM32F micros...

What changes did you make to make it compile 'successfully' - other than adding the 'const' keyword in front of all the struct statements in motion.h? I will post an updated version for AS6 in the next couple of days.

All the explanations are in comments in the code and in the headers files. Even the code I have adapted from other libraries I extensively added comments to. I am not sure what else you are looking for.
planius
Savvy Roboteer
Savvy Roboteer
Posts: 40
Joined: Wed Jul 20, 2011 5:33 am

Post by planius » Sun Jul 08, 2012 10:31 am

Post by planius
Sun Jul 08, 2012 10:31 am

longjohnny - I have never used Eclipse, so can't help you there, sorry.
longjohnny - I have never used Eclipse, so can't help you there, sorry.
planius
Savvy Roboteer
Savvy Roboteer
Posts: 40
Joined: Wed Jul 20, 2011 5:33 am

Post by planius » Fri Jan 18, 2013 9:22 am

Post by planius
Fri Jan 18, 2013 9:22 am

After an overly long delay (never buy a house...) Version 0.6 is now finally available.

What's new:
- works with Atmel Studio 6
- static balancing using Kalman Filter and PID controller. Requires additional 2-axis accelerometer (e.g. ADXL203)
- some bug fixes

To download go to: http://code.google.com/p/bioloidccontrol/downloads/list

I will update the User Guide with instructions on how to add an accelerometer using a cheap Sparkfun breakout board in the next few days. The tuning of the Kalman/PID is not great, not my area of expertise.

I have started work on version 0.7, which will add RC-100 support and command sequences. That will probably be the last version, unless I receive specific requests.

In my next project I will convert the Bioloid Premium Kit into a 'Darwinoid' - adding CM-900 + Raspberry Pi controllers, foot sensors and pan/tilt camera head and running DARwIn-OP. Robotis have promised me a CM-900 evaluation board...
After an overly long delay (never buy a house...) Version 0.6 is now finally available.

What's new:
- works with Atmel Studio 6
- static balancing using Kalman Filter and PID controller. Requires additional 2-axis accelerometer (e.g. ADXL203)
- some bug fixes

To download go to: http://code.google.com/p/bioloidccontrol/downloads/list

I will update the User Guide with instructions on how to add an accelerometer using a cheap Sparkfun breakout board in the next few days. The tuning of the Kalman/PID is not great, not my area of expertise.

I have started work on version 0.7, which will add RC-100 support and command sequences. That will probably be the last version, unless I receive specific requests.

In my next project I will convert the Bioloid Premium Kit into a 'Darwinoid' - adding CM-900 + Raspberry Pi controllers, foot sensors and pan/tilt camera head and running DARwIn-OP. Robotis have promised me a CM-900 evaluation board...
planius
Savvy Roboteer
Savvy Roboteer
Posts: 40
Joined: Wed Jul 20, 2011 5:33 am

Post by wiweet » Fri Jan 18, 2013 10:49 am

Post by wiweet
Fri Jan 18, 2013 10:49 am

Thank you very much planius, I've been waiting for your update.
Thank you very much planius, I've been waiting for your update.
wiweet
Savvy Roboteer
Savvy Roboteer
Posts: 43
Joined: Fri Apr 15, 2011 2:50 am

Post by MOHIT JINDAL » Fri Jan 18, 2013 11:09 am

Post by MOHIT JINDAL
Fri Jan 18, 2013 11:09 am

Planius. Can you make some program so that all 18 dynamixels can run from USB2Dynamixel only ? I mean Roboplus Motion files to play with USB2Dynamixel. I don't want to use cm510 or any other controller.
Planius. Can you make some program so that all 18 dynamixels can run from USB2Dynamixel only ? I mean Roboplus Motion files to play with USB2Dynamixel. I don't want to use cm510 or any other controller.
MOHIT JINDAL
Savvy Roboteer
Savvy Roboteer
Posts: 178
Joined: Wed Nov 10, 2010 7:43 am

Post by planius » Sat Jan 19, 2013 4:18 am

Post by planius
Sat Jan 19, 2013 4:18 am

Mohit, there are already a number of software packages out there that allow you to control Dynamixel servos directly from a PC. Check out http://pypi.python.org/pypi/dynamixel/1.0.1 for a PYTHON based library, there is also a C# version etc. You could adapt motion.c and pose.c from BioloidCControl to work with any of those libraries to play RoboPlus motion files. In the end it depends what sort of interface you want on the PC side...
Mohit, there are already a number of software packages out there that allow you to control Dynamixel servos directly from a PC. Check out http://pypi.python.org/pypi/dynamixel/1.0.1 for a PYTHON based library, there is also a C# version etc. You could adapt motion.c and pose.c from BioloidCControl to work with any of those libraries to play RoboPlus motion files. In the end it depends what sort of interface you want on the PC side...
planius
Savvy Roboteer
Savvy Roboteer
Posts: 40
Joined: Wed Jul 20, 2011 5:33 am

cm-530 new user

Post by tonycar » Sun Feb 03, 2013 4:16 am

Post by tonycar
Sun Feb 03, 2013 4:16 am

Hi Planius,
I an new to the robot community, i have just received my first bioliod premium kit with the cm-530 controller, 2 axis gyro and zigbee 110 wireless, i have built the type A configuration robot. My question is if you have or could post a zip file of your motion and task files you have created as with my kit the gyro only works when walking, i would like to have it on from the start up and in demo, autonomous and remote modes, could you please help me?
Thank you from Tony
Hi Planius,
I an new to the robot community, i have just received my first bioliod premium kit with the cm-530 controller, 2 axis gyro and zigbee 110 wireless, i have built the type A configuration robot. My question is if you have or could post a zip file of your motion and task files you have created as with my kit the gyro only works when walking, i would like to have it on from the start up and in demo, autonomous and remote modes, could you please help me?
Thank you from Tony
tonycar
Newbie
Newbie
Posts: 2
Joined: Sun Feb 03, 2013 3:39 am

Post by planius » Sun Feb 03, 2013 7:06 am

Post by planius
Sun Feb 03, 2013 7:06 am

Tony, in the default task file for the Type A robot (which you can download at http://support.robotis.com/en/product/bioloid/premiumkit/download/bioloid_premium_demo.htm) there is a function at line 840 which initializes the gyro and then there is the CALLBACK function which reads the gyro and uses the readings to set joint offsets. If you want to use the gyro at all times, you need to modify the CALLBACK function.

Alternatively, you could rewrite BioloidCControl for the CM-530 :lol:
Tony, in the default task file for the Type A robot (which you can download at http://support.robotis.com/en/product/bioloid/premiumkit/download/bioloid_premium_demo.htm) there is a function at line 840 which initializes the gyro and then there is the CALLBACK function which reads the gyro and uses the readings to set joint offsets. If you want to use the gyro at all times, you need to modify the CALLBACK function.

Alternatively, you could rewrite BioloidCControl for the CM-530 :lol:
planius
Savvy Roboteer
Savvy Roboteer
Posts: 40
Joined: Wed Jul 20, 2011 5:33 am

Post by planius » Sun Feb 03, 2013 7:08 am

Post by planius
Sun Feb 03, 2013 7:08 am

Version 0.7 of BioloidCControl has been released today.

What's new:
- Support for RC-100 remote control
- New front/back get up motions
- Some bug fixes

To download go to: http://code.google.com/p/bioloidccontrol/downloads/list
Version 0.7 of BioloidCControl has been released today.

What's new:
- Support for RC-100 remote control
- New front/back get up motions
- Some bug fixes

To download go to: http://code.google.com/p/bioloidccontrol/downloads/list
planius
Savvy Roboteer
Savvy Roboteer
Posts: 40
Joined: Wed Jul 20, 2011 5:33 am

Post by tonycar » Sun Feb 03, 2013 8:24 am

Post by tonycar
Sun Feb 03, 2013 8:24 am

hi Planius.
Thank you for the quick reply, i have no knowledge of what to do as i am a new user {one weak} and need a step by step explanation on how to change the callback and to what?
hi Planius.
Thank you for the quick reply, i have no knowledge of what to do as i am a new user {one weak} and need a step by step explanation on how to change the callback and to what?
tonycar
Newbie
Newbie
Posts: 2
Joined: Sun Feb 03, 2013 3:39 am

Post by planius » Sun Feb 03, 2013 9:16 am

Post by planius
Sun Feb 03, 2013 9:16 am

That depends entirely on what you want to use the gyro readings for. The gyro readings tell you how fast (degrees/second) the torso of the robot is moving in the forward-backward (x) and left-right (y) directions. That may or may not be useful information, depending on what motions you are performing.

The current CALLBACK routine only does 2 things - it detects if the robot has fallen over (slip) and it aims to compensate for swaying with applying joint offsets during walking. Start with understanding how that works and then you need to think about what other motions could benefit from using the gyro readings.
That depends entirely on what you want to use the gyro readings for. The gyro readings tell you how fast (degrees/second) the torso of the robot is moving in the forward-backward (x) and left-right (y) directions. That may or may not be useful information, depending on what motions you are performing.

The current CALLBACK routine only does 2 things - it detects if the robot has fallen over (slip) and it aims to compensate for swaying with applying joint offsets during walking. Start with understanding how that works and then you need to think about what other motions could benefit from using the gyro readings.
planius
Savvy Roboteer
Savvy Roboteer
Posts: 40
Joined: Wed Jul 20, 2011 5:33 am

Post by tachikoma » Thu Mar 21, 2013 5:51 pm

Post by tachikoma
Thu Mar 21, 2013 5:51 pm

Hi, I'm new to bioloid and this forum, just finished building it up and now was reading on all the projects that exist and decided this one would be a nice start.

I have learned C programming about 15 years ago and never really used it (grew up with perl/ruby and so on), so I have to refresh quite some knowledge, so please forgive me in case I say/do something that sounds/looks stupid to a experienced C user. Feel free to correct me wherever you think it's necessary.

Anyway, my major problem was that I do not have windows nor any access to a windows system that i could install avr studio on, so I need to compile this project under Linux. I created a Makefile for that which seems to do the job, but I have not yet flashed the code onto the CM-510 yet, so I don't know if the firmware actually works.

Here the Makefile:

Code: Select all
PROJECT=BioloidCControl

CC=avr-gcc
OBJCOPY=avr-objcopy

MMCU=atmega2561

SOURCES=adc.c balance.c BioloidCControl.c button.c buzzer.c clock.c dxl_hal.c dynamixel.c led.c motion.c pid.c pose.c serial.c walk.c
OBJS=$(SOURCES:.c=.o)

CFLAGS=-Wall -g -std=gnu99 -lm -Os -DF_CPU=16000000UL -mmcu=$(MMCU) -I.


all: $(PROJECT).hex


$(PROJECT).hex: $(PROJECT).elf
        $(OBJCOPY) -O ihex $< $(PROJECT).hex

$(PROJECT).elf: $(OBJS)
        $(CC) $(CFLAGS) -o $@ $^

%.o: %.c
        $(CC) $(CFLAGS) -c $< -o $@

clean:
        rm -f $(PROJECT).hex
        rm -f $(PROJECT).elf
        rm -f $(OBJS)


Please let me know if there is anything obviously wrong with it or what might be improved. Thanks a lot.

The system i was able to compile on was an opensuse12.1, the avr-gcc version is version 4.3.3, just in case anyone wants to know.
Hi, I'm new to bioloid and this forum, just finished building it up and now was reading on all the projects that exist and decided this one would be a nice start.

I have learned C programming about 15 years ago and never really used it (grew up with perl/ruby and so on), so I have to refresh quite some knowledge, so please forgive me in case I say/do something that sounds/looks stupid to a experienced C user. Feel free to correct me wherever you think it's necessary.

Anyway, my major problem was that I do not have windows nor any access to a windows system that i could install avr studio on, so I need to compile this project under Linux. I created a Makefile for that which seems to do the job, but I have not yet flashed the code onto the CM-510 yet, so I don't know if the firmware actually works.

Here the Makefile:

Code: Select all
PROJECT=BioloidCControl

CC=avr-gcc
OBJCOPY=avr-objcopy

MMCU=atmega2561

SOURCES=adc.c balance.c BioloidCControl.c button.c buzzer.c clock.c dxl_hal.c dynamixel.c led.c motion.c pid.c pose.c serial.c walk.c
OBJS=$(SOURCES:.c=.o)

CFLAGS=-Wall -g -std=gnu99 -lm -Os -DF_CPU=16000000UL -mmcu=$(MMCU) -I.


all: $(PROJECT).hex


$(PROJECT).hex: $(PROJECT).elf
        $(OBJCOPY) -O ihex $< $(PROJECT).hex

$(PROJECT).elf: $(OBJS)
        $(CC) $(CFLAGS) -o $@ $^

%.o: %.c
        $(CC) $(CFLAGS) -c $< -o $@

clean:
        rm -f $(PROJECT).hex
        rm -f $(PROJECT).elf
        rm -f $(OBJS)


Please let me know if there is anything obviously wrong with it or what might be improved. Thanks a lot.

The system i was able to compile on was an opensuse12.1, the avr-gcc version is version 4.3.3, just in case anyone wants to know.
tachikoma
Robot Builder
Robot Builder
Posts: 8
Joined: Thu Mar 21, 2013 5:09 pm

Post by planius » Thu Mar 21, 2013 11:20 pm

Post by planius
Thu Mar 21, 2013 11:20 pm

I have never tried this under Linux, but the makefile looks about right to me. Just to let you know, AVR Studio uses gcc 4.6.2 and applies the following compiler and link options:
Code: Select all
------ Rebuild All started: Project: BioloidCControl, Configuration: Debug AVR ------
Build started.
Project "BioloidCControl.cproj" (ReBuild target(s)):
Target "PreBuildEvent" skipped, due to false condition; ('$(PreBuildEvent)'!='') was evaluated as (''!='').
Target "CoreRebuild" in file "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\Vs\Compiler.targets" from project "C:\Users\Peter\Documents\Atmel Studio\BioloidCControl\BioloidCControl\BioloidCControl\BioloidCControl.cproj" (target "ReBuild" depends on it):
   Using "RunCompilerTask" task from assembly "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\Vs\Compiler.Task.dll".
   Task "RunCompilerTask"
      C:\Program Files (x86)\Atmel\Atmel Studio 6.0\make\make.exe clean all
      rm -rf  adc.o balance.o BioloidCControl.o button.o buzzer.o clock.o dxl_hal.o dynamixel.o led.o motion.o pid.o pose.o serial.o walk.o adc.d balance.d BioloidCControl.d button.d buzzer.d clock.d dxl_hal.d dynamixel.d led.d motion.d pid.d pose.d serial.d walk.d 
      rm -rf "BioloidCControl.elf" "BioloidCControl.a" "BioloidCControl.hex" "BioloidCControl.lss" "BioloidCControl.eep" "BioloidCControl.map" "BioloidCControl.srec"
      Building file: .././adc.c
      Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe" -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF "adc.d" -MT"adc.d" -MT"adc.o"  -mmcu=atmega2561   -o"adc.o" ".././adc.c"
      Finished building: .././adc.c
      Building file: .././balance.c
      Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe" -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF "balance.d" -MT"balance.d" -MT"balance.o"  -mmcu=atmega2561   -o"balance.o" ".././balance.c"
      Finished building: .././balance.c
      Building file: .././BioloidCControl.c
      Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe" -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF "BioloidCControl.d" -MT"BioloidCControl.d" -MT"BioloidCControl.o"  -mmcu=atmega2561   -o"BioloidCControl.o" ".././BioloidCControl.c"
C:\Users\Peter\Documents\Atmel Studio\BioloidCControl\BioloidCControl\BioloidCControl\BioloidCControl.c(113,1): missing braces around initializer [-Wmissing-braces]
C:\Users\Peter\Documents\Atmel Studio\BioloidCControl\BioloidCControl\BioloidCControl\BioloidCControl.c(113,1): (near initialization for 'command_sequence_buffer[0]') [-Wmissing-braces]
      .././BioloidCControl.c: In function 'main':
C:\Users\Peter\Documents\Atmel Studio\BioloidCControl\BioloidCControl\BioloidCControl\BioloidCControl.c(146,8): variable 'motion_flag' set but not used [-Wunused-but-set-variable]
C:\Users\Peter\Documents\Atmel Studio\BioloidCControl\BioloidCControl\BioloidCControl\BioloidCControl.c(143,34): variable 'comm_status' set but not used [-Wunused-but-set-variable]
      Finished building: .././BioloidCControl.c
      Building file: .././button.c
      Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe" -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF "button.d" -MT"button.d" -MT"button.o"  -mmcu=atmega2561   -o"button.o" ".././button.c"
      Finished building: .././button.c
      Building file: .././buzzer.c
      Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe" -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF "buzzer.d" -MT"buzzer.d" -MT"buzzer.o"  -mmcu=atmega2561   -o"buzzer.o" ".././buzzer.c"
      Finished building: .././buzzer.c
      Building file: .././clock.c
      Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe" -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF "clock.d" -MT"clock.d" -MT"clock.o"  -mmcu=atmega2561   -o"clock.o" ".././clock.c"
      Finished building: .././clock.c
      Building file: .././dxl_hal.c
      Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe" -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF "dxl_hal.d" -MT"dxl_hal.d" -MT"dxl_hal.o"  -mmcu=atmega2561   -o"dxl_hal.o" ".././dxl_hal.c"
      Finished building: .././dxl_hal.c
      Building file: .././dynamixel.c
      Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe" -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF "dynamixel.d" -MT"dynamixel.d" -MT"dynamixel.o"  -mmcu=atmega2561   -o"dynamixel.o" ".././dynamixel.c"
      Finished building: .././dynamixel.c
      Building file: .././led.c
      Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe" -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF "led.d" -MT"led.d" -MT"led.o"  -mmcu=atmega2561   -o"led.o" ".././led.c"
      Finished building: .././led.c
      Building file: .././motion.c
      Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe" -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF "motion.d" -MT"motion.d" -MT"motion.o"  -mmcu=atmega2561   -o"motion.o" ".././motion.c"
      .././motion.c: In function 'executeMotionSequence':
C:\Users\Peter\Documents\Atmel Studio\BioloidCControl\BioloidCControl\BioloidCControl\motion.c(356,20): variable 'comm_status' set but not used [-Wunused-but-set-variable]
      .././motion.c: In function 'executeMotion':
C:\Users\Peter\Documents\Atmel Studio\BioloidCControl\BioloidCControl\BioloidCControl\motion.c(803,16): variable 'step_times' set but not used [-Wunused-but-set-variable]
      .././motion.c: In function 'executeMotionSequence':
C:\Users\Peter\Documents\Atmel Studio\BioloidCControl\BioloidCControl\BioloidCControl\motion.c(629,1): control reaches end of non-void function [-Wreturn-type]
      Finished building: .././motion.c
      Building file: .././pid.c
      Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe" -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF "pid.d" -MT"pid.d" -MT"pid.o"  -mmcu=atmega2561   -o"pid.o" ".././pid.c"
      Finished building: .././pid.c
      Building file: .././pose.c
      Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe" -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF "pose.d" -MT"pose.d" -MT"pose.o"  -mmcu=atmega2561   -o"pose.o" ".././pose.c"
      .././pose.c: In function 'moveToDefaultPose':
C:\Users\Peter\Documents\Atmel Studio\BioloidCControl\BioloidCControl\BioloidCControl\pose.c(210,2): passing argument 2 of 'moveToGoalPose' discards 'const' qualifier from pointer target type [enabled by default]
C:\Users\Peter\Documents\Atmel Studio\BioloidCControl\BioloidCControl\BioloidCControl\pose.c(161,5): expected 'uint16 *' but argument is of type 'const uint16 *'
      Finished building: .././pose.c
      Building file: .././serial.c
      Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe" -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF "serial.d" -MT"serial.d" -MT"serial.o"  -mmcu=atmega2561   -o"serial.o" ".././serial.c"
      Finished building: .././serial.c
      Building file: .././walk.c
      Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe" -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF "walk.d" -MT"walk.d" -MT"walk.o"  -mmcu=atmega2561   -o"walk.o" ".././walk.c"
      Finished building: .././walk.c
      Building target: BioloidCControl.elf
      Invoking: AVR/GNU Linker : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe" -o BioloidCControl.elf  adc.o balance.o BioloidCControl.o button.o buzzer.o clock.o dxl_hal.o dynamixel.o led.o motion.o pid.o pose.o serial.o walk.o   -Wl,-Map="BioloidCControl.map" -Wl,--start-group -Wl,-lm  -Wl,--end-group  -mmcu=atmega2561 
      Finished building target: BioloidCControl.elf
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature  "BioloidCControl.elf" "BioloidCControl.hex"
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-objcopy.exe" -j .eeprom  --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0  --no-change-warnings -O ihex "BioloidCControl.elf" "BioloidCControl.eep" || exit 0
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-objdump.exe" -h -S "BioloidCControl.elf" > "BioloidCControl.lss"
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-objcopy.exe" -O srec -R .eeprom -R .fuse -R .lock -R .signature  "BioloidCControl.elf" "BioloidCControl.srec"
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-size.exe" "BioloidCControl.elf"
         text      data       bss       dec       hex   filename
        75978      1690      2131     79799     137b7   BioloidCControl.elf
   Done executing task "RunCompilerTask".
   Using "RunOutputFileVerifyTask" task from assembly "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\Vs\Compiler.Task.dll".
   Task "RunOutputFileVerifyTask"
            Program Memory Usage    :   77668 bytes   29.6 % Full
            Data Memory Usage       :   3821 bytes   5.9 % Full
   Done executing task "RunOutputFileVerifyTask".
Done building target "CoreRebuild" in project "BioloidCControl.cproj".
Target "PostBuildEvent" skipped, due to false condition; ('$(PostBuildEvent)' != '') was evaluated as ('' != '').
Target "ReBuild" in file "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\Vs\Avr.common.targets" from project "C:\Users\Peter\Documents\Atmel Studio\BioloidCControl\BioloidCControl\BioloidCControl\BioloidCControl.cproj" (entry point):
Done building target "ReBuild" in project "BioloidCControl.cproj".
Done building project "BioloidCControl.cproj".

Build succeeded.
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========
I have never tried this under Linux, but the makefile looks about right to me. Just to let you know, AVR Studio uses gcc 4.6.2 and applies the following compiler and link options:
Code: Select all
------ Rebuild All started: Project: BioloidCControl, Configuration: Debug AVR ------
Build started.
Project "BioloidCControl.cproj" (ReBuild target(s)):
Target "PreBuildEvent" skipped, due to false condition; ('$(PreBuildEvent)'!='') was evaluated as (''!='').
Target "CoreRebuild" in file "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\Vs\Compiler.targets" from project "C:\Users\Peter\Documents\Atmel Studio\BioloidCControl\BioloidCControl\BioloidCControl\BioloidCControl.cproj" (target "ReBuild" depends on it):
   Using "RunCompilerTask" task from assembly "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\Vs\Compiler.Task.dll".
   Task "RunCompilerTask"
      C:\Program Files (x86)\Atmel\Atmel Studio 6.0\make\make.exe clean all
      rm -rf  adc.o balance.o BioloidCControl.o button.o buzzer.o clock.o dxl_hal.o dynamixel.o led.o motion.o pid.o pose.o serial.o walk.o adc.d balance.d BioloidCControl.d button.d buzzer.d clock.d dxl_hal.d dynamixel.d led.d motion.d pid.d pose.d serial.d walk.d 
      rm -rf "BioloidCControl.elf" "BioloidCControl.a" "BioloidCControl.hex" "BioloidCControl.lss" "BioloidCControl.eep" "BioloidCControl.map" "BioloidCControl.srec"
      Building file: .././adc.c
      Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe" -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF "adc.d" -MT"adc.d" -MT"adc.o"  -mmcu=atmega2561   -o"adc.o" ".././adc.c"
      Finished building: .././adc.c
      Building file: .././balance.c
      Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe" -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF "balance.d" -MT"balance.d" -MT"balance.o"  -mmcu=atmega2561   -o"balance.o" ".././balance.c"
      Finished building: .././balance.c
      Building file: .././BioloidCControl.c
      Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe" -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF "BioloidCControl.d" -MT"BioloidCControl.d" -MT"BioloidCControl.o"  -mmcu=atmega2561   -o"BioloidCControl.o" ".././BioloidCControl.c"
C:\Users\Peter\Documents\Atmel Studio\BioloidCControl\BioloidCControl\BioloidCControl\BioloidCControl.c(113,1): missing braces around initializer [-Wmissing-braces]
C:\Users\Peter\Documents\Atmel Studio\BioloidCControl\BioloidCControl\BioloidCControl\BioloidCControl.c(113,1): (near initialization for 'command_sequence_buffer[0]') [-Wmissing-braces]
      .././BioloidCControl.c: In function 'main':
C:\Users\Peter\Documents\Atmel Studio\BioloidCControl\BioloidCControl\BioloidCControl\BioloidCControl.c(146,8): variable 'motion_flag' set but not used [-Wunused-but-set-variable]
C:\Users\Peter\Documents\Atmel Studio\BioloidCControl\BioloidCControl\BioloidCControl\BioloidCControl.c(143,34): variable 'comm_status' set but not used [-Wunused-but-set-variable]
      Finished building: .././BioloidCControl.c
      Building file: .././button.c
      Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe" -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF "button.d" -MT"button.d" -MT"button.o"  -mmcu=atmega2561   -o"button.o" ".././button.c"
      Finished building: .././button.c
      Building file: .././buzzer.c
      Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe" -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF "buzzer.d" -MT"buzzer.d" -MT"buzzer.o"  -mmcu=atmega2561   -o"buzzer.o" ".././buzzer.c"
      Finished building: .././buzzer.c
      Building file: .././clock.c
      Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe" -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF "clock.d" -MT"clock.d" -MT"clock.o"  -mmcu=atmega2561   -o"clock.o" ".././clock.c"
      Finished building: .././clock.c
      Building file: .././dxl_hal.c
      Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe" -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF "dxl_hal.d" -MT"dxl_hal.d" -MT"dxl_hal.o"  -mmcu=atmega2561   -o"dxl_hal.o" ".././dxl_hal.c"
      Finished building: .././dxl_hal.c
      Building file: .././dynamixel.c
      Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe" -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF "dynamixel.d" -MT"dynamixel.d" -MT"dynamixel.o"  -mmcu=atmega2561   -o"dynamixel.o" ".././dynamixel.c"
      Finished building: .././dynamixel.c
      Building file: .././led.c
      Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe" -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF "led.d" -MT"led.d" -MT"led.o"  -mmcu=atmega2561   -o"led.o" ".././led.c"
      Finished building: .././led.c
      Building file: .././motion.c
      Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe" -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF "motion.d" -MT"motion.d" -MT"motion.o"  -mmcu=atmega2561   -o"motion.o" ".././motion.c"
      .././motion.c: In function 'executeMotionSequence':
C:\Users\Peter\Documents\Atmel Studio\BioloidCControl\BioloidCControl\BioloidCControl\motion.c(356,20): variable 'comm_status' set but not used [-Wunused-but-set-variable]
      .././motion.c: In function 'executeMotion':
C:\Users\Peter\Documents\Atmel Studio\BioloidCControl\BioloidCControl\BioloidCControl\motion.c(803,16): variable 'step_times' set but not used [-Wunused-but-set-variable]
      .././motion.c: In function 'executeMotionSequence':
C:\Users\Peter\Documents\Atmel Studio\BioloidCControl\BioloidCControl\BioloidCControl\motion.c(629,1): control reaches end of non-void function [-Wreturn-type]
      Finished building: .././motion.c
      Building file: .././pid.c
      Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe" -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF "pid.d" -MT"pid.d" -MT"pid.o"  -mmcu=atmega2561   -o"pid.o" ".././pid.c"
      Finished building: .././pid.c
      Building file: .././pose.c
      Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe" -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF "pose.d" -MT"pose.d" -MT"pose.o"  -mmcu=atmega2561   -o"pose.o" ".././pose.c"
      .././pose.c: In function 'moveToDefaultPose':
C:\Users\Peter\Documents\Atmel Studio\BioloidCControl\BioloidCControl\BioloidCControl\pose.c(210,2): passing argument 2 of 'moveToGoalPose' discards 'const' qualifier from pointer target type [enabled by default]
C:\Users\Peter\Documents\Atmel Studio\BioloidCControl\BioloidCControl\BioloidCControl\pose.c(161,5): expected 'uint16 *' but argument is of type 'const uint16 *'
      Finished building: .././pose.c
      Building file: .././serial.c
      Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe" -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF "serial.d" -MT"serial.d" -MT"serial.o"  -mmcu=atmega2561   -o"serial.o" ".././serial.c"
      Finished building: .././serial.c
      Building file: .././walk.c
      Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe" -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF "walk.d" -MT"walk.d" -MT"walk.o"  -mmcu=atmega2561   -o"walk.o" ".././walk.c"
      Finished building: .././walk.c
      Building target: BioloidCControl.elf
      Invoking: AVR/GNU Linker : (AVR_8_bit_GNU_Toolchain_3.4.1_830) 4.6.2
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe" -o BioloidCControl.elf  adc.o balance.o BioloidCControl.o button.o buzzer.o clock.o dxl_hal.o dynamixel.o led.o motion.o pid.o pose.o serial.o walk.o   -Wl,-Map="BioloidCControl.map" -Wl,--start-group -Wl,-lm  -Wl,--end-group  -mmcu=atmega2561 
      Finished building target: BioloidCControl.elf
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature  "BioloidCControl.elf" "BioloidCControl.hex"
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-objcopy.exe" -j .eeprom  --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0  --no-change-warnings -O ihex "BioloidCControl.elf" "BioloidCControl.eep" || exit 0
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-objdump.exe" -h -S "BioloidCControl.elf" > "BioloidCControl.lss"
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-objcopy.exe" -O srec -R .eeprom -R .fuse -R .lock -R .signature  "BioloidCControl.elf" "BioloidCControl.srec"
      "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-size.exe" "BioloidCControl.elf"
         text      data       bss       dec       hex   filename
        75978      1690      2131     79799     137b7   BioloidCControl.elf
   Done executing task "RunCompilerTask".
   Using "RunOutputFileVerifyTask" task from assembly "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\Vs\Compiler.Task.dll".
   Task "RunOutputFileVerifyTask"
            Program Memory Usage    :   77668 bytes   29.6 % Full
            Data Memory Usage       :   3821 bytes   5.9 % Full
   Done executing task "RunOutputFileVerifyTask".
Done building target "CoreRebuild" in project "BioloidCControl.cproj".
Target "PostBuildEvent" skipped, due to false condition; ('$(PostBuildEvent)' != '') was evaluated as ('' != '').
Target "ReBuild" in file "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\Vs\Avr.common.targets" from project "C:\Users\Peter\Documents\Atmel Studio\BioloidCControl\BioloidCControl\BioloidCControl\BioloidCControl.cproj" (entry point):
Done building target "ReBuild" in project "BioloidCControl.cproj".
Done building project "BioloidCControl.cproj".

Build succeeded.
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========
planius
Savvy Roboteer
Savvy Roboteer
Posts: 40
Joined: Wed Jul 20, 2011 5:33 am

Post by tachikoma » Sun Mar 24, 2013 11:07 pm

Post by tachikoma
Sun Mar 24, 2013 11:07 pm

Thanks for the AVR Studio build output. I finally found time to flash the .hex file, however, after powering on it did not do anything, so maybe I need to add the remaining flags. I ran into some other problem:

After nothing happened, I though I'd just reflash the original firmware, so in the end I installed Windows with RoboPlus in a virtual machine and used the Robo Manager to do so (using the included wizard). It did succeed but to my surprise the robot - once turned on and switched to demo, remote or autonomous walking mode - just moved to a completely scrambled position, then made a warning sound and released all servos, blinking their leds (the servos all move into colliding positions). The basic posture after turning it on and pushing start when the 'play' mode was selected was totally ok, just once I push 'l', 'r' or 'd' - all goes wrong.

I went though the self checklist, all seems fine, I can connect to the controller, the servos center on the correct position and the check assembly mode also works as expected.

Is there any further diagnostics guide / hints I could try in order to determine what might be wrong?
Do I have to upload the task and motions files again after a firmware reset (I built Robot model A and thought that for that the default firmware should be already configured) - I actually tried it already but am not sure if I did it right with the roboplus motion editor - afterwards the behavior was still exactly as wrong as before (it always moves to the same wrong pose).

Any hint is appreciated. In the meantime I'll update the Makefile, rebuild and reflash with the custom firmware to see if the additional compiler flags might have an influence on that working.
Thanks for the AVR Studio build output. I finally found time to flash the .hex file, however, after powering on it did not do anything, so maybe I need to add the remaining flags. I ran into some other problem:

After nothing happened, I though I'd just reflash the original firmware, so in the end I installed Windows with RoboPlus in a virtual machine and used the Robo Manager to do so (using the included wizard). It did succeed but to my surprise the robot - once turned on and switched to demo, remote or autonomous walking mode - just moved to a completely scrambled position, then made a warning sound and released all servos, blinking their leds (the servos all move into colliding positions). The basic posture after turning it on and pushing start when the 'play' mode was selected was totally ok, just once I push 'l', 'r' or 'd' - all goes wrong.

I went though the self checklist, all seems fine, I can connect to the controller, the servos center on the correct position and the check assembly mode also works as expected.

Is there any further diagnostics guide / hints I could try in order to determine what might be wrong?
Do I have to upload the task and motions files again after a firmware reset (I built Robot model A and thought that for that the default firmware should be already configured) - I actually tried it already but am not sure if I did it right with the roboplus motion editor - afterwards the behavior was still exactly as wrong as before (it always moves to the same wrong pose).

Any hint is appreciated. In the meantime I'll update the Makefile, rebuild and reflash with the custom firmware to see if the additional compiler flags might have an influence on that working.
tachikoma
Robot Builder
Robot Builder
Posts: 8
Joined: Thu Mar 21, 2013 5:09 pm

PreviousNext
57 postsPage 3 of 41, 2, 3, 4
57 postsPage 3 of 41, 2, 3, 4