...
POST No. 2591026
opecr 펌웨어 업데이트 질문드립니다.
2020-05-21 21:06:58 gksdnf0407

현재 turtlebot3_burger 제품을 사용하고 있습니다.

다름이 아니라 opecr에 펌웨어를 수정하고 upload를 하면 upload는 잘 되지만 

roslaunch turtlebot3_bringup turtlebot3_robot.launch를 실행하면 

 

[ERROR] [1590061725.163117]: Message from device dropped: message larger than buffer.

이나

[ERROR] [1590061724.733594]: Message from device dropped: message larger than buffer.

이런 에러가 발생합니다.

그래서 opencr_update 에서 ./update.sh $OPENCR_PORT $OPENCR_MODEL.opencr 을 하면 다시 런치는 실행되지만 
제가 수정한 펌웨로 올라가지지 않는것 같습니다.

이를 해결하기 위해 아두이노에서 opencr에게 업로드 하면 /tmp 폴더에 turtlebot3_core.ino.bin 파일이 생성되는데
/update.sh $OPENCR_PORT turtlebot3_core.ino.bin을 실행하면 
x86_64
amd64
OpenCR Update Start..
opencr_ld_shell ver 1.0.0
opencr_ld_main 
[  ] file name    : waffle_turtlebot3_core.ino.bin 
[  ] file size    : 182 KB
[NG] not opencr fw 
[  ] file name    : waffle_turtlebot3_core.ino.bin 
[  ] file size    : 182 KB
[NG] not opencr fw 
[  ] file name    : waffle_turtlebot3_core.ino.bin 
[  ] file size    : 182 KB
[NG] not opencr fw 

이와 같은 에러가 발생합니다.

혹시 수정한 펌웨어를 업로드 하고 roslaunch를 정상적으로 작동하려면 어떻게 해야하나요???
update.sh 방식을 알고 싶습니다.

ps. 펌웨어 수정 하지 않아도 ./update.sh $OPENCR_PORT $OPENCR_MODEL.opencr 명령어를 실행시켜도
같은 에러메시지가 출력됩니다.
2020-05-21 21:06:58
gksdnf0407
2020-05-21 21:33:46 배한울

추가적으로 .opencr 을 수정하거나 만들 수 있는지 궁금합니다. 

2020-05-21 21:33:46
gksdnf0407
2020-05-22 10:23:20 손의형

안녕하세요,

 

Arduino IDE에서 만들어진 바이너리 파일을 OpenCR 펌웨어로 업그레이드 하기 위해서는 opencr_ld_shell_x86을 이용하여 아래와 같이 실행하시면 됩니다.

$ ./opencr_ld_shell make <바이너리 파일이름> <플랫폼 이름|burger|waffle|waffle_pi> <버전>

$ ./opencr_ld_shell_x86 make turtlebot3_core.ino.bin burger V171017R1
OpenCR 펌웨어로 업그레이드 된 바이너리 파일을 업로드 하기 위해서는 opencr_tools_1.0.0 폴더에 포함되어 있는 opencr_ld 프로그램을 아래와 같이 사용하시면 됩니다.

$ ./opencr_ld <통신포트> <통신속도> <opencr 펌웨어 파일> 1

$ ./opencr_ld /dev/ttyACM0 115200 burger.opencr 1
2020-05-22 10:23:20
will_son
답변달기
웹에디터 시작 웹 에디터 끝