nuc 上部署 ROS2 rolling-LMLPHPROS2 ENV.docx

系统部署方面参见 nuc 上部署 ROS2 foxy


sudolocale-gen en_US en_US.UTF-8

sudoupdate-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8

export LANG=en_US.UTF-8

sudo apt update && sudo apt install curl gnupg2 lsb-release
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
sudo sh -c 'echo "deb [arch=$(dpkg --print-architecture)] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/ros2-latest.list'

可以换成清华源  mirror.tuna.tsinghua.edu.cn 替换 packages.ros.org

ros-rolling-rmw-connext-cpp 这个一定不要装, 切记不要装, 绝对不能装. 除非你确认会改写dds环境

sudo apt update
sudo apt install ros-rolling-desktop python3-argcomplete 

测试:

source /opt/ros/rolling/setup.bash

ros2run demo_nodes_cpp talker

source /opt/ros/rolling/setup.bash

ros2run demo_nodes_py listener


*********************************************************************************************************************************************************************************************************************************

编译环境

sudoapt install python3-colcon-common-extensions python3-rosdep libpython3-devpython3-argcomplete


mkdir–p /work/ROS2/rolling_ridley/src

cd /work/ROS2/rolling_ridley/


范例

gitclone https://github.com/ros2/examples src/examples


编译

colconbuild --symlink-install


*********************************************************************************************************************************************************************************************************************************

部署开发环境

sudo rosdep init

rosdep update  ### /etc/hosts 添加 151.101.84.133  raw.githubusercontent.com

rosdepinstall --from-paths /opt/ros/rolling/share --ignore-src --rosdistro rolling-y --skip-keys "console_bridgefastcdr fastrtps osrf_testing_tools_cpp poco_vendor rmw_connext_cpprosidl_typesupport_connext_c rosidl_typesupport_connext_cpp rti-connext-dds-5.3.1tinyxml_vendor tinyxml2_vendor urdfdom urdfdom_headers"



//开机环境

cat /etc/ROS2_ENV


#!/bin/sh


exportROS_DOMAIN_ID=91

exportROS_LOCALHOST_ONLY=1  ##因为目前场景不需要分布式


source/opt/ros/rolling/setup.bash

source/work/ROS2/rolling_ridley/install/setup.bash


exportGIT_SSL_NO_VERIFY=1

exportSLAM_MAP_DIR=/work/ROS2/rolling_ridley/SlamMap

exportVP_CALLBACK_ECHO=everything_is_OK


//添加到.bashrc

source /etc/ROS2_ENV

alias gw='cd /work/ROS2/rolling_ridley'

alias gs='cd /work/ROS2/rolling_ridley/src'

alias gm='cd /work/ROS2/rolling_ridley &&colcon build'


确认环境正确性 

$ printenv | grep ROS

ROS_VERSION=2

ROS_PYTHON_VERSION=3

SLAM_MAP_DIR=/work/ROS2/rolling_ridley/SlamMap

ROS_DOMAIN_ID=91

ROS_LOCALHOST_ONLY=1

ROS_DISTRO=rolling


开始自己的包.

gs #进入工作空间的代码目录.

ros2 pkg create big_bringup --build-type ament_cmake#创建big_bringup包空间. 然后在 下面一级的 src 中添加代码.

gw # 进入工作空间目录

rosdep install -i --from-path src --rosdistro rolling –y## 安装依赖

olcon build --packages-up-to big_bringup ## 编译 big_bringup


OK, 参考 example 进行 big_bringup 的代码之旅吧.

09-30 01:35
查看更多