ubuntu20.04手动安装ROS-foxy桌面版及colcon编译(亲测有效)
一、设置时区和语言
依次在终端中执行以下四条命令即可:
// An highlighted block
sudo apt update && sudo apt install locales ;
sudo locale-gen en_US en_US.UTF-8 ;
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 ;
export LANG=en_US.UTF-8 ;
最后在终端输入:
// An highlighted block
locale ;
终端出现以下信息即可:
二、添加ROS2源
依次在终端中执行以下三条命令即可:
// An highlighted block
sudo apt update && sudo apt install curl gnupg2 lsb-release ;
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg ;
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null ;
注意:在执行第二步操作时可能会出现以下问题:
curl: (7) Failed to connect to raw.githubusercontent.com port 443: 拒绝连接
本人用以下方法将nameserver 改为8.8.8.8亲测有效:
终端输入:
// An highlighted block
sudo gedit /etc/resolv.conf ;
将 nameserver 改为 114.114.114.114 (如果需要访问的域名多在中国大陆,建议改为此 DNS,这个 DNS 是中国电信提供的免费 DNS Server,解析国内域名相对较快)或者 8.8.8.8 (如果需要访问的域名多在海外,建议改成 8.8.8.8,这个 DNS 是 Google 提供的供全球免费使用的 DNS Server)
三、安装ROS2-foxy
终端输入以下命令:
// An highlighted block
sudo apt update ;
sudo apt install ros-foxy-desktop ;
##将ros加入到.bashrc中
echo "source /opt/ros/foxy/setup.bash" >> ~/.bashrc
四、运行测试
ros2没有了roscore,直接输入以下命令:
// An highlighted block
source /opt/ros/foxy/setup.bash ;
ros2 run demo_nodes_cpp talker ;
#在新终端中输入
ros2 run demo_nodes_py listener
终端出现结果,ros2安装完成:
五、安装ros2功能包构建工具colcon
新建终端依次输入以下四条命令:
// An highlighted block
sudo apt install python3-colcon-common-extensions ;
#添加colcon环境变量到shell
echo "source /usr/share/colcon_cd/function/colcon_cd.sh" >> ~/.bashrc ;
echo "export _colcon_cd_root=/opt/ros/foxy/" >> ~/.bashrc ;
echo "source /usr/share/colcon_argcomplete/hook/colcon-argcomplete.bash" >> ~/.bashrc ;
六、创建功能包colcon编译
// An highlighted block
mkdir -p wgl_ws/src ;
cd wgl_ws/src ;
#1.创建新的功能包
ros2 pkg create --dependencies std_msgs rclcpp --node-name my_node my_package ;
#2.git其他功能包
cd .. ;
colcon build ;
#编译指定包
colcon build --packages-up-to pkg_name ;
source install/setup.bash ;
ros2 run 包名 节点名
至此,全部安装完成,可以编译自己的包了。。。。