准备研究下ros2, 先安装一个环境
主要参照官方文档 https://docs.ros.org/en/jazzy/Installation/Ubuntu-Install-Debs.html
1. 字符集设置
locale # check for UTF-8
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
locale # verify settings
2.启用所需仓库
sudo apt install software-properties-common
sudo add-apt-repository universe
sudo apt update && sudo apt install curl -y
export ROS_APT_SOURCE_VERSION=$(curl -s https://api.github.com/repos/ros-infrastructure/ros-apt-source/releases/latest | grep -F "tag_name" | awk -F\" '{print $4}')
curl -L -o /tmp/ros2-apt-source.deb "https://github.com/ros-infrastructure/ros-apt-source/releases/download/${ROS_APT_SOURCE_VERSION}/ros2-apt-source_${ROS_APT_SOURCE_VERSION}.$(. /etc/os-release && echo ${UBUNTU_CODENAME:-${VERSION_CODENAME}})_all.deb"
sudo dpkg -i /tmp/ros2-apt-source.deb
提示秘钥问题,替换源为清华源
sudo sh -c 'echo "deb [arch=amd64 signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros2.list'
3.更新库,安装ros开发工具
sudo apt update && sudo apt install ros-dev-tools
4 安装桌面版(1.4G),内涵ROS、RViz、演示、教程。
sudo apt install ros-jazzy-desktop
Setting up default-jdk-headless (2:1.21-75+exp1) ...
Setting up default-jre (2:1.21-75+exp1) ...
Setting up openjdk-21-jdk:amd64 (21.0.8+9~us1-0ubuntu1~24.04.1) ...
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/jconsole to pr
ovide /usr/bin/jconsole (jconsole) in auto mode
Setting up default-jdk (2:1.21-75+exp1) ...
Setting up libvtk9-dev (9.1.0+really9.1.0+dfsg2-7.1build3) ...
Setting up libvtk9-qt-dev:amd64 (9.1.0+really9.1.0+dfsg2-7.1build3) ...
Setting up libpcl-dev (1.14.0+dfsg-1) ...
Setting up ros-jazzy-pcl-conversions (2.6.2-1noble.20251025.085029) ...
Setting up ros-jazzy-desktop (0.11.0-1noble.20251108.005426) ...
跑个例子
atform:~/桌面$ ros2 run demo_nodes_cpp talker
[INFO] [1763780575.598895986] [talker]: Publishing: 'Hello World: 1'
[INFO] [1763780576.599348669] [talker]: Publishing: 'Hello World: 2'
[INFO] [1763780577.599418895] [talker]: Publishing: 'Hello World: 3'
[INFO] [1763780578.598864335] [talker]: Publishing: 'Hello World: 4'
[INFO] [1763780579.599058474] [talker]: Publishing: 'Hello World: 5'
[INFO] [1763780580.599489740] [talker]: Publishing: 'Hello World: 6'
[INFO] [1763780581.599448391] [talker]: Publishing: 'Hello World: 7'
[INFO] [1763780582.599340245] [talker]: Publishing: 'Hello World: 8'
[INFO] [1763780583.599040833] [talker]: Publishing: 'Hello World: 9'
[INFO] [1763780584.599232684] [talker]: Publishing: 'Hello World: 10'
[INFO] [1763780585.599144727] [talker]: Publishing: 'Hello World: 11'
[INFO] [1763780586.599634526] [talker]: Publishing: 'Hello World: 12'
-Virtual-Platform:~/桌面$ source /opt/ros/jazzy/setup.bash
ros2 run demo_nodes_py listener
[INFO] [1763780636.671469906] [listener]: I heard: [Hello World: 62]
[INFO] [1763780637.599935914] [listener]: I heard: [Hello World: 63]
[INFO] [1763780638.599933090] [listener]: I heard: [Hello World: 64]
[INFO] [1763780639.599852914] [listener]: I heard: [Hello World: 65]
[INFO] [1763780640.599831212] [listener]: I heard: [Hello World: 66]
[INFO] [1763780641.599992777] [listener]: I heard: [Hello World: 67]
end
1272

被折叠的 条评论
为什么被折叠?



