[PYTHON] Essayez d'exécuter le simulateur 3D de Kobuki sur ROS

Il s'agit d'une suite de Exemple de ROS facile à exécuter sur une machine virtuelle. Lançons le simulateur 3D de Kobuki (un robot comme Rumba) dans Gazebo. (Le noir dans ↓ bouge) Enfin, je deviens plus comme un joueur de robot.

スクリーンショット 2016-12-16 3.19.16.png

Installation du simulateur de kobuki

Ajouter un référentiel Gazebo

Je l'ai installé jusqu'au bout et l'ai démarré, mais la version ne correspondait pas et je n'ai pas pu le démarrer. Reportez-vous à ce qui suit et ajoutez et mettez d'abord à jour le référentiel. Référence: Problème avec Indigo et Gazebo 2.2 --ROS Answers: Open Source Q & A Forum

$ sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu trusty main" > /etc/apt/sources.list.d/gazebo-latest.list'
$ wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
$ sudo apt-get update

Installation

$ sudo apt-get install -y ros-indigo-kobuki-gazebo

Démarrer (il suffit de vérifier la commande)

À la fin, tout commence en même temps, donc pour l'instant, vérifiez simplement les commandes.

$ roslaunch kobuki_gazebo kobuki_playground.launch

Créer un programme d'opération

Créer un modèle de package

Créez un modèle de package comme suit. kobuki_sample est arbitraire car c'est le nom du paquet à créer. rospy et std_msgs spécifient des paquets dépendants, mais vous pouvez les ajouter plus tard pour ne pas trop vous inquiéter.

$ cd ~/catkin_ws/src
$ catkin_create_pkg kobuki_sample rospy std_msgs

catkin_make

$ cd ~/catkin_ws
$ catkin_make
$ source ~/catkin_ws/devel/setup.bash

Créer un programme d'opération

Cela semble être une bonne idée de mettre le code source sous <package> / scripts.

$ mkdir -p ~/catkin_ws/src/kobuki_sample/scripts
$ roscd kobuki_sample/scripts
$ vi sample.py

Le programme ci-dessous est une version légèrement modifiée du programme dans les livres suivants. Au fait, c'est une licence BSD. La réputation d'Amazon est élevée et c'est en fait un livre d'introduction facile à lire et à comprendre. Conseillé.

 ROS Programmation du robot à partir du La programmation de robots a commencé avec ROS- "Framework" pour des robots gratuits I ・ O BOOKS)
Takashi Ogura

Engineering Co., Ltd. 2015-06-25
Classement des ventes: 15436

Voir les détails sur Amazon par G-Tools

sample.py


#!/usr/bin/env python

import rospy
from geometry_msgs.msg import Twist

# Node name
rospy.init_node("sample")

# Topic   : /mobile_base/commands/velocity
# Type    : Twist
# Options : queue_size=10
pub = rospy.Publisher("/mobile_base/commands/velocity", Twist, queue_size=10)

# Loop while not shutdown
while not rospy.is_shutdown():
	# construct Twist object
	vel  = Twist()
	
	# wait user input
	direction = raw_input("f: forward, b: backward, l: left, r: right q: quit > ")
	
	# decode commands
	if "f" in direction:
		vel.linear.x = +0.5 # forward
	
	if "b" in direction:
		vel.linear.x = -0.5 # backward
	
	if "l" in direction:
		vel.angular.z = +1.0 # rotate left
	
	if "r" in direction:
		vel.angular.z = -1.0 # rotate right
	
	if "q" in direction:
		break # quit program
	
	# print detail
	print vel
	
	# publish
	pub.publish(vel)

Donner l'autorisation d'exécution

$ roscd kobuki_sample/scripts
$ chmod 755 sample.py

Essayez d'exécuter le simulateur

Exécutez ce qui suit dans l'environnement GUI.

$ roslaunch kobuki_gazebo kobuki_playground.launch

Exécutez les opérations suivantes dans un autre terminal.

$ roscd kobuki_sample/scripts
$ ./sample.py

Cela fonctionne lorsque vous faites fl ou rb.

Au fait

Comme suite de Essayez d'exécuter facilement l'exemple ROS sur une machine virtuelle, installez le simulateur Kobuki et le programme d'exploitation sur un autre hôte comme indiqué ci-dessous. Je l'ai essayé, mais cela a fonctionné sans aucun paramètre supplémentaire. Il est pratique de faire quelque chose de bien dans les coulisses.

--192.168.33.10: Installation du simulateur Kobuki --192.168.33.11: Création d'un programme d'opération