Download
latest Releases : 2.0.0-RELESE
2.0.0-RELESE | Download page |
Number of Projects
RT-Component | 153.5 |
RT-Middleware | 35 |
Tools | 22 |
Documentation | 2 |
Choreonoid
Motion editor/Dynamics simulator
OpenHRP3
Dynamics simulator
OpenRTP
Integrated Development Platform
AIST RTC collection
RT-Components collection by AIST
TORK
Tokyo Opensource Robotics Association
DAQ-Middleware
Middleware for DAQ (Data Aquisition) by KEK
Armadillo240 is a compact CPU board that can be mounted on Linux with ARM, which is sold from At Mark Techno. Three development tools from Atmark Techno, Inc., ATDE2 (Atmark Techno Development Environment), GNU cross development tool, AtmarkDist are provided, which makes cross development easy.
In this example, we will cross-develop the executable file of the RT component that can be executed by Armadillo. After that, after starting Armadillo, create an image file (romfs: root file system) that the RT component automatically starts up.
(G)Workflow
(G)Building cross development environment
Create an executable file of RT component that can be executed by Armadillo by cross-compiling. The development environment of Armadillo series is distributed from Atmark Techno, Inc. as a VM image, and necessary tools for cross development environment are pre-installed.
(G)Downloading ATDE2 and VMware
(G)Activating ATDE2 and VMware
Unzip ATDE2-20071018.zip, double click on ATDE2.vmx in the folder you unzipped, or select ATDE2.vmx from ATDE2-20071018 in the folder extracted from file > Open of VMware.
(G)Development of ATDE2 development environment
ATDE2 already has a cross-compiling environment, but it is necessary to prepare an environment that allows cross-development of RT component of OpenRTM. On the started ATDE2 download the following source and shell script and place it in the appropriate working directory under the home directory.
(G)Cross compilation of OpenRTM-aist
(G)Build OpenRTM-aist
Deploy the OpenRTM-aist-0.4.2 source code to a suitable directory such as home directory. After deployment, go to the created directory.
(G)Installing OpenRTM-aist
It is installed in /usr/arm-linux-gnu/specified in config.sh.(G)Cross-development of RT components
With this, the environment for cross development of the RT component is in place. Here, as an example, try cross-compiling using the source of SeqOutComp included in the sample.
(G)RT component cross development
(G)Generate the RT component of SimpleIO with rtc-template.
Create a suitable directory to create the sample and copy the following files contained in the OpenRTM sample SeqOut source into it.
We create a component called SeqOutComp with eight OutPorts.
(G)Build RT component
Please check the contents of the generated Makefile.SeqOut. If there is no line beginning with CXX =, you need to specify the cross compiler for the compiler as follows.
Set environment variable and make make
When make completes normally, SeqOutComp executable file is generated.
(G)Running the RT component
Copy cross-developed executable files, libraries, etc. to USB memory and start up on Armadillo240.
(G)Preparing the USB memory
Copy and generate the files necessary for executing the RT component on the Armadillo240 to the USB memory.
In this example, we use SeqOutComp that we cross-compiled earlier. Copy SeqOutComp to the appropriate location (such as the root directory) of the USB memory.
Of the libraries in this directory, copy the following to the USB memory. Create a directory lib to place the library in the USB memory.
When copying the library of /usr/arm-linux-gnu/lib, change the name as follows.
Since Armadillo does not start the name server, please start the name server on another PC. For the option of corba.nameservers in rtc.conf, specify the address of the PC that started the name server.
If it is not mounted automatically, use the su command on VMware (ATDE2) terminal to become root and mount again.
(G)Directory structure of USB memory
After preparing the USB memory, the USB memory has the directory structure as shown below.
(G)Start executable file with Armadillo240&aname (start240);
Change the USB memory mount setting and library PATH setting, and move the executable file. You can operate Linux on Armadillo by connecting the PC and Armadillo with a serial cable and logging in from Linux serial console on Armadillo. Please proceed with the following easy method.
(G)Operate with minicom from ATDE2
From ATDE2, operate with terminal emulator program minicom. Connect the serial port of the PC and the serial port of Armadillo with a serial cable. For a PC without a serial port, you need to use a USB-serial conversion cable or the like. Refer to the Armadillo manual for how to connect the Armadillo serial cable.
Configure the VMware virtual machine's device as follows.
Please check the connection check.
Check the device status and check the port using Connection> Physical Serial Port. Start the terminal emulator minicom from the terminal of ATDE2.
(G)Operate with Windows terminal emulator (teraterm)
You can also connect to Armadillo's serial console from Windows using a terminal emulator such as TeraTerm. TeraTerm can be downloaded for free from here. Please start with the following setting.
When starting with the above setting, the login screen of Armadillo240 will be displayed. If it is not displayed, press Enter. Please proceed to the common operation after that.
(G)Common operation
Please plug the USB memory into Armadillo. Please log in as root (password: root) on Armadillo login screen. The default mount is an option (umous=111), which permission setting any user can not execute.
Once unmounted, it will be remounted with the -o rw option that can be written and executed.
You can also check from RtcLink.
In this method, you have to modify the setting every time you start Armadillo. In the next chapter, after Armadillo starts, it creates an image file that the RT component automatically starts and downloads it to Armadillo.
(G)Create an image file of Armadillo240
With the previous method, it is necessary to change the setting with the terminal emulator every time Armadillo starts up. In this case, use atmark-dist provided by AtmarkTechno, Inc, create an image file that RT component automatically starts after Armadillo240 start up, and download it to Armadillo.
(G)Development environment development
Use the environment of ATDE2 cross-compiled RT component as it is. Please download the following items on ATDE2.
(G)Build and configure atmark-dist
Here, we will create an image file of userland of Armadillo. By using the image file created here, you can start RT Component that was previously installed in USB memory automatically.
(G)How RT Component starts
Mount the USB memory to /home/openrtm/, and start Armadillo /home/openrtm/boot.sh. boot.sh starts the executable file through the library path in the USB memory.Please prepare the following files in the USB memory.
(G)atmark-dist Build
Please download atmark-dist and linux kernel, openrtm.patch on ATDE2 and expand it.
Copy openrtm.patch and apply the patch as follows.
(G)Download image file to Armadillo240
Download the generated userland image file romfs.img.gz to Armadillo240. Armadillo short the jumper pin (2), please turn on the power (Armadillo Hardware Manual please refer to p.16)
You can download from either VMware (ATDE2) or Windows.
(G)Download from ATDE2
Here to configure the device of VMware virtual machine before proceeding.
(G)Download from Windows
Please put downloader > win32 > Hermit.zip of CD-ROM bundled with Armadillo240 on Widows.
(G)Execution/confirmation of RT component
Start RTCLink and confirm start of RT component.
(G)Application example
(G)Armadillo + URG sensor
Combined with Armadillo and Hokuyo Electric URG sensor, it is a unit to easily construct a distributed sensor system. The URG sensor RT component works on Armadillo. (RTC starts automatically at the same time as Armadillo power is turned on.) By using Armadillo compatible with PoE (Power over Ether), communication and power supply are possible only with the LAN cable. The URG sensor also operates with power supply from PoE. Sensor arrangement is possible with only one cable, so you can easily construct a distributed sensor system.