[PYTHON] Versuchen Sie, Kobukis 3D-Simulator auf ROS auszuführen

Es ist eine Fortsetzung von Versuchen Sie, ROS-Beispiel einfach auf einer virtuellen Maschine auszuführen. Lassen Sie uns den 3D-Simulator Kobuki (ein Roboter wie Rumba) in Gazebo ausführen. (Der Schwarze in ↓ bewegt sich) Schließlich werde ich mehr wie ein Roboterspieler.

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

Installation des Kobuki-Simulators

Gazebo-Repository hinzufügen

Ich habe es bis zum Ende installiert und gestartet, aber die Version stimmte nicht überein und ich konnte es nicht starten. Beachten Sie Folgendes und fügen Sie zuerst das Repository hinzu und aktualisieren Sie es. Referenz: Problem mit Indigo und Gazebo 2.2 --ROS-Antworten: 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

Start (einfach den Befehl überprüfen)

Am Ende beginnt alles auf einmal. Überprüfen Sie daher zunächst die Befehle.

$ roslaunch kobuki_gazebo kobuki_playground.launch

Erstellen eines Operationsprogramms

Erstellen einer Paketvorlage

Erstellen Sie eine Paketvorlage wie folgt. kobuki_sample ist beliebig, da es der Name des zu erstellenden Pakets ist. rospy und std_msgs geben abhängige Pakete an, aber Sie können sie später hinzufügen, damit Sie sich nicht zu viele Sorgen machen müssen.

$ 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

Erstellen eines Operationsprogramms

Es scheint eine gute Idee zu sein, den Quellcode unter " / scripts" zu platzieren.

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

Das folgende Programm ist eine leicht modifizierte Version des Programms in den folgenden Büchern. Es ist übrigens eine BSD-Lizenz. Der Ruf von Amazon ist hoch und es ist ein leicht zu lesendes und leicht zu verstehendes Einführungsbuch. Empfohlen.

 ROS Roboterprogrammierung beginnend mit dem freien Roboter Die Roboterprogrammierung wurde mit ROS- "Framework" für kostenlose Roboter gestartet ( I ・ O BÜCHER)
Takashi Ogura

Engineering Co., Ltd. 2015-06-25
Verkaufsrang: 15436

Siehe Details zu Amazon von 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)

Ausführungsberechtigung erteilen

$ roscd kobuki_sample/scripts
$ chmod 755 sample.py

Versuchen Sie, den Simulator auszuführen

Führen Sie Folgendes in der GUI-Umgebung aus.

$ roslaunch kobuki_gazebo kobuki_playground.launch

Führen Sie Folgendes in einem anderen Terminal aus.

$ roscd kobuki_sample/scripts
$ ./sample.py

Es funktioniert, wenn Sie "fl" oder "rb" machen.

Apropos

Installieren Sie als Fortsetzung von Versuchen Sie, das ROS-Beispiel einfach auf einer virtuellen Maschine auszuführen den Kobuki-Simulator und das Betriebsprogramm wie unten gezeigt auf einem anderen Host. Ich habe es versucht, aber es hat ohne zusätzliche Einstellungen funktioniert. Es ist praktisch, hinter den Kulissen etwas Gutes zu tun.

--192.168.33.10: Installation des Kobuki-Simulators --192.168.33.11: Erstellen eines Operationsprogramms