ダウンロード
最新バージョン : 2.1.0-RELESE
| 2.1.0-RELESE | ダウンロードページ |
OpenRTM@Github
OpenRTM-aist GitHubサイト
ROS
Robot Operating System
Choreonoid
モーションエディタ/シミュレータ
DAQ-Middleware
ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク
産総研が提供するRTC集
東京オープンソースロボティクス協会
| 2.1.0-RELESE | ダウンロードページ |
OpenRTM-aist GitHubサイト
Robot Operating System
モーションエディタ/シミュレータ
ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク
産総研が提供するRTC集
東京オープンソースロボティクス協会
Armadillo240는 アットマークテクノ에서 판매하고 있는, ARM를 탑재한 Linux탑재 가능한 소형 CPU보드입니다.
Atmark Techno, Inc.에서 ATDE2(Atmark Techno Development Environment)와 GNU 크로스 개발툴, AtmarkDist라고 하는 3개의 개발툴이 제공되어 간단하게 크로스 개발을 실시할 수 있습니다.
여기에서는 Armadillo로 실행할 수 있는 RT컴포넌트의 실행 파일을 크로스 개발합니다. 그 후, Armadillo 기동해 RT컴포넌트가 자동으로 기동하는 이미지 파일(romfs:루트 파일 시스템)을 작성합니다.
작업의 흐름
크로스 개발 환경의 구축
Armadillo로 실행할 수 있는 RT컴포넌트의 실행 파일을 크로스 컴파일로 작성합니다. Atmark Techno, Inc.에서 Armadillo 시리즈의 개발 환경이 VM이미지로 배포되고 있어 크로스 개발 환경에 필요한 툴이 사전에 인스톨 되어 있습니다.ATDE2와 VMware의 다운로드
ATDE2와 VMware의 기동
※ATDE2-20071018.zip파일의 압축을 해제해 폴더안의 ATDE2.vmx를 더블 클릭 또는 VMware의 [file]-[Open]에서 압축을 해제한 폴더안의 ATDE2-20071018의 ATDE2.vmx를 선택해 주십시오.
ATDE2 개발 환경의 정비
ATDE2는 이미 크로스 컴파일 환경이 갖추어지고 있습니다만, OpenRTM의 RT컴포넌트를 크로스 개발할 수 있는 환경으로 정리할 필요가 있습니다. 기동한 ATDE2상에서 이하의 소스와 셸 스크립트를 다운로드해 홈 디렉토리 이하의 적당한 작업 디렉토리에 넣어 둡니다.
OpenRTM-aist의 크로스 컴파일
OpenRTM-aist의 빌드
OpenRTM-aist-0.4.2의 소스 코드를 홈 디렉토리 등의 적당한 디렉토리에 압축을 해제해 주십시오. 압축해제 후, 작성된 디렉토리로 이동합니다.
OpenRTM-aist의 인스톨
config.sh로 지정한 /usr/arm-linux-gnu/에 인스톨 됩니다.RT컴포넌트의 크로스 개발
이상으로, RT컴포넌트를 크로스 개발하는 환경이 갖추어졌습니다. 여기에서는 예로서 샘플에 포함되는 SeqOutComp의 소스를 사용해 크로스 컴파일 해 보겠습니다.
RT컴포넌트의 크로스 개발
rtc-template로 SimpleIO의 RT컴포넌트를 생성한다.
샘플을 작성하기 위해 적당한 디렉토리를 작성해, 거기에 OpenRTM의 샘플 SeqOut의 소스에 포함되는 이하의 파일을 복사해 주십시오.
OutPort가 여덟 개 있는 SeqOutComp 컴포넌트를 생성합니다.
RT컴포넌트의 빌드
생성된, Makefile.SeqOut의 내용을 확인해 주십시오.CXX=로 시작되는 행이 없는 경우, 컴파일러에 크로스용의 컴파일러를 이하와 같이 지정할 필요가 있습니다.
환경 변수를 설정해 make
make가 정상적으로 완료되면, SeqOutComp의 실행 파일이 생성됩니다.
RT컴포넌트의 실행
크로스 개발한 실행 파일, 라이브러리 등을 USB 메모리에 복사해, Armadillo240상에서 기동합니다.USB 플래쉬 메모리의 준비
Armadillo240상에서 RT컴포넌트를 실행하는데 필요한 파일을 USB 메모리에 복사·생성합니다.
이 예에서는, 방금전 크로스 컴파일 한 SeqOutComp를 사용합니다. SeqOutComp를 USB 메모리의 적당한 장소(루트 디렉토리 등)에 복사합니다.
이 디렉토리내의 라이브러리 가운데, 이하의 것을 USB 메모리에 복사합니다. USB 플래쉬 메모리에 라이브러리를 두는 디렉토리 lib를 작성합니다.
/usr/arm-linux-gnu/lib의 라이브러리를 복사할 때에, 이하와 같이 이름을 변경해 주십시오.
Armadillo상에서는 네임서버를 기동하지 않으므로 다른 PC상에서 네임서버를 기동해 주십시오. rtc.conf의 corba.nameservers의 옵션에는 그 네임서버를 기동한 PC의 주소를 지정합니다.
자동으로 마운트되지 않을 때는 VMware(ATDE2)의 단말에서 su커멘드로 유저를 root로 변경하여 mount를 다시 합니다.
Desktop상에 USB 메모리의 아이콘이 표시되고 있을 때는 마우스 오른쪽 버튼 클릭>언마운트 해주십시오.
또는, 콘솔로부터 커멘드로 언마운트 할 수 있습니다.
USB 플래쉬 메모리의 디렉토리 구조
USB 플래쉬 메모리의 준비를 끝내면, USB 메모리는 아래와 같은 디렉토리 구조가 됩니다.
USB 메모리 -+- lib --+- libomniDynamic4.so.0 | +- libomniORB4.so.0 | +- libomnithread.so.3 | +- libRTC-0.4.2.so.0 | +- librt.so.1 | +- libACE.so.5.4.7 | +- SeqOutComp | +- rtc.confUSB 메모리 -+- lib --+- libm.so.6 | +- libomniDynamic4.so.0 | +- ibomnithread.so.3 | +- librt.so.1 | +- libRTC-1.0.0.so.0 | +- libstdc++.so.6 | +- libuuid.so.1 | +- SeqOutComp | +- rtc.confArmadillo240로 실행 파일을 기동
USB 메모리의 마운트 설정, 라이브러리 PATH의 설정을 변경해 실행 파일을 기동합니다. PC와 Armadillo를 시리얼 케이블로 접속해 Armadillo상의 Linux의 시리얼 콘솔로부터 로그인하는 것으로 Armadillo상의 Linux를 조작할 수 있습니다. 이하의 하기 쉬운 방법으로 진행해 주십시오.
ATDE2상으로부터 minicom로 조작
ATDE2상으로부터 단말에뮬레이터의 프로그램minicom로 조작합니다. PC의 시리얼 포트와 Armadillo의 시리얼 포트를 시리얼 케이블로 접속해 주십시오. 시리얼 포트가 없는 PC의 경우는 USB 시리얼 변환 케이블 등을 사용할 필요가 있습니다. Armadillo의 시리얼 케이블의 접속 방법에 관해서는, Armadillo의 메뉴얼을 참조해 주십시오.
※VMware의 가상 머신의 디바이스의 설정을 이하와 같이 해 주십시오.
접속의 체크를 확인해 주십시오.
디바이스 스테이터스의 체크와 접속>물리 시리얼 포트를 사용으로 포트를 확인해 주십시오. ATDE2의 단말로부터, 단말에뮬레이터 minicom를 기동합니다.
Windows로부터 단말에뮬레이터(teraterm)로 조작
Windows에서 TeraTerm 등의 단말에뮬레이터를 사용해 Armadillo의 시리얼 콘솔과 접속할 수도 있습니다. TeraTerm는 여기에서 무료로 다운로드할 수 있습니다. 이하의 설정으로 기동해 주십시오.
상기의 설정으로 기동하면, Armadillo240의 로그인 화면이 표시됩니다. ※표시되지 않을 때는 Enter를 눌러주십시오. 이후는 공통의 조작으로 진행해 주십시오.
공통의 조작
USB 메모리를 Armadillo에 꼽아 주십시오. Armadillo의 로그인 화면에서 root(패스워드 :root)로 로그인해 주십시오. 디폴트의 mount는 옵션(umous=111)으로, 어느 유저도 실행을 할 수 없는 퍼미션 설정입니다.
한 번 언마운트 하고 나서, 기입·실행 가능한 -o rw옵션으로 재마운트 합니다.
> export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/home/www-data/storage/ > ./SeqOutComp (실행 파일이 실행되었습니다)※RtcLink로부터도 확인할 수 있습니다.
이 방법에서는 Armadillo의 기동을 할 때마다 설정을 수정하지 않으면 안됩니다. 다음의 장에서는, Armadillo의 기동 후 RT컴포넌트가 자동으로 기동하는 이미지 파일을 작성해 Armadillo에 다운로드합니다.
Armadillo240의 이미지 파일을 작성한다
지금까지 방법으로는 Armadillo의 기동 마다 단말 에뮬레이터로 설정을 변경할 필요가 있습니다. 여기에서는 AtmarkTechno,Inc로부터 제공되고 있는 atmark-dist를 사용해, Armadillo240의 기동 후 RT컴포넌트가 자동으로 기동하는 이미지 파일을 작성해 Armadillo에 다운로드합니다.
개발 환경의 정비
RT컴포넌트를 크로스 컴파일 한 ATDE2의 환경을 그대로 사용합니다. ATDE2상에 이하의 항목을 다운로드해 주십시오.
atmark-dist의 빌드와 설정
여기에서는 Armadillo의 userland의 이미지 파일을 작성합니다. 여기서 작성하는 이미지 파일을 사용하면, USB 메모리에 미리 인스톨 된 RT컴포넌트를 자동적으로 기동할 수 있게 됩니다.
RT컴포넌트의 기동의 구조
USB 메모리를 /home/openrtm/에 마운트해 Armadillo의 기동 후 /home/openrtm/boot.sh를 기동시킵니다. boot.sh는 USB 메모리내의 라이브러리 패스를 통해 실행 파일을 기동합니다.USB 메모리에 이하의 파일을 준비해 주십시오.
atmark-dist 빌드
ATDE2상에서, atmark-dist와 linux커널, openrtm.patch를 다운로드해 압축을 해제해 주십시오.
openrtm.patch를 복사해 이하의 순서로 패치를 해주십시오.
이미지 파일을 Armadillo240에 다운로드한다
생성한 userland의 이미지 파일 romfs.img.gz를 Armadillo240에 다운로드합니다. Armadillo는 점퍼핀(2)을쇼트 해, 전원을 넣어 두어 주십시오(Armadillo하드웨어 메뉴얼 의 16P를 참고해주십시오)
VMware(ATDE2), Windows 어느 쪽에서에서도 다운로드할 수 있습니다.
ATDE2상으로부터 다운로드한다
여기 에서 VMware의 가상 머신의 디바이스 설정을 실시하고 나서 진행해 주십시오.
- Armadillo-240와 PC를 USB 시리얼 케이블(또는 시리얼 케이블)로 연결합니다.
- ATDE2의 단말 콘솔로부터 hermit로 images/romfs.img.gz를 다운로드합니다.
다운로드는 8분 정도 걸립니다.Windows상에서 다운로드한다
Armadillo240의 본체와 함께 제공되고 있는 CD-ROM의 downloader>win32>Hermit.zip를 Widows상에 놓아주십시오.
RT컴포넌트의 실행·확인
RTCLink를 기동해 RT컴포넌트의 기동을 확인합니다.
응용예
Armadillo + URG 센서
Armadillo와 호쿠요 전기 URG 센서와 조합해 분산 센서 시스템을 간단하게 구축하기 위한 유닛입니다. Armadillo상에서는 URG 센서 RT컴포넌트가 동작합니다.(Armadillo 전원을 켬과 동시에 RTC가 자동 기동합니다.) PoE (Power over Ether) 대응의 Armadillo를 사용하는 것으로 LAN 케이블만으로 통신 및 전원공급이 가능합니다. URG 센서도 PoE 로부터의 전원 공급으로 동작합니다. 케이블 1개만으로 센서 배치가 가능하므로, 분산 센서 시스템을 용이하게 구축할 수 있습니다.