ROS1系列(一) Melodic安装


中文链接
英文链接

1、Melodic安装

1.1、设置软件源

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

1.2、设置密钥

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

1.3、更新

sudo apt update && sudo apt upgrade && sudo apt dist-upgrade

1.4、安装

sudo apt-fast install ros-melodic-desktop-full
sudo apt install ros-melodic-desktop-full
sudo apt --fix-broken install ros-melodic-desktop-full

1.5、设置环境变量

echo "source /opt/ros/melodic/setup.bash --extend" >> ~/.bashrc
source ~/.bashrc

1.6、更新环境变量

source /opt/ros/melodic/setup.bash

1.7、安装依赖包

sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential python3-opencv python-catkin-tools python3-dev python3-catkin-pkg-modules python3-numpy python3-yaml ros-${ROS_DISTRO}-cv-bridge  python-scikits-learn python-sklearn python3-scipy python-scipy

1.8、安装pip依赖库

python2 -m pip install catkin-tools rospkg matplotlib scikit-image scikit-build 
python3 -m pip install catkin-tools rospkg matplotlib scikit-image scikit-build

1.9、初始化

sudo rosdep init
rosdep update

1.10、使用Python3

记得要在python node的文件头部加上,否则rosrun仍会调用python2

#!/usr/bin/env python3

2、Gazebo重装

参考链接

2.1、卸载

sudo apt-get remove gazebo-*

2.2、安装

  • 设置安装源
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
  • 检查安装源文件
cat /etc/apt/sources.list.d/gazebo-stable.list

输出为:

deb http://packages.osrfoundation.org/gazebo/ubuntu-stable xenial main
  • 设置密匙
wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
  • 安装Gazebo
sudo apt-get update
sudo apt-get install gazebo9 libgazebo9-dev
  • 测试
gazebo

2.3、关闭进程

killall gzserver gzclient
  • 启动roscore
roscore
roscore& --后台启动
  • 删除roscore进程
killall roscore rosmaster

3、安装其他库

3.1、MoveIt

sudo apt install libavformat-dev libavcodec-dev libswresample-dev libswscale-dev libavutil-dev libsdl1.2-dev liborocos-kdl-dev freeglut3 freeglut3-dev libsfml-dev ros-${ROS_DISTRO}-moveit ros-${ROS_DISTRO}-moveit-visual-tools ros-${ROS_DISTRO}-kdl-* ros-${ROS_DISTRO}-joint-state-publisher-gui ros-${ROS_DISTRO}-trac-ik ros-${ROS_DISTRO}-teleop-twist-keyboard ros-${ROS_DISTRO}-teleop-twist-joy ros-${ROS_DISTRO}-moveit-resources ros-${ROS_DISTRO}-navigation ros-${ROS_DISTRO}-gmapping ros-${ROS_DISTRO}-hector-slam ros-${ROS_DISTRO}-slam-karto ros-${ROS_DISTRO}-robot-state-publisher ros-${ROS_DISTRO}-geographic-msgs ros-${ROS_DISTRO}-libuvc-* ros-${ROS_DISTRO}-uvc-camera ros-${ROS_DISTRO}-usb-cam ros-${ROS_DISTRO}-camera-calibration ros-${ROS_DISTRO}-ar-track-alvar ros-${ROS_DISTRO}-rgbd-launch ros-${ROS_DISTRO}-pointcloud-to-laserscan ros-${ROS_DISTRO}-mbf-msgs ros-${ROS_DISTRO}-mbf-costmap-core ros-${ROS_DISTRO}-costmap-converter ros-${ROS_DISTRO}-bfl ros-${ROS_DISTRO}-serial ros-${ROS_DISTRO}-arbotix-* ros-${ROS_DISTRO}-laser-proc ros-${ROS_DISTRO}-depthimage-to-laserscan ros-${ROS_DISTRO}-rosserial-arduino ros-${ROS_DISTRO}-rosserial-python ros-${ROS_DISTRO}-rosserial-server ros-${ROS_DISTRO}-rosserial-client ros-${ROS_DISTRO}-rosserial-msgs ros-${ROS_DISTRO}-amcl ros-${ROS_DISTRO}-map-server ros-${ROS_DISTRO}-urdf ros-${ROS_DISTRO}-xacro ros-${ROS_DISTRO}-compressed-image-transport ros-${ROS_DISTRO}-rqt-image-view ros-${ROS_DISTRO}-interactive-markers ros-${ROS_DISTRO}-octomap* ros-${ROS_DISTRO}-joy* ros-${ROS_DISTRO}-dwa-local-planner ros-${ROS_DISTRO}-multirobot-map-merge ros-${ROS_DISTRO}-cv-bridge ros-${ROS_DISTRO}-imu-tools ros-${ROS_DISTRO}-rtabmap-ros ros-${ROS_DISTRO}-image-transport ros-${ROS_DISTRO}-image-transport-plugins ros-${ROS_DISTRO}-rosbridge-server ros-${ROS_DISTRO}-unique-id ros-${ROS_DISTRO}-yocs-math-toolkit ros-${ROS_DISTRO}-yocs-msgs  ros-${ROS_DISTRO}-joystick-drivers joystick ros-${ROS_DISTRO}-async-web-server-cpp ros-${ROS_DISTRO}-web-video-server ros-${ROS_DISTRO}-cartographer* ros-${ROS_DISTRO}-turtlebot3-*  
  • rqt_plot
rosdep install rqt_plot imu_tools

3.2、机器人运动学求解器

sudo apt-get install ros-${ROS_DISTRO}-trac-ik liborocos-kdl-dev libboost-dev libkdl-parser-dev libeigen3-dev
  • 编译 KDL
rosdep install kdl_parser
rosmake kdl_parser
  • 安装smbus
pip3 install smbus

4、rosdep update

4.1、第一步

登录ipaddressDns查询;输入查询对应的ip

github.global.ssl.fastly.net
github.com

打开文件,修改host文件中的ip地址

sudo gedit /etc/hosts
sudo vim /etc/hosts

需要根据实际情况调整格式 ip与网址至少一个tab键的距离,网址上下尽量对齐。

151.101.228.133	raw.github.com
199.232.28.133	raw.githubusercontent.com
185.199.108.133	raw.githubusercontent.com
185.199.109.133	raw.githubusercontent.com
185.199.110.133	raw.githubusercontent.com
185.199.111.133	raw.githubusercontent.com

重启电脑,让hosts文件生效;你会发现git clone的速度快很多。

4.2、第二步

找到download_rosdep_data函数,添加

url="https://ghproxy.com/"+url

修改URL;例如

DEFAULT_INDEX_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'
https://ghproxy.com/
sudo vim /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py +64
sudo vim /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py +302
sudo vim /usr/lib/python2.7/dist-packages/rosdistro/__init__.py +68
sudo vim /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py +34
sudo vim /usr/lib/python2.7/dist-packages/rosdep2/rep3.py +36
sudo vim /usr/lib/python2.7/dist-packages/rosdistro/manifest_provider/github.py +68
sudo vim /usr/lib/python2.7/dist-packages/rosdistro/manifest_provider/github.py +119

初始化并更新

sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
sudo rosdep init
rosdep update

5、问题收集

问题一:NO_PUBKEY:F42ED6FBAB17C654

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654

问题二:安装ROS报错

The following packages have unmet dependencies:
	ros-${ROS_DISTRO}-desktop-full : 
		Depends: ros-${ROS_DISTRO}-desktop but it is not going

解决方案更换软件源

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值