当前位置:网站首页>ROS learning: remote start ROS node
ROS learning: remote start ROS node
2020-11-07 20:56:00 【Coxhuang】
List of articles
- Remote start ROS node
- #1 Environmental Science
- #2 demand
- #3 Verify the prerequisites
- #3.1 Verify password free login
- #3.2 Verify the stand-alone ros Publish subscribe
- #4 Start
- #4.1 To configure
- #4.1.1 pc-master
- #4.1.2 pc-slave2
- #4.2 Local host script
- #4.3 start-up
- #4.1 To configure
- #5 Report errors
- #5.1 not found in known_hosts
- #5.2 TypeError: 'NoneType' object is not callable
Remote start ROS node
#1 Environmental Science
Ubuntu 16.04
Machine configuration :
pc-master 192.168.3.230 Local pc-slave2 192.168.3.232 long-range
Prerequisite :
1. It can be realized on two machines ROS Publish and subscribe
2. Two machines can log in without password
#2 demand
- in application , Different functions will be put on different servers
- You need to subscribe to topic
#3 Verify the prerequisites
#3.1 Verify password free login
The two servers can log in to each other without password
Specific password free login tutorial : https://blog.csdn.net/Coxhuang/article/details/106971890
#3.2 Verify the stand-alone ros Publish subscribe
Here we use pc-slave2 Server, for example ( Because the remote startup is also pc-slave2 Nodes on )
talker :
listener :
#4 Start
** Next , We will be having pc-master Start the remote server on the server area pc-slave2 Of talker node **
#4.1 To configure
#4.1.1 pc-master
sudo vim /etc/hosts
stay /etc/hosts Add something to the file :
192.168.3.230 pc-master 192.168.3.232 pc-slave2
sudo vim ~/.bashrc
stay ~/.bashrc Add something to :
export ROS_IP="192.168.3.230" export ROS_HOSTNAME=pc-master export ROS_MASTER_URI=http://pc-master:11311 export ROSLAUNCH_SSH_UNKNOWN=1
#4.1.2 pc-slave2
sudo vim /etc/hosts
stay /etc/hosts Add something to the file :
192.168.3.230 pc-master 192.168.3.232 pc-slave2
sudo vim ~/.bashrc
stay ~/.bashrc Add something to :
export ROS_HOSTNAME=pc-slave2 export ROS_MASTER_URI=http://pc-master:11311 export ROSLAUNCH_SSH_UNKNOWN=1
sudo vim /opt/ros/kinetic/trunk_evn.sh
newly added trunk_evn.sh file
#!/bin/sh export ROS_IP=192.168.3.232 export ROS_HOSTNAME=pc-slave2 . /home/trunk/work/test/testworkspace/devel/setup.sh exec "$@"
sudo chmod 777 trunk_evn.sh
#4.2 Local host script
In the local pc-master Of package Written in launch Script
vim /home/trunk/work/test/testworkspace/src/testpackage/launch/test.launch
<launch> <machine name="pc-slave2" address="192.168.3.232" user="trunk" env-loader="/opt/ros/kinetic/trunk_evn.sh"></machine> <node machine="pc-slave2" name="talker" pkg="testpackage" type="talker.py" output="screen" ></node> </launch>
#4.3 start-up
roslaunch testpackage test.launch
#5 Report errors
#5.1 not found in known_hosts
... logging to /home/trunk/.ros/log/84cf4482-b84f-11ea-9d63-000c297ff566/roslaunch-pc-master-3868.log Checking log directory for disk usage. This may take awhile. Press Ctrl-C to interrupt Done checking log file disk usage. Usage is <1GB. started roslaunch server http://pc-master:32881/ remote[192.168.3.232-0] starting roslaunch remote[192.168.3.232-0]: creating ssh connection to 192.168.3.232:22, user[trunk] /usr/lib/python2.7/dist-packages/Crypto/Cipher/blockalgo.py:141: FutureWarning: CTR mode needs counter parameter, not IV self._cipher = factory.new(key, *args, **kwargs) remote[192.168.3.232-0]: failed to launch on pc-slave2: Unable to establish ssh connection to [[email protected]:22]: Server u'192.168.3.232' not found in known_hosts
Solutions :
- Log
According to the log error prompt to modify python Bottom source , There is no effect , The log shows , ros It's still running on python2.7 On , Try to ros Running on the Python3 On
- Default the system to Python Replace with Python3
sudo rm -rf /usr/bin/python sudo ln -s /usr/bin/python3 /usr/bin/python
2. install ros The basic software package for compiling
sudo apt-get install python3-rosdep python3-rosinstall-generator python3-wstool python3-rosinstall build-essential sudo pip3 install catkin_pkg
3. Installation package depends on
rosdep install --from-paths src --ignore-src --rosdistro kinetic -y sudo apt-get install libtbb-dev python3-pyqt5 sudo pip3 install empy numpy defusedxml netifaces # Repair 16.04 libboost_python3 Problems that can't be found sudo ln -s /usr/lib/x86_64-linux-gnu/libboost_python-py35.so /usr/lib/x86_64-linux-gnu/libboost_python3.so
4. Perfect solution
#5.2 TypeError: ‘NoneType’ object is not callable
modify Python The underlying code
Participation of this paper Tencent cloud media sharing plan , You are welcome to join us , share .
版权声明
本文为[Coxhuang]所创,转载请带上原文链接,感谢
边栏推荐
- Cpp(二) 创建Cpp工程
- 你可能不知道的Animation动画技巧与细节
- 年薪90万程序员不如月入3800公务员?安稳与高收入,到底如何选择?
- 分享几个我日常使用的VS Code插件
- 工作1-3年的程序员,应该具备怎么样的技术能力?该如何提升?
- What do you think of the most controversial programming ideas?
- 「混合云」会是云计算的下一个战场吗?
- From technology to management, the technology of system optimization is applied to enterprise management
- Kylin on Kubernetes 在 eBay 的实践
- awk实现类sql的join操作
猜你喜欢
随机推荐
Reflection on a case of bus card being stolen and swiped
京淘项目day09
Web安全(三)---CSRF攻击
Let's talk about the locks in the database
浅谈HiZ-buffer
【C++学习笔记】C++ 标准库 std::thread 的简单使用,一文搞定还不简单?
Ubuntu下搜狗输入法的下载安装及配置
面部识别:攻击类型和反欺骗技术
Adobe Prelude /Pl 2020软件安装包(附安装教程)
How to learn technology efficiently
laravel8更新之维护模式改进
Insight -- the application of sanet in arbitrary style transfer
数据库基本操作
构造请求日志分析系统
Three steps, one pit, five steps and one thunder, how to lead the technical team under the rapid growth?
技术总监7年自述——如何选择一家好公司
Practice of Xiaoxiong school development board: real equipment access of smart street lamp sandbox experiment
Principles of websocket + probuf
There's not much time left for Kwai Chung.
Code Review Best Practices