Infraestrutura para suporte as materias de Engenharia da Computação
Guias e tutorias de infra estão em tutoriais.
É importante que você tenha os drivers da sua placa de vídeo devidamente instalados e configurados.
Antes de clonar este repositório, certifique-se de ter instalado o git e git-lfs e o oh-my-bash.
Se ainda não tiver instalado, siga os passos abaixo, caso contrario, pode pular esta etapa:
1.Abra um novo terminal Ctrl+Alt+T e digite:
sudo apt install -y git
sudo apt install -y curl
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get -y install git-lfs
git lfs install
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmybash/oh-my-bash/master/tools/install.sh)"
- Ubuntu 20.04.1 LTS (Focal Fossa)
Execute no terminal os comandos a seguir, o Quartus necessita de dependências da arquitetura i384.
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install gcc make libxft2:i386 libxext6:i386 \
libncurses5:i386 libstdc++6:i386 libpng-dev \
libpng16-16:i386 libpng16-16 python-gobject libnotify-bin
Instale o canberra-gtk-module:
$ sudo apt-get install libcanberra-gtk-module
The simplest way is to build and install libpng12 from source (requires build-essential). Install build-essential (to get gcc etc): sudo apt install build-essential Download the source code from sourceforge (select a suitable version and tar archive). Unpack the tar archive to /tmp Build and install:
cd $HOME/Downloads/libpng-1.2.59
./configure --prefix=/usr/local
make
sudo make install
sudo ldconfig
Faça o download dos arquivos a seguir (salve na mesma pasta todos os arquivos):
-
Quartus Lite 20.01 : http://download.altera.com/akdlm/software/acdsinst/20.1std/711/ib_installers/QuartusLiteSetup-20.1.0.711-linux.run
-
Cyclone V (Chip usado no curso) : http://download.altera.com/akdlm/software/acdsinst/20.1std/711/ib_installers/cyclonev-20.1.0.711.qdz
Abra o terminal na pasta que os arquivos foram salvos e execute os dois comandos a seguir:
chmod +x QuartusLiteSetup-20.1.0.771-linux.run
./QuartusLiteSetup-20.1.0.771-linux.run
Grave o caminho na qual o Quartus foi instalado, ele será utilizado na próxima etapa.
Se o Quartus falhar na instalação, mova o modelsim dessa pasta e instale novamente. Depois será necessário instalar o modelsim a parte.
- Editar vco
Vamos editar o arquivo vco
que está na pasta do modelsim (exe: $HOME/intelFPGA_lite/20.1/modelsim_ase/vco
):
$ sudo sed -i '209 a\ 4.[0-9]*) vco="linux" ;;' $HOME/intelFPGA_lite/20.1/modelsim_ase/vco
- Libfreetype 6.10.1 (versão 2.6)
Será necessário carregarmos uma versão anterior dessa lib. Seguir os passos nesse roteiro ou fazer o download de uma versão pré compilada pelo Corsi
$ cd ~/Downloads
$ wget https://github.com/Insper/Z01-tools/raw/master/Extra/Libfreetype-6.10.1-lib32.tar.gz
$ mkdir $HOME/intelFPGA_lite/20.1/modelsim_ase/lib32
$ tar zxf Libfreetype-6.10.1-lib32.tar.gz -C $HOME/intelFPGA_lite/20.1/modelsim_ase/lib32
Adicione ao final do bashrc
a seguinte linha:
export LD_LIBRARY_PATH=$HOME/intelFPGA_lite/20.1/modelsim_ase/lib32
Para o gravador Jtag blaster funcionar
$ sudo apt-get install libudev1:i386
$ sudo ln -sf /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.0
Execute o comando a seguir para criar o arquivo de regra:
$ sudo gedit /etc/udev/rules.d/51-altera-usb-blaster.rules
Adicione as seguintes linhas a esse arquivo criado e salve:
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6001", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6002", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6003", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6010", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6810", MODE="0666"
Recarrege o as permissões via o comando a seguir:
$ sudo service udev restart
Abra o seu bashrc
code ~/.bashrc
Adicione ao final do bashrc
as seguintes linhas:
export ALTERAPATH=$HOME/intelFPGA_lite/20.1
export PATH=$PATH:${ALTERAPATH}/quartus/bin
export PATH=$PATH:${ALTERAPATH}/modelsim_ase/linuxaloem/
export PATH=$PATH:${ALTERAPATH}/modelsim_ase/lib32
export VUNIT_MODELSIM_PATH=${ALTERAPATH}/modelsim_ase/linuxaloem/
export VUNIT_SIMULATOR=modelsim
export QSYS_ROOTDIR="$HOME/intelFPGA_lite/20.1/quartus/sopc_builder/bin"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${ALTERAPATH}/modelsim_ase/lib32
Se você alterou o caminho de instalação na etapa do Quartus
, deve modificar a primeira linha inserindo o caminho da instalação.
Reinicie o computador (ou máquina virtual) para concluir a instalação
- Quartus: Escreva
quartus
no terminal, o mesmo deve abrir a janela do Quartus - Programador: Com a FPGA plugada no pc, digite
jtagconfig
ele deve aparecer o device. - Modelsim: Escreva
vsim
no terminal, o mesmo deve abrir a janela do ModeolSim
Para a mensagem de erro "error message it is clear that libfontconfig.so tries to use function called FT_Done_MM_Var and is unable to find it."
Primeiro instale esses pacotes:
sudo apt install -y automake
sudo apt install -y libxml2-dev:i386 uuid-dev:i386
sudo apt install -y libtool
sudo apt install -y gperf
sudo apt install -y gettext
sudo apt install -y itstool
sudo apt install -y libfreetype6-dev
sudo apt install -y uuid
sudo apt install -y uuid-dev
Clone o seguinte repositório na sua pasta de Downloads:
cd ~/Downloads
git clone https://gitlab.freedesktop.org/fontconfig/fontconfig.git
Troque para a seguinte branch
cd ~/Downloads/fontconfig
git checkout -b 2.12.92 2.12.92
Configure o autogen para rodar com o python3
sed -i 's/PYTHON=${PYTHON-python}/PYTHON=${PYTHON-python3}/g' $HOME/Downloads/fontconfig/autogen.sh
Rode o autogen.sh
./autogen.sh
Quando aparecer a mensagem Press Return to acknowledge the previous two paragraphs., pressione Enter no terminal
Quando aparecer a mensagem Now type 'make' to compile Fontconfig.
make
sudo make install
Mova os arquivos que ja foram configuradas do modelsim, pra não ter que fazer novamente
mv $HOME/intelFPGA_lite/20.1/modelsim_ase/vco $HOME/intelFPGA_lite/20.1/
mv $HOME/intelFPGA_lite/20.1/modelsim_ase/lib32 $HOME/intelFPGA_lite/20.1/
Desinstale o modelsim
exec $HOME/intelFPGA_lite/20.1/uninstall/modelsim_ase-20.1.0.711-linux-uninstall.run
rm -rf $HOME/intelFPGA_lite/20.1/modelsim_ase/
Reinicie o computador
sudo reboot
Instale o Modelsim novamente
exec $HOME/Downloads/ModelSimSetup-20.1.0.711-linux.run
Devolva os arquivos configurados pro lugar
mv $HOME/intelFPGA_lite/20.1/vco $HOME/intelFPGA_lite/20.1/modelsim_ase
mv $HOME/intelFPGA_lite/20.1/lib32 $HOME/intelFPGA_lite/20.1/modelsim_ase
Em um novo terminal, teste o Modelsim novamente
vsim
Caso ainda tenha problemas, entre em contato com a gente!
Lícia Sales Email: liciascl@insper.edu.br Teams: liciascl1
Arnaldo Junior Email: arnaldoavj@insper.edu.br Teams: arnaldo.junior2
Antes de mais nada, configure seu ambiente
Abra o seu bashrc
code ~/.bashrc
Adicione ao final do bashrc
as seguintes linhas:
##########################
# 3.o Semestre Comp. #
##########################
#############
# Robotica #
#############
export IPBerry=192.168.50.250
# CANCELE com # as linhas ROS_MASTER_URI e ROS_IP se estiver usando com Gazebo, Sphinx ou Bebop
#export ROS_MASTER_URI="http://"$IPBerry":11311"
#export ROS_IP=`hostname -I`
#escolha qual o modelo robo sera usado no simulador
export TURTLEBOT3_MODEL=burger
#export TURTLEBOT3_MODEL=waffle_pi
#importar corretamente o robo no Rviz
export LC_NUMERIC="en_US.UTF-8"
export GAZEBO_MODEL_PATH=$HOME/catkin_ws/src/my_simulation/models:
# PATH usado para o drone
#export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/ros/noetic/lib/parrot_arsdk/
export PYTHONPATH=/usr/local/python:/usr/lib/python:$PYTHONPATH:
# PATH Gazebo
export GAZEBO_MODEL_PATH=$HOME/catkin_ws/src/my_simulation/models:${GAZEBO_MODEL_PATH}
#Garra
alias abre_garra="rostopic pub -1 servo_garra/command std_msgs/String "abre""
alias fecha_garra="rostopic pub -1 servo_garra/command std_msgs/String "fecha""
alias stop_garra="rostopic pub -1 servo_garra/command std_msgs/String "stop""
#Braço
alias sobe_braco="rostopic pub -1 servo_braco/command std_msgs/String "sobe""
alias desce_braco="rostopic pub -1 servo_braco/command std_msgs/String "desce""
alias recolhe_braco="rostopic pub -1 servo_braco/command std_msgs/String "recolhe""
alias stop_braco="rostopic pub -1 servo_braco/command std_msgs/String "stop""
#Camera
alias sobe_camera="rostopic pub -1 servo_camera/command std_msgs/String "sobe""
alias desce_camera="rostopic pub -1 servo_camera/command std_msgs/String "desce""
alias stop_camera="rostopic pub -1 servo_camera/command std_msgs/String "stop""
# ROS 1
source /opt/ros/noetic/setup.bash
source $HOME/catkin_ws/devel/setup.bash
Faça o Download deste script com o comando abaixo:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/Insper/404/master/scripts_robotica/opencv_4_5_Ubuntu_20_04.sh)"
Para validar a instalação do Opencv digite no terminal:
python3
import cv2
cv2.__version__
quit()
A resposta deve ser "'4.5.0'"
Faça o Download deste script com o comando abaixo:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/Insper/404/master/scripts_robotica/install_ros_noetic.sh)"
Para validar a instalação do ROS Noetic, digite no terminal:
cd catkin_ws/
catkin_make
A resposta deve ser algo parecido com isso:
Caso tenha algum problema, entre em contato com a gente!
Lícia Sales Email: liciascl@insper.edu.br Teams: liciascl1
Arnaldo Junior Email: arnaldoavj@insper.edu.br Teams: arnaldo.junior2
Referências: https://j-marjanovic.io/new-ubuntu-old-problems-with-modelsim.html
http://wiki.ros.org/noetic/Installation/Ubuntu
http://milq.github.io/install-opencv-ubuntu-debian
https://gist.github.com/PrieureDeSion/e2c0945cc78006b00d4206846bdb7657#stage-2
https://github.com/Insper/404/blob/master/scripts_robotica/Instala_infra_robotica.sh
https://github.com/Insper/404/blob/master/scripts_robotica/install_opencv4.sh