In this project we made a differential wheeled robot named AMiRo dock to a charging point autonomously.
The development environment is setup in ubuntu 16.04. The following steps are tried and tested in ubuntu 16.04.
-
cd ~/; sudo apt-get install cmake gcc-multilib
-
git clone <this_repo>
-
cd <this_repo>
-
cd src/amiro-blt
-
./setup
-
Select [B] - enter bootloaders setup
-
Select [S] - enter AMiRo-BLT setup
-
Select [S] - build SerialBoot tool
-
Select y - WARNING: SerialBoot has been built before. Delete and rebuild? [y/n]
-
Select [C] - enter compiler setup
-
Select [G] - enter GCC setup
-
Select [I] - install another version
-
Copy proper link from: [https://launchpad.net/gcc-arm-embedded/4.8/4.8-2014-q1-update]
FOR UBUNTU: https://launchpad.net/gcc-arm-embedded/4.8/4.8-2014-q1-update/+download/gcc-arm-none-eabi-4_8-2014q1-20140314-linux.tar.bz2 FOR MAC: https://launchpad.net/gcc-arm-embedded/4.8/4.8-2014-q1-update/+download/gcc-arm-none-eabi-4_8-2014q1-20140314-mac.tar.bz2 FOR Windows: https://launchpad.net/gcc-arm-embedded/4.8/4.8-2014-q1-update/+download/gcc-arm-none-eabi-4_8-2014q1-20140314-win32.exe
-
Installation directory: ~/opt/gcc-arm-none-eabi-4_8-2014q1
-
Link directory: ~/opt
-
Select [Q] - quit this setup
-
Add gcc path to .bashrc
echo "export PATH=$PATH:~/opt/" >> ~/.bashrc
-
Add SerialBoot path to .bashrc
echo "export SERIALBOOT="~/AMiRo_ROBOT_Autonomous_Docking_v1/src/amiro-blt/bootloader/AMiRo-BLT/Host/Source/SerialBoot/build/SerialBoot"" >> ~/.bashrc
-
source ~/.bashrc
-
cd ../amiro-os
-
cd devices
-
make all
-
make flash #Connect AMIRO via Serial before flashing
-
AMiRo needs the gcc version 4.8.3 [Make sure it is installed in your system]
-
Check gcc version by executing
$arm-none-eabi-gcc -v
-
Compiling code [ for more details, follow README.txt from amiro_os ]
$cd ./amiro-os/devices $make all
-
Flash code to AMiRo Robot
$make flash
-
Open ~/.gtktermrc
#Modify the following [AMiRo] port = /dev/ttyUSB0 speed = 115200 crlfauto = True #save and exit
-
$gtkterm -c AMiRo
$[Enter F8 to enter amiro cli]
#Keep amiro in deepsleep mode [it is like turning off the amiro] $shutdown d
Docker code location : <base_dir>/src/amiro-os/devices/DiWheelDrive/docker/docker_main.cpp