ubuntu 1604 安裝ROS2並測試demo

ROS2官網:https://index.ros.org/doc/ros2/

https://index.ros.org/doc/ros2/Installation/Dashing/Linux-Development-Setup/

設置本地環境

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

 2.設置軟件源

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 http://packages.ros.org/ros2/ubuntu `lsb_release -cs` main" > /etc/apt/sources.list.d/ros2-latest.list'

3.通過二進制形式安裝 

sudo apt update 

sudo apt install ros-dashing-desktop

4.安裝一些ROS2開發工具和ros2工具 

sudo apt update && sudo apt install -y \
  build-essential \
  cmake \
  git \
  python3-colcon-common-extensions \
  python3-pip \
  python-rosdep \
  python3-vcstool \
  wget
# install some pip packages needed for testing
python3 -m pip install -U \
  argcomplete \
  flake8 \
  flake8-blind-except \
  flake8-builtins \
  flake8-class-newline \
  flake8-comprehensions \
  flake8-deprecated \
  flake8-docstrings \
  flake8-import-order \
  flake8-quotes \
  pytest-repeat \
  pytest-rerunfailures \
  pytest \
  pytest-cov \
  pytest-runner \
  setuptools
# install Fast-RTPS dependencies
sudo apt install --no-install-recommends -y \
  libasio-dev \
  libtinyxml2-dev
# install CycloneDDS dependencies
sudo apt install --no-install-recommends -y \
  libcunit1-dev

5.安裝自動補全功能包

 sudo apt install python3-pip

sudo apt install python3-argcomplete

sudo activate-global-python-argcomplet 

6.將環境變量聽加到bashrc文件中去 

echo "source /opt/ros/dashing/setup.bash" >> ~/.bashrc

 

編寫demo包並測試,官方代碼連接

https://index.ros.org/doc/ros2/Tutorials/Creating-Your-First-ROS2-Package/

https://index.ros.org/doc/ros2/Tutorials/Writing-A-Simple-Cpp-Publisher-And-Subscriber/

cmakelist文件內容如下: (這裏我把PROJECT_NAME寫錯導致了下面的運行錯誤,沒有可執行文件)

cmake_minimum_required(VERSION 3.5)
project(cpp_pubsub)

# Default to C99

# Default to C++14
if(NOT CMAKE_CXX_STANDARD)
  set(CMAKE_CXX_STANDARD 14)
endif()

if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
  add_compile_options(-Wall -Wextra -Wpedantic)
endif()

# find dependencies
find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(std_msgs REQUIRED)

add_executable(talker src/publisher_member_function.cpp)
ament_target_dependencies(talker rclcpp std_msgs)
add_executable(listener src/subscriber_member_function.cpp)
ament_target_dependencies(listener rclcpp std_msgs)
# uncomment the following section in order to fill in
# further dependencies manually.
# find_package(<dependency> REQUIRED)

install(TARGETS
talker
listener
DESTINATION lib/${PROJECT_NAME})

ament_package()

http://docs.ros2.org/dashing/api/rclcpp/ 


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章