ackerbot

 

Github Repositories for this Project

https://github.com/inaciose/ackerbot_firmware

https://github.com/inaciose/ackerbot

https://github.com/inaciose/ackerbot_esp32

 

Dependências

https://github.com/inaciose/jetson_camera

sudo apt install ros-melodic-gps-common

sudo apt install ros-noetic-gps-common

Comandos básicos

roslaunch ackerbot free_drive.launch

Sessões

No dia 1 de Agosto de 2021 foram feitos os primeiros testes de condução autónoma do robot com direcção ackermann.

Testes de 24 de Agosto de 2021 no radiomaker.space.

 

Scripts e commandos usados

Comandos úteis

nmap -sn 192.168.1.0/24

sudo ip addr add 192.168.0.166/24 broadcast 192.168.0.255 dev ens33

Ligação a uma nova rede wifi

Login pela consola Serial do jetson nano por cabo FTDI, ligado aos pinos RX, TX & GND disponíveis por baixo do modulo (. . R T . . G . …)

Lista as redes wifi disponíveis

nmcli d wifi list

Ligar a um SSID com PASSWORD

sudo nmcli dev wifi connect SSID password PASSWORD

Adicionar um IP extra

nmtui

Usar a interface d o nmtui para adicionar o ip extra.

Eventualmente pode ser usado algo parecido com o comando abaixo

sudo ip addr add 192.168.0.64/24 broadcast 192.168.0.255 dev ens33

 

No computador remoto

source jnrosmaster.bash

jnrosmaster.bash
export ROS_MASTER_URI=http://192.168.1.64:11311

ROS mobile

http://wiki.ros.org/ROS-Mobile

https://github.com/ROS-Mobile/ROS-Mobile-Android

Experiencia na execução de PCBs com CNC3018

Design no eagle para nova placa para o microcontrolador.

Esquema – akbesp32v1-05-esquema

Board – akbesp32v1-05-board

 

Rosserial TCP

Quando o node rosserial estabelece ligação tcp com a o microcontrolador a correr um programa preparado para o rosserial é exibida a seguinte mensagem informativa do ip do microcontrolador.

[INFO] [1629761354.148552]: Established a socket connection from 192.168.1.136 on port 53589

Este ip pode ser usado para fazer o upload de um novo programa para o mcu por OTA.

Required packages

sudo apt install ros-melodic-usb-cam
sudo apt install ros-melodic-rosserial

pip3 install matplotlib
#Successfully installed cycler-0.10.0 kiwisolver-1.3.1 matplotlib-3.3.4 numpy-1.19.5 pillow-8.3.1 pyparsing-2.4.7 python-dateutil-2.8.2 six-1.16.0

pip3 install scikit-learn
#Successfully installed joblib-1.0.1 numpy-1.19.5 scikit-learn-0.24.2 scipy-1.5.4 threadpoolctl-2.2.0

#pip3 install imgaug
#ModuleNotFoundError: No module named ‘skbuild’

pip install scikit-build
#Successfully installed distro-1.5.0 packaging-21.0 pyparsing-2.4.7 scikit-build-0.11.1 setuptools-57.4.0 wheel-0.36.2

pip3 install imgaug
#Successfully installed Pillow-8.3.1 PyWavelets-1.1.1 Shapely-1.7.1 cycler-0.10.0 decorator-4.4.2 imageio-2.9.0 imgaug-0.4.0 kiwisolver-1.3.1 matplotlib-3.3.4 networkx-2.5.1$

pip3 install tensorflow

 

rosrun rosserial_python serial_node.py tcp

# important before run
source ~/catkin_build_ws/install/setup.bash –extend

# run basic
roslaunch ackerbot mlwrite_data_lanefollow.launch
roslaunch ackerbot mltraining_lanefollow.launch
roslaunch ackerbot mldriving_lanefollow.launch

 

 

https://github.com/espressif/esptool/wiki/ESP32-Boot-Mode-Selection

https://docs.platformio.org/en/latest/platforms/espressif32.html

 

 

https://github.com/peter-moran/jetson_csi_cam

Install gscam with gstreamer-1.0 support

cd ~/catkin_ws/src
git clone https://github.com/ros-drivers/gscam.git
cd ~/catkin_ws
catkin_make

 

https://github.com/sfalexrog/jetson_camera

roslaunch jetson_camera jetson_camera.launch

jetson nano ubuntu 18.04 ros melodic python3

configuration for jetson nano ubuntu 18.04 ros melodic python3 for nvidia-jetpack 4.5.1 for tensorflow 2.5.0 cuda gpu

# first i follow this page but it was some what strange the remove and reinstal
https://dhanoopbhaskar.com/blog/2020-05-07-working-with-python-3-in-ros-kinetic-or-melodic/

# then I follow this page
https://medium.com/@beta_b0t/how-to-setup-ros-with-python-3-44a69ca36674
https://github.com/betab0t/ros_python3_issues

# the cv_bridge problem i used this page

Compiling ROS cv_bridge with Python 3

# what i have done was more or less this

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3

#
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential

#sudo apt-get install python-catkin-tools python3-dev python3-numpy
sudo apt-get install python-catkin-tools python3-dev python3-catkin-pkg-modules python3-numpy python3-yaml ros-melodic-cv-bridge

mkdir -p ~/catkin_build_ws/src && cd ~/catkin_build_ws
catkin config -DPYTHON_EXECUTABLE=/usr/bin/python3 -DPYTHON_INCLUDE_DIR=/usr/include/python3.6m -DPYTHON_LIBRARY=/usr/lib/aarch64-linux-gnu/libpython3.6m.so
catkin config –install

cd src
#git clone -b melodic https://github.com/ros-perception/vision_opencv.git
git clone -b noetic https://github.com/ros-perception/vision_opencv.git

#apt-cache show ros-melodic-cv-bridge | grep Version
#Version: 1.13.0-0bionic.20210506.020113

cd vision_opencv/

#git checkout 1.13.0

cd ../../

nano /home/inaciose/catkin_build_ws/src/vision_opencv/cv_bridge/CMakeLists.txt

# line 16 (or near)
# find_package(Boost REQUIRED python37)

to

# find_package(Boost REQUIRED python3)

catkin build cv_bridge

source ~/catkin_build_ws/install/setup.bash –extend

# other links
https://www.programmersought.com/article/93196809260/
https://stackoverflow.com/questions/54094876/ros-melodic-installation-with-python-3-only-and-without-messing-up-system-librar