GithubHelp home page GithubHelp logo

moi6-23 / proyectos-ros Goto Github PK

View Code? Open in Web Editor NEW

This project forked from silviahernandez0505/proyectos-ros

0.0 0.0 0.0 7.89 MB

Proyectos ROS

Shell 0.17% C++ 36.01% Python 45.98% C 4.94% Processing 1.57% EmberScript 0.04% Makefile 0.64% CMake 10.64%

proyectos-ros's Introduction

Proyecto-ROS

1. IROBOT_CREATE

2. Comunicación ROS - Arduino

3. Tracking camara ROS - Arduino

Para estos trabajos se recomienda instalar Ubuntu 16.04 y ROS versión Kinetic, ya que más adelante en la instalación de demás dependencias puede generar conflictos.

Estos proyectos y documentación han sido desarrollados como parte del Curso de ROS impartido por parte del Ingeníero Hernán Hernández con usuario de github herohernan https://github.com/herohernan

1. IROBOT_CREATE

En este primer proyecto se explicará como controlar un irobot create por medio de ROS

Crear carpeta Catkin_ws y SRC

$ mkdir catkin_ws

$ cd catkin_ws

$ mkdir src

$ catkin_make

Al ejecutar catkin_make se crearán las carpetas build y devel Descargamos el paquete de turtlesim y el rbx1

$ git clone https://github.com/ros/ros_tutorials.git

$ git clone https://github.com/pirobot/rbx1.git

$ catkin_make

Se instalan las librerias requeridas

$ sudo apt.get install Python-rosinstall

$ sudo apt-get install ros-kinetic-turtlebot

$ sudo apt-get install ros-kinetic-arbotix

En este punto ya se tiene todo instalado, verificamos el puerto en el que esta conectado el irobot

Consola 1:

$ cd/dev/ls

$ sudo chmod 777 <puerto_serie>

Consola 2:

$ roscore

Consola 3:

$ roslaunch rbx1_bringup turtlebot_minimal_create.launch

Pueden aparecer varias advertencias, esto pasa mientras se establece conexión con el irobot. También, puede que genere un error en donde dice revisar la batería del irobot, sin embargo, esto se puede solucionar dejando el irobot conectado a su cargador.

Para rectificar si hay una conexión completa se revisa que las tres luces del cable de puerto serie estén encendidas Captura de pantalla 2022-05-27 195059

Comando para mover el irobot con las teclas.

$ rosrun turtlesim turtle_teleop_key /turtle1/cmd_vel:=/cmd_vel
Irobot_create.mp4

2. COMUNICACIÓN ARDUINO - ROS

En este proyecto se desarrollará una comunicación entre python y arduino, creando nodos propios de ros, donde arduino sera el publicador y python el suscriptor.

$ roscd beginner_tutorials
$ mkdir scripts
$ cd scripts

Para tener una base se descargaran los ejemplos .py y se guardarán en scripts. El primero de ellos es el topic de talker y el segundo es listener

$ wget https://raw.github.com/ros/ros_tutorials/kinetic-devel/rospy_tutorials/001_talker_listener/talker.py
$ chmod +x talker.py
$ wget https://raw.github.com/ros/ros_tutorials/kinetic-devel/rospy_tutorials/001_talker_listener/listener.py
$ chmod +x listener.py

Luego de esto, editamos los permisos en el archivo CMakeLists.txt que se encuentra en la carpeta beginner_tutorials. Agregamos lo siguiente

catkin_install_python(PROGRAMS scripts/talker.py

DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}

)

catkin_install_python(PROGRAMS scripts/talker.py scripts/listener.py

DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}

)

Ejecutamos

$ cd ~/catkin_ws
$ catkin_make

Se deben instalar los drivers de arduino y las respectivas librerias de ROS, para este paso puede guiarse del siguiente link http://wiki.ros.org/rosserial_arduino/Tutorials/Arduino%20IDE%20Setup

Creamos los archivos necesarios para tener la comunicación, se enviarán datos enteros, flotantes y booleanos desde arduinos asi que existiran los siguientes archivos:

  1. Codigo de arduino donde se inicia el nodo de Serial_node. Este se encuentra en la carpeta codigos_arduino y codigo.

  2. En la carpeta beginner_tutorials hay archivos llamados Nodo1, Nodo2, Nodo3, Nodo4, Nodo5, Nodo6 y talker

Nodo 1: Recibe el dato entero de arduino y lo envia en tipo String al Nodo 4.

Nodo 2: Recibe el dato flotante de arduino y lo envia en tipo String al Nodo 5.

Nodo 3: Recibe el dato booleano de arduino y lo envia en tipo String al Nodo 6.

talker: Recibe los datos del nodo 4, 5 y 6 y los publica en el terminal.

La explicación de los nodos estan en el código, sin embargo, los códigos en el que se detallan los codigos es el Nodo 1 y el Nodo 4.

Editamos los permisos en el archivo CMakeLists.txt que se encuentra en la carpeta beginner_tutorials. Agregamos lo siguiente

catkin_install_python(PROGRAMS scripts/Nodo1.py

DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}

)

catkin_install_python(PROGRAMS scripts/Nodo2.py DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} )

catkin_install_python(PROGRAMS scripts/Nodo3.py

DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}

)

catkin_install_python(PROGRAMS scripts/Nodo4.py

DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}

)

catkin_install_python(PROGRAMS scripts/Nodo5.py

DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}

)

catkin_install_python(PROGRAMS scripts/Nodo6.py

DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}

)

Ejecutamos

$ cd ~/catkin_ws
$ catkin_make

Luego para correr los programas se ejecutan los siguientes comandos

Consola 1:

$ roscore

Consola 2:

$ rosrun rosserail_python serial.node.py /dev/ttyUSB0 

El puerto puede ser USB0 o en otros casos ACM0 Consola 3:

$ cd catklin
$ source /devel/setup.bash
$ rosrun beginner_tutorials Nodo1.py

Consola 4:

$ rosrun beginner_tutorials Nodo2.py

Consola 5:

$ rosrun beginner_tutorials Nodo3.py

Consola 6:

$ rosrun beginner_tutorials Nodo4.py

Consola 7:

$ rosrun beginner_tutorials Nodo5.py

Consola 8:

$ rosrun beginner_tutorials Nodo6.py

Consola 9:

$ rosrun beginner_tutorials talker.py

3. Tracking camara ROS - Arduino

En este proyecto se trabajará con python y arduiino, el archivo de python se llama talker_cam.py y se encuentra en la carpeta beginner_tutorial. El codigo de arduino se llama servo y se encuentra en la carpeta codigos_arduino.

El proyecto consta de seguir el centro de un objeto de color rojo.

Los codigos estan explicados en sus respectivas carpetas.

Editamos los permisos en el archivo CMakeLists.txt que se encuentra en la carpeta beginner_tutorials. Agregamos lo siguiente

catkin_install_python(PROGRAMS scripts/talker_cam.py

DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}

)

Luego para correr los programas se ejecutan los siguientes comandos

Consola 1:

$ roscore

Consola 2:

$ rosrun rosserail_python serial.node.py /dev/ttyUSB0 

El puerto puede ser USB0 o en otros casos ACM0

Consola 3:

$ cd catklin
$ source /devel/setup.bash
$ rosrun beginner_tutorials talker_cam.py
Camara.mp4

proyectos-ros's People

Contributors

silviahernandez0505 avatar moi6-23 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.