User Tools

Site Tools


Writing /var/lib/dokuwiki/data/meta/workshops/workshop-2016.meta failed
workshops:workshop-2016

Semana de la robotica 2016

Miercoles (NAOs, simulador robot humanoide)

Jueves (Microcontroladores, Impresora 3D, ROS)

Microcontroladores

Impresora 3D

ROS

Tutoriales de ROS en pdf

catkin_tutorials_create_a_workspace_-_ros_wiki.pdf

catkin_tutorials_creatingpackage_-_ros_wiki.pdf

rospy_tutorials_tutorials_writingpublishersubscriber_-_ros_wiki.pdf

talker.py

#!/usr/bin/env python
import rospy
from std_msgs.msg import String

def talker():
    pub = rospy.Publisher('chatter', String, queue_size=10)
    rospy.init_node('talker', anonymous=True)
    rate = rospy.Rate(10) # 10hz
    while not rospy.is_shutdown():
        hello_str = "hello world %s" % rospy.get_time()
        rospy.loginfo(hello_str)
        pub.publish(hello_str)
        rate.sleep()

if __name__ == '__main__':
    try:
        talker()
    except rospy.ROSInterruptException:
        pass

listener.py

#!/usr/bin/env python
import rospy
from std_msgs.msg import String

def callback(data):
    rospy.loginfo(rospy.get_caller_id() + "I heard %s", data.data)

def listener():

    # In ROS, nodes are uniquely named. If two nodes with the same
    # node are launched, the previous one is kicked off. The
    # anonymous=True flag means that rospy will choose a unique
    # name for our 'talker' node so that multiple talkers can
    # run simultaneously.
    rospy.init_node('listener', anonymous=True)

    rospy.Subscriber("chatter", String, callback)

    # spin() simply keeps python from exiting until this node is stopped
    rospy.spin()

if __name__ == '__main__':
    listener()

Retos!

Neato navigation

Simulador con gazebo o stage (Team Gazebo)
Conectividad, comunicación, visualización en rviz y control con joystick
Mapeo, localización y navegación autónoma

Construcción base

Armar el cuerpo
Armar la electrónica
Controlar la electrónica de los motores y sensores
Comunicación entre el microcontrolador y la PC
Modulo de ros o yarp
Controlar con un joystick

+++++++++++++++++++++++++++++++++++++++++++++++++++++Team Car+++++++++++++++++++++++++++++++++++++++++++++++++++++

Andrea-James-Ariel-Osvaldo-Mauricio-Marcos

Gear Motor Data Sheet : http://www.robotshop.com/media/files/pdf/datasheet-1442.pdf

STM32F4-Discovery Data Sheet: http://www.st.com/st-web-ui/static/active/en/resource/technical/document/data_brief/DM00037955.pdf

STM32F4-Discovery User Manual: http://www.st.com/st-web-ui/static/active/cn/resource/technical/document/user_manual/DM00039084.pdf

Tutoriales L298N Dual Motor Controller: http://electronilab.co/tutoriales/tutorial-de-uso-driver-dual-l298n-para-motores-dc-y-paso-a-paso-con-arduino/

http://tronixlabs.com/news/tutorial-l298n-dual-motor-controller-module-2a-and-arduino/

+++++++++++++++++++++++++++++++++++++++++++++++++++++Team JoyNeato+++++++++++++++++++++++++++++++++++++++++++++

Jose Carlos Hernandez Cascante

Francisco Garcia Lopez

Ricardo Ramirez Barquero

Connect a PS3 joystick to Ubuntu: http://wiki.ros.org/ps3joy/Tutorials/PairingJoystickAndBluetoothDongle

ps3joy Package Info: http://wiki.ros.org/ps3joy#ROS_API

Configuring and Using a Linux-Supported Joystick with ROS: http://wiki.ros.org/joy/Tutorials/ConfiguringALinuxJoystick

teleop_twist_joy Package Info: http://wiki.ros.org/teleop_twist_joy

workshops/workshop-2016.txt · Last modified: 2022/09/20 00:08 (external edit)