Uncategorised
ROS2
- Détails
- Clics : 797
VirtualBox
1. Installer le CD add-on (CD des additions invité) ici
2. Si il y a une erreur:
2.1. sudo apt install gcc make perl -y
2.2. cd /media/ros2/VBox_GAs_6.1.50/
2.3. sudo ./VBoxLinuxAdditions.run
2.4. sudo reboot
Installation de ROS2 iron
TP1: Turtle
Dans une 1ère fenêtre (Ctrl + Alt + t)
1. cd ros2_iron/install/
2. source local_setup.bash
3. ros2 run turtlesim turtlesim_node
note1: ros2 node list
permet d'observer le nom du node: ici turtlesim
note2: ros2 topic list
permet d'observer les topic disponibles: ici
/parameter_events
/rosout
/turtle1/cmd_vel
/turtle1/color_sensor
/turtle1/pose
note3: Consultez cette page pour comprendre le fonctionnement des topics
note4: ros2 topic list -t
permet d'observer les topics disponibles mais aussi leur type: ici/parameter_events
[rcl_interfaces/msg/ParameterEvent]
/rosout [rcl_interfaces/msg/Log]/turtle1/cmd_vel
[geometry_msgs/msg/Twist]/turtle1/color_sensor
[turtlesim/msg/Color]/turtle1/pose
[turtlesim/msg/Pose]
note5: ros2 topic info /turtle1/cmd_vel (par exemple) nous affiche les informations suivantes:Le type de message + Le nombre de publicateur (UK: publisher) (normalement 0) +Le nombre d'abonnés (UK: subscribers) (devrait être 1, ou 2 si vous fonctionnez en même temps avec des versions Python et C++).
Exemple: ros2 topic info /turtle1/cmd_vel
Type: geometry_msgs/msg/Twist
Publisher count: 0
Subscription count: 1
note6: ros2 interface show turtlesim/msg/Pose (par exemple) nous affiche quelques informations comme:
Exemple: ros2 interface show turtlesim/msg/Pose
float32 x
float32 y
float32 theta
float32 linear_velocity
float32 angular_velocity
Dans une 2nde fenêtre (Ctrl + Alt + t) ou dans un 2nd onglet (Ctrl + Shift + t)
4. cd ros2_iron/install/
5. source local_setup.bash
6. ros2 run turtlesim turtle_teleop_key
: On commande bien le node turtlesim. Ainsi, on peut commander la tortue avec le clavier.
7. Il est envisageable de publier dans le topic comme ci-dessous:
ros2 topic pub /turtle1/cmd_vel geometry_msgs/msg/Twist "linear:
x: 0.5
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.5"
note7: il est également possible d'effectuer un rosbag (ros2bags) pour rejouer la séquence plus tard.
[SOURCE]
RoboCamp (www.snoeck.fr)
- Détails
- Clics : 1499
Câblage de la carte Arduino avec la LED: 2 montages possibles
Exo 1:
/*
Blink at ISTY
Turns 3 LED on for one second, then off for one second, repeatedly.
I tested this program at ISTY
25/01/2024
*/
const int led_verte=13, led_orange=12, led_rouge=11;
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(led_rouge, OUTPUT);
pinMode(led_verte, OUTPUT);
pinMode(led_orange, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(led_rouge, HIGH); // turn the LED on (HIGH is the voltage level)
digitalWrite(led_verte, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led_rouge, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
digitalWrite(led_verte, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
Exo 2:
/*
Blink at ISTY
A pushbutton turns 3 LED on or off
I tested this program at ISTY
25/01/2024
*/
//paramétrage des entrées
const int bp=10;
//paramétrage des sorties
const int led_verte=13, led_orange=12, led_rouge=11;
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin bp as an input.
pinMode(bp, INPUT_PULLUP);
// initialize digital pin LED_BUILTIN as an output.
pinMode(led_rouge, OUTPUT);
pinMode(led_verte, OUTPUT);
pinMode(led_orange, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
if (digitalRead(bp) == HIGH)
{
digitalWrite(led_rouge, HIGH);
digitalWrite(led_verte, HIGH); // turn the LED on (HIGH is the voltage level)
delay(100);
}
}
else
{
digitalWrite(led_rouge, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
digitalWrite(led_verte, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
}
Linux
- Détails
- Clics : 965
Dans le terminal (Ctrl + Alt + T) et pour un nouvel onglet (Ctrl + Shift + T)
ls: Affiche le contenu d'un répertoire.
ls -a : all. Affiche les fichiers cachés aussi
ls -l : long. Donne la liste détaillées
cd: Change le répertoire courant.
. (répertoire courant). C'est le répertoire dans lequel vous êtes actuellement.
.. (répertoire parent). Vous amène dans le répertoire au dessus de votre répertoire courant.
~ (répertoire home). Ce répertoire conduit à votre "répertoire maison" par défaut (on parle de "home"). Comme /home/pete.
- (répertoire précédent). Il vous conduira au répertoire précédent dont vous venez.
pwd: Affiche le chemin absolu du répertoire courant.
mkdir: Crée un nouveau répertoire.
mkdir document
mkdir -p document/livres
rm: Supprime un fichier ou un répertoire.
rm -f : force à supprimer les fichiers protégés ou pas, sans confirmation
rm -i : demande la confirmation avant la suppression (interactif)
rm -r: supprime un réperetoire en récursif: il supprime les sous-répertoires
rmdir: supprime un répertoire
cp: Copie des fichiers ou des répertoires.
cp monfichiercool /home/pete/Documents/docscool
cp *.jpg /home/pete/Pictures
cp -r Pumpkin/ /home/pete/Documents
cp -i monfichiercool /home/pete/Pictures
mv: Déplace des fichiers ou des répertoires.
cat: Affiche le contenu d'un fichier.
grep: Recherche une chaîne de caractères dans un fichier ou une sortie de commande.
find: Recherche des fichiers et des répertoires en fonction de critères spécifiques.
chmod: Modifie les permissions d'un fichier ou d'un répertoire.
chown: Modifie le propriétaire d'un fichier ou d'un répertoire.
tar: Crée ou extrait des fichiers d'archive au format tar.
ssh: Se connecte à un serveur distant en utilisant le protocole SSH.
top: Affiche les processus en cours d'exécution et les statistiques système en temps réel.
ps: Affiche les processus en cours d'exécution.
kill: Envoie un signal à un processus pour le terminer.
wget: Télécharge des fichiers à partir du Web.
ping: Vérifie la connectivité réseau avec une adresse IP ou un nom de domaine.
ifconfig: Affiche ou configure les interfaces réseau.
touch: changement horodatage des fichiers
Copier des répertoires sans copier leur contenu:
1/ Il faut se placer dans le répertoire parent
2/ find * -type d -exec mkdir -p ~/Documents/Cloud_UVSQ_2022-2023/{} \;
NB/ Cloud_UVSQ_2022-2023 est le répertoire de destination
Se renseigner sur une commande : man votrecommande
Des éditeurs de texte :
-
nano
-
gedit
-
featherpad
-
…..
PYTHON:
Pour installer la version 3.12 de python, voici les commandes:
sudo apt update && sudo apt upgrade -y
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:deadsnakes/ppa
Note: le PPA deadsnakes contient la version la plus récente de Python pour Ubuntu
sudo apt update
sudo apt install python3.12
python3.12 --version
> 3.12.2 (en mars 2024)
Pour mettre à jour PIP:
curl -sS https://bootstrap.pypa.io/get-pip.py | python3.12
pip3.12 -V
> pip 24.0 from /home/ros/.local/lib/python3.12/site-packages/pip (python 3.12)
Ne pas supprimer les vieilles versions de Python car trop de dépendances avec ROS... (https://www.askpython.com/python/examples/uninstall-python-3-7-ubuntu)
VirtualBox
1. Installer le CD add-on (CD des additions invité) ici
2. Si il y a une erreur:
2.1. sudo apt install gcc make perl -y
2.2. cd /media/ros2/VBox_GAs_6.1.50/
2.3. sudo ./VBoxLinuxAdditions.run
2.4. sudo reboot
Installation de ROS2 iron
Formation sur l'électronique (ADESFA)
- Détails
- Clics : 1349
Bienvenue dans le module de cours sur les bases de l'électronique, autour des microcontrôleurs
1ère séance: Mardi 31 octobre
Il s'agit de la présentation sur la commande d'actionneurs avec les cartes à microcontrôleurs. Cette séance s'est passée en présentiel à l'ENIT
Le document de cours est ici