Design a ROS code for the following Scenario:
There are two publishers namely Pub1 and Pub2 and there are three subscribers Sub1, sub2 and Sub3.
Pub1 Publishes a topic called \CSE3102 and Sub1 subscribed to it.
Pub2 publishes a topic called \cse2034 and, sub2, sub3 are subscribed to it. Design a python script for ROS and submit the following details.
Method of Execution
To begin with, open a terminal and run the following command
$ roscore
Step 1:
Create a folder in the /home/lab21 directory using the command
$ mkdir -p pradeepkumar/src
$ cd pradeepkumar/
$ catkin_make
after the above command, two folders namely build/ and devel/ might have been created.
Now we need to set the PATH for this file devel/setup.bash
One method is to use, the source command when opening a new terminal every time, the
command is
$ source /home/lab21/pradeepkumar/devel/setup.bash
The second method is to include the command in the /home/lab21/.bashrc file, so that the command will
run without any issues when a new terminal is opened.
after the second step, logout and login back in to get the command working and activated else
run the command
$ source .bashrc
Step 2 :
Go to pradeepkumar/src folder and create a catkin package using the following command
$ cd pradeepkumar/src
$ catkin_create_pkg ros_tutorial1 rospy std_msgs
$ cd ..
$ catkin_make
(this time, the make will include the ros_tutorial1 also in to the devel and build libraries)
Step3 - We will be creating two files namely
1. publisher.py
2. subscriber.py
Create the above files in the folder
pradeepkumar/src/ros_tutorial1/script
And give full permission to run
$ chmod 777 *.py
Step 4 - running the publisher and subscriber, we need to open two windows one for pub and another for sub.
In Terminal 1
Go to
$ cd pradeepkumar/
$ source ./devel/setup.bash
$ rosrun ros_tutorial1 pub.py
in Terminal 2
Go to
$ cd pradeepkumar/
$ source ./devel/setup.bash
$ rosrun ros_tutorial1 subs.py
You can see the output of I took ROS Knowledge by the Subscriber and "ROS Knowledge" by the publisher.
$ rqt_graph
will open the graph of all the nodes running under the ROS.
Pub1 code
Publisher 1 |
Publisher 2 |
RQT Graph |
Subscriber 1 |
Subscriber 2 |
Subscriber 3 |
We understand that everyone has different learning preferences and schedules. That's why we offer both classroom-based and online Linux Training Institute in Noida programs. You can choose the mode of learning that suits you best, without compromising on the quality of education.
ReplyDelete