SO-ARM100 - Robotique éducative
Les bases d'un bras robot
https://docs.phospho.ai/learn/overview
Simulation et pilotage du SO-ARM100 avec ROS2
Attention avant d'utiliser le robot avec ROS2, il faut avoir calibré les servomoteurs, par ex. avec le script de calibration du projet LeRobot
https://github.com/JafarAbdi/ros2_so_arm100
Jumeau numérique
Pilotage de la simulation ou du vrai robot
https://github.com/tessel-la/robo-boy
Adapter le tuto suivant au SO-ARM100 : https://innovation.iha.unistra.fr/books/robotique-open-source/page/programmer-un-robot-avec-moveit2-jumeau-numerique
Contrôle des moteurs par un GUI de "jogging"
Joint Trajectory Controller
ros2 run rqt_joint_trajectory_controller rqt_joint_trajectory_controller
https://github.com/tessel-la/robo-boy
Contrôle de l'outil sans collisions via le plugin MoveIt de RViz
Cartesian Trajectory
ros2 launch so_arm100_moveit_config moveit_rviz.launch.py
Réalisation d'un programme en Python
# set plan start state to current state panda_arm.set_start_state_to_current_state() # set pose goal with PoseStamped message pose_goal = PoseStamped() pose_goal.header.frame_id = "panda_link0" pose_goal.pose.orientation.w = 1.0 pose_goal.pose.position.x = 0.28 pose_goal.pose.position.y = -0.2 pose_goal.pose.position.z = 0.5 panda_arm.set_goal_state(pose_stamped_msg=pose_goal, pose_link="panda_link8") # plan to goal plan_and_execute(panda, panda_arm, logger)
En utilisant l'environnement de développement Jupyter Notebook https://moveit.picknik.ai/main/doc/examples/jupyter_notebook_prototyping/jupyter_notebook_prototyping_tutorial.html
Pilotage du bras robot par LeRobot (IA, VR, etc.)
Environnement Python sous Windows ou Linux
Contrôle du bras par clavier ou manette
Avec LeRobot+Phospho https://docs.phospho.ai/basic-usage/teleop
ou avec ROS2+MoveIt2 https://moveit.picknik.ai/main/doc/examples/jupyter_notebook_prototyping/jupyter_notebook_prototyping_tutorial.html
Contrôle du bras par Oculus Quest
Depuis Windows :
- Appli Oculus Phospho https://docs.phospho.ai/examples/teleop
- 222€ https://www.meta.com/en-gb/experiences/phospho-teleoperation/8873978782723478/
Depuis Ubuntu avec ROS2 et moveit_servo :
- https://github.com/ZorAttC/franka_vr
- https://moveit.picknik.ai/main/doc/examples/realtime_servo/realtime_servo_tutorial.html
- https://github.com/rail-berkeley/oculus_reader
- Enable Oculus Quest development mode
- Always allow USB debugging from this computer
- Connexion USB (ADB) ou wifi
Autre : https://github.com/lts0429/teleoperation
Contrôle du bras via un modèle d'IA
https://docs.phospho.ai/basic-usage/inference
- Créer un compte huggingface.ia
- Sign In dans phosphobot
- Dans les paramètres, ajouter la clé d'API huggingface
- Par défaut l'inférence du modèle d'IA qui permet de piloter le robot depuis l'image des caméras tournera sur un GPU sur les serveurs de huggingface ou phospho
- On peut faire tourner l'inférence du modèle d'IA sur le PC local s'il a une bonne carte graphique NVidia
- Suivre ces instructions : https://github.com/phospho-app/phosphobot/tree/main/inference#setup-a-server
- Démarrer le serveur d'inférence uv
uv run ACT/server.py --model_id=<CHEMIN_VERS_LE_MODELE_LOCAL>
- Appeler le serveur d'inférence depuis un script python : https://docs.phospho.ai/basic-usage/inference#2-call-your-inference-server-from-a-python-script
Pilotage ST3215 depuis un ESP32 (embarqué, micro-ROS)
Sans utiliser la carte de contrôle Feetech/Waveshare
(5€) : https://github.com/sepastian/ESP32_ST3215
Pilotage bluetooth depuis un smartphone
Utiliser l'ESP32 pour faire l'interface bluetooth vers une télécommande smartphone ? Avec ou sans carte de contrôle officielle (cf. ci-dessus) ?
Micro-ROS avec bras robot
- approche pour grasping référencée capteur via un TOF-sensor
https://micro.ros.org/docs/tutorials/demos/openmanipulator_demo/
- Télécommander une pose relative de la pince via un capteur https://micro.ros.org/docs/tutorials/demos/moveit2_demo/
6-DoF Inertial Measurement Unit (LSM6DSL), composed of an accelerometer and a gyroscope, and a 3-DoF magnetometer (LIS3MDL). The fusion of the measurements fetched by these sensors outputs the pose, or relative orientation of the board with respect to a fixed reference frame.
No Comments