ROSロボットプログラミングの練習(3.2) - カスタムメッセージタイプの分布とレセプション

序文

「Rosのロボットプログラミングの練習、」第三章ルーチン2つの虚定義データ型。

実装プロセス

ワークスペースを作成し、前の章のブログを参照:
ROSロボットプログラミングの練習(3.1) -話題のニュースリリースを

ファイル構造の基本的なパッケージを見てください:

cd ~/catkin_ws/src/basic
ls
tree

ここに画像を挿入説明
[OK]を聞かせてのは、動作を開始する
1を、私たちはメッセージタイプを作成し、ファイルが作成されますComplex.msg

cd ~/catkin_ws/src/basic
mkdir msg
cd msg
vi Complex.msg

VIMで編集する、私は押してキーボード入力モードに入り、次のとおりです。
ここに画像を挿入説明
[Esc]キーを押して編集モード、入力終了するには「:WQ」(注:引用符で囲まれたすべての内容「:」)、保存して終了します。
2、編集ファイルpackage.xml

cd ..
vi package.xml

2.1 <build_depend> rospy </ build_depend> <build_depend> std_msgs </ build_depend>
添加これらbuild_dependの近傍において:

  <build_depend>message_generation</build_depend>
  <exec_depend>message_runtime</exec_depend>

注:あなたがROSの藍のバージョンがある場合は、exec_dependの必要性がrun_dependを交換します。
2.2
上記のESC終了編集モード、入力「:WQは、」保存して終了します。
ここに画像を挿入説明
3、編集ファイルCMakeLists.txt

vi CMakeLists.txt

3.1、変性find_package()、プラスmessage_generation:
ここに画像を挿入説明
3.2レビューcatkin_package()、プラスmessage_runtime:
ここに画像を挿入説明
3.3レビューadd_message_files()、プラスComplex.msg:
ここに画像を挿入説明
3.4レビューgenerate_message()、一緒に生成システムとは、除去。注:
ここに画像を挿入説明
4、 SRC基本パッケージにmessage_publisher.pyとmessage_subscriber.pyファイルを追加します。

cd src
vi message_publisher.py
vi message_subscriber.py

コードにそれぞれ貼り付けます。

message_publisher.py

#!/usr/bin/env python
import roslib; roslib.load_manifest('basic')
import rospy
from basic.msg import Complex

from random import random

rospy.init_node('message_publisher')

pub=rospy.Publisher('complex',Complex)

rate=rospy.Rate(2)

while not rospy.is_shutdown():
	msg=Complex()
	msg.real=random()
	msg.imaginary=random()
	pub.publish(msg)
	rate.sleep()

message_subscriber.py

#!/usr/bin/env python
import roslib; roslib.load_manifest('basic')
import rospy
from basic.msg import Complex

def callback(msg):
	print 'Real:',msg.real
	print 'Imaginary',msg.imaginary
	print

rospy.init_node('message_subscriber')
sub = rospy.Subscriber('complex', Complex,callback)
rospy.spin()

5、ターミナル実行roscoreを開きます。

roscore

6、リターンcatkin_wsのルートディレクトリ、catkin_makeのコンパイルと実行スクリプトのパブ

cd ~/catkin_ws
catkin_make
source devel/setup.bash
rosrun basic message_publisher.py

7、他の端末、実行subscriber.pyを開きます

rosrun basic message_subscriber.py

8、業績:
ここに画像を挿入説明

公開された53元の記事 ウォンの賞賛5 ビュー2208

おすすめ

転載: blog.csdn.net/qq_37668436/article/details/104181758