ROS配置相关
ubuntu18.04安装ros
https://zhuanlan.zhihu.com/p/388629886
ROS安装问题记录
选择清华源
- 先选择清华的源
- Other Software:全不选
- Ubuntu Software:全选
搜狗输入法
- sudo dpkg -i 安装包的名字
- dpkg: error processing package sogoupinyin (–install):
sudo apt install -f - 安装完毕,设置语言选项
系统设置->语言支持
将键盘输入法系统由默认的iBus设置为fcitx - 注销,重新登陆。
这时还不能马上使用,还要点击右上角的输入法图标,点击设置,进入设置界面,这个时候没有看到搜狗输入法,点击左下角的加号,然后注意先要去掉”只显示当前语言的输入法”前面那个勾,然后再搜索”sogo”,这个时候就看到sogo pinyin了,接着添加就可以了, - 然后就可以切换输入法(设置Inputmethod)了。
sudo apt-get update很慢的解决方法
- 解决办法:换源
1.打开终端,进入目录: cd /etc/apt
2.备份一下原来的source文件:sudo cp sources.list sources.list.bak
3.打开source文件,sudo gedit sources.list - 将内容替换为:
#deb cdrom:[Ubuntu 16.04 LTS Xenial Xerus - Release amd64 (20160420.1)]/ xenial main restricted
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse - 更新:sudo apt-get update
安装终端
- 先连网:
sudo add-apt-repository ppa:gnome-terminator
sudo apt-get update
sudo apt-get install terminator
rosdep init ERROR
- 解决rosdep init ERROR: cannot download default sources list 问题
- 现象:
ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down. - 解决办法:
进入目录:/etc
找到文件:hosts
sudo chmod 777 hosts
sudo gedit hosts
加入以下内容:
192.30.253.118 gist.github.com
185.199.110.153 github.io
151.101.113.194 github.global.ssl.fastly.net
52.216.227.168 github-cloud.s3.amazonaws.com
52.74.223.119 github.com
199.232.28.133 avatars1.githubusercontent.com
199.232.28.133 avatars2.githubusercontent.com
199.232.28.133 avatars0.githubusercontent.com
199.232.28.133 avatars3.githubusercontent.com
199.232.28.133 raw.githubusercontent.com
199.232.28.133 user-images.githubusercontent.com
199.232.28.133 avatars.githubusercontent.com
199.232.28.133 github.map.fastly.net
199.232.28.133 avatars7.githubusercontent.com
#Amazon AWS Start
54.239.31.69 aws.amazon.com
54.239.30.25 console.aws.amazon.com
54.239.96.90 ap-northeast-1.console.aws.amazon.com
54.240.226.81 ap-southeast-1.console.aws.amazon.com
54.240.193.125 ap-southeast-2.console.aws.amazon.com
54.239.54.102 eu-central-1.console.aws.amazon.com
177.72.244.194 sa-east-1.console.aws.amazon.com
176.32.114.59 eu-west-1.console.aws.amazon.com
54.239.31.128 us-west-1.console.aws.amazon.com
54.240.254.230 us-west-2.console.aws.amazon.com
54.239.38.102 s3-console-us-standard.console.aws.amazon.com
54.231.49.3 s3.amazonaws.com
52.219.0.4 s3-ap-northeast-1.amazonaws.com
54.231.242.170 s3-ap-southeast-1.amazonaws.com
54.231.251.21 s3-ap-southeast-2.amazonaws.com
54.231.193.37 s3-eu-central-1.amazonaws.com
52.218.16.140 s3-eu-west-1.amazonaws.com
52.92.72.2 s3-sa-east-1.amazonaws.com
54.231.236.6 s3-us-west-1.amazonaws.com
54.231.168.160 s3-us-west-2.amazonaws.com
52.216.80.48 github-cloud.s3.amazonaws.com
54.231.40.3 github-com.s3.amazonaws.com
52.216.20.171 github-production-release-asset-2e65be.s3.amazonaws.com
52.216.228.168 github-production-user-asset-6210df.s3.amazonaws.com - 再次执行:
sudo rosdep init
rosdep update
ROS安装教程
先联网
1)设置sources.list
- sudo sh -c ‘echo “deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main” > /etc/apt/sources.list.d/ros-latest.list’
- 但是!进行到
Step 1.2 Setup your sources.list这一步时**
可以 更新ROS服务器为中国科技大学,速度就会变快很多很多
具体操作:
sudo sh -c ‘echo “deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $(lsb_release -sc) main” > /etc/apt/sources.list.d/ros-latest.list’ - 装ros慢怎么办:
https://blog.youkuaiyun.com/weixin_36628778/article/details/103713866
2)设置key(公钥已更新)
- sudo apt-key adv --keyserver ‘hkp://keyserver.ubuntu.com:80’ --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
3)更新package
- sudo apt-get update
4)安装ROS kinetic完整版
- sudo apt-get install ros-kinetic-desktop-full
5)初始化rosdep
- 看文档:2_rosdep init ERROR
sudo rosdep init
- sudo apt-get install ca-certificates
rosdep update
- 一直失败问题
增加TIMEOUT的时间:
更改 /usr/lib/python2.7/dist-packages/rosdep2/下的三个文件
sources_list.py
gbpdistro_support.py
rep3.py
中的DOWNLOAD_TIMEOUT = 15.0值,改大一点就可以了。
rosdep update(用手机热点可能更快一些)
6)配置ROS环境
- echo “source /opt/ros/kinetic/setup.bash” >> ~/.bashrc
- source ~/.bashrc
7)安装依赖项
- sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
8)测试ROS是否安装成功
- roscore
- rosrun turtlesim turtlesim_node
- rosrun turtlesim turtle_teleop_key
- rosrun rqt_graph rqt_graph
ROS主从机配置
-
主机:192.168.2.102 ma
-
从机:192.168.2.108 sz
-
主机:
sudo gedit /etc/hosts
添加:192.168.2.108 sz (也就是打开文件后一般为第三行添加,在一行注释之前)
gedit ~/.bashrc
export ROS_MASTER_URI=http://192.168.2.102:11311
export ROS_HOSTNAME=192.168.2.102
source ~/.bashrc -
从机:
sudo gedit /etc/hosts
192.168.2.102 ma (也就是打开文件后一般为第三行添加,在一行注释之前)
gedit ~/.bashrc
export ROS_MASTER_URI=http://192.168.2.102:11311
export ROS_HOSTNAME=192.168.2.108
source ~/.bashrc -
测试:
ping:
roscore
自己添加msg
今天在师兄的帮助下,使用RoboWare编辑器添加了控制的msg文件夹:
- 添加过程注意事项:
#include “msg所在的包名/msg文件名.h”
pubvspeed::ReportMotion speedans;(1)
pubvspeed::Report finalspeed;(2)
speedans.vehcile_velocity_actual=25.1;(3)
finalspeed.motion = speedans;(4) - 在Report这个msg文件夹中,如(5)所示,定义了 ReportMotion 类型的 motion。
ReportMotion motion;(5)
由(1)得,speedans 的类型是 ReportMotion;
由(2)得,finalspeed 的类型是 Report; - 所以在(4)中,不能直接将 speedans 赋值给 finalspeed(两者的类型不一样);
需要.motion一下,因为 motion 的类型是 ReportMotion;