5.23-ROSARIA下位机使用
前言
- 基础:下位机配置
使用记录
环境搭建
sudo apt-get install libsdl1.2-dev libsdl-image1.2-dev
sudo apt-get install ros-indigo-move-base
配置激光ip地址:192.168.0.4 mask:192.168.0.0 gateway:192.168.0.1
安装其他库,编译文件代码
/RosAria/lms1xx_1_pointcloud
/RosAria/lms1xx_1_laserscan
基础:ssh使用
sudo apt-get install openssh-server openssh-client
ssh p3@10.0.126.3
key
exit
zs:~ scp /home/zs/.ssh/id_rsa.pub exbot@10.0.126.3:~/zs_id_rsa.pub
复制文件,修改文件名
基础:netcat
netcat -l 1234
netcat zsUbuntu 1234
netcat 10.0.126.18 1234
问题:在局域网内不能解析主机名字,只能直接输入IP地址,可能是操作系统配置问题,也可能是路由器的域名解析问题,暂时没有解决
It's not completely clear how you are expecting the name to be resolved. You refer to both /etc/hosts and nslookup results, but nslookup doesn't use /etc/hosts. Also, are you trying to ping/ssh to the machine you're on? or a remote machine? The value added to /etc/hosts by network-manager is only relevant if you're trying to connect to the machine you're on.
If you're expecting the names to be resolved from /etc/hosts, you should check the setting for "hosts" in /etc/nsswitch.conf. On my system, it's "files dns" so that /etc/hosts will be checked before dns. If it doesn't at least include "files", then /etc/hosts will never be checked.
If you're expecting dns to handle the resolution, then make sure that your nameserver configuration is correct. Do you know the correct IP address for the network's dns server? And if so, does that match the value for "nameserver" in /etc/resolv.conf? If it does not, then try running "nslookup hostname dnsip", where hostname is the one you're looking up and dnsip is the correct IP for the network's dns server. Does that work? If it does, then you'll need to correct the setting in /etc/resolv.conf, and also figure out why it isn't being configured correctly in the first place.
If the correct dns server is unable to resolve the hostname, then there is either a problem with your dhcp client configuration or the network's dhcp server and/or dns server.
基础:secureCRT(多标签ssh)
远程桌面VNC协议
sudo aptitude install vnc4server
默认远程桌面工具没搞成
远程环境建立
基本信息
上位机:zs@zsUbuntu 10.0.126.18 zsUbuntu
下位机:p3@p3-whs 10.0.126.3 p3-whs
确立连接
下位机基础环境搭建
编辑器安装,编译工具
装完系统后一定要每一个步骤都彻底更新!!!
sudo apt-get install pcl
sudo apt-get install libsdl1.2-dev libsdl-image1.2-dev
远程桌面
teamviewer需要走互联网,但是下位机网卡设置有问题,默认走内网,不能连接互联网
程序本机编译及执行的问题
不能连接真机的激光lms_100,原因不明,示例文件也不能正确执行
尝试更换ARIA包的版本
sudo su
ROS远程节点问题
ping 连通性检测
ssh连通性检测
名字解析检测+其他环境变量设置
When a ROS node advertises a topic, it provides a hostname:port combination (a URI) that other nodes will contact when they want to subscribe to that topic. It is important that the hostname that a node provides can be used by all other nodes to contact it. The ROS client libraries use the name that the machine reports to be its hostname. This is the name that is returned by the command hostname.
不能通过名字解析IP地址,原因不明。这种情况需要在启动NODE之前设置ROS_IP环境变量
zs端设置
export ROS_IP=10.0.126.18
p3端设置
export ROS_IP=10.0.126.3
ROS远程节点连通性测试(p3 上开启roscore)
ssh p3@10.0.126.3
roscore
ROS_MASTER_URI=http://10.0.126.3:11311/
ssh p3@10.0.126.3
export ROS_MASTER_URI=http://10.0.126.3:11311
rosrun rospy_tutorials listener.py
zs@zsUbuntu
export ROS_MASTER_URI=http://10.0.126.3:11311
rosrun rospy_tutorials talker.py
运行步骤见附件
后续工作
添加几个move_base响应函数
附件列表