Full text
Equation Chapter 1 Section 1 Autor: Jesús Tamarit Domínguez Tutor: Federico Cuesta Rojo
Resumen Abstract
• • • •
$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/roslatest.list'
& sudo apt-key adv --keyserver hkp://ha.pool.skskeyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116 $ sudo apt-get update $ sudo apt-get install ros-melodic-desktop-full $ source /opt/ros/melodic/setup.bash $ mkdir -p ~/catkin_ws/src $ cd ~/catkin_ws/ $ catkin_make $ source devel/setup.bash •
• • $ catkin_create_pkg nombre_paquete dependencias • •
•
• • • • •
& sudo apt-get install build-essential libtinyxml-dev libboostall-dev cmake mercurial pkg-config & sudo apt-get install libsdformat2-dev • <link name='base'> • <pose>0 0 0.5 0 0 0</pose> • <visual name='visual_base'> <geometry>
<mesh> <uri>model://andruino_description/meshes/base.stl</uri> <scale>0.01 0.01 0.01</scale> </mesh> </geometry> <material> <ambient>0.8 0 0 1.0</ambient> <diffuse>0.8 0 0 1.0</diffuse> </material> </visual> • <collision name='collision_base'> <geometry> <mesh> <uri>model://andruino_description/meshes/collision_base.stl </uri> <scale>0.01 0.01 0.01</scale> </mesh> </geometry> </collision> <surface> <friction> <ode> <mu>0</mu> <mu2>0</mu2> <slip1>1.0</slip1> <slip2>1.0</slip2> </ode>
</friction> </surface> • <inertial> <mass>0.3</mass> <inertia> <ixx>2.423</ixx> <ixy>0</ixy> <ixz>0.255</ixz> <iyy>3.557</iyy> <iyz>0</iyz> <izz>3.410</izz> </inertia> </inertial> • • <sensor type="ray" name="hc_sr04_1"> <pose>0.4575 0.40 0.78 0 0.175 0.7854</pose> <visualize>true</visualize> <update_rate>30</update_rate> <ray> <scan> <horizontal> <samples>32</samples> <resolution>1</resolution> <min_angle>-0.3926991</min_angle> <max_angle>0.3926991</max_angle> </horizontal>
$ rosrun rqt-graph rqt-graph
$ rosrun rqt_image_view rqt_image_view /camera/image $ rosrun rqt-tf-tree rqt-tf-tree
$rosrun rviz rviz $ roslaunch gazebo2rviz gazebo2rviz.launch
Nombre_variable = cantidad; &fn = 100; •
• • • • • • • •
• • • •
35
<plugin name="camera_controller" filename="libgazebo_ros_openni_kinect.so"> <pose>0.01 0 0 0 0 0</pose> <alwaysOn>true</alwaysOn> <updateRate>30.0</updateRate> <cameraName>camera</cameraName> <frameName>camera_link</frameName> <imageTopicName>image</imageTopicName> <depthImageTopicName>depth/image</depthImageTopicName> <pointCloudTopicName>depth/points</pointCloudTopicName> <cameraInfoTopicName>camera_info</cameraInfoTopicName> <depthImageCameraInfoTopicName>depth/camera_info </depthImageCameraInfoTopicName> <pointCloudCutoff>0.4</pointCloudCutoff> <hackBaseline>0.07</hackBaseline> <distortionK1>0.0</distortionK1> <distortionK2>0.0</distortionK2> <distortionK3>0.0</distortionK3> <distortionT1>0.0</distortionT1> <distortionT2>0.0</distortionT2> <CxPrime>0.0</CxPrime> <Cx>0.0</Cx> <Cy>0.0</Cy> <focalLength>0.0</focalLength> </plugin>
<plugin name="hc_sr04_2_plugin" filename="libgazebo_ros_range.so"> <gaussianNoise>0.005</gaussianNoise> <always_on>true</always_on> <updateRate>30</updateRate> <topicName>hc_sr04_2</topicName> <frameName>hc_sr04_2</frameName> <frameId>hc_sr04_2</frameId> <fov>32</fov> <radiation>ultrasound</radiation> </plugin>
<plugin name="gazebo_ros_imu_controller" filename="libhector_gazebo_ros_imu.so"> <turnGravityOff>false</turnGravityOff> <alwaysOn>true</alwaysOn> <bodyName>IMU_link</bodyName> <frameName>IMU_link</frameName> <frameId>IMU_link</frameId> <topicName>imu</topicName> <serviceName>imu_service</serviceName> <gaussianNoise>0.0</gaussianNoise> <rpyOffsets>0 0 0</rpyOffsets> <updateRate>30.0</updateRate> </plugin>
<plugin name="differential_drive_controller" filename="libgazebo_ros_diff_drive.so"> <alwaysOn>true</alwaysOn> <updateRate>25.0</updateRate> <leftJoint>rueda_izquierda_joint</leftJoint> <rightJoint>rueda_derecha_joint</rightJoint> <wheelSeparation>1.5</wheelSeparation> <wheelDiameter>0.63</wheelDiameter> <torque>5</torque> <commandTopic>cmd_vel</commandTopic> <odometryTopic>odom</odometryTopic> <odometryFrame>odom</odometryFrame> <robotBaseFrame>base_link</robotBaseFrame> <rosDebugLevel>na</rosDebugLevel> <publishWheelTF>false</publishWheelTF> <publishOdomTF>true</publishOdomTF> <publishWheelJointState>false</publishWheelJointState> <wheelAcceleration>0</wheelAcceleration> <wheelTorque>5</wheelTorque> <odometrySource>1</odometrySource> <publishTf>1</publishTf> </plugin>
• • • • •
• •
• • $ gz sdf -k andruino_description/sdf/andruino.sdf
$ rosrun pysdf sdf2urdf.py andruino.sdf andruino.urdf $ urdf_to_graphiz andruino.urdf
• • • •
$ sudo nano ~/.ignition/fuel/config.yaml
$ source /devel/setup.bash $ export GAZEBO_MODEL_PATH=${GAZEBO_MODEL_PATH}: /home/kramertool/catkin_ws/src/ $ roslaunch andruino_gazebo andruino_world_circuito_deco.launch
$ roslaunch gazebo_multi_robot andruino.launch
$ rosrun gazebo_follower Follower_obstaculos andruino1
• $ roslaunch gazebo_multi_robot robots.launch • $ rosrun gazebo_follower Follower_obstaculos nombre_robot
$ catkin_make • • •