持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第29天,点击查看活动详情
设置环境变量
source /opt/ros/foxy/setup.bash
创建工作区间
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws/src
git clone ros_tutorials ,熟悉turtlesim
git clone https://github.com/ros/ros_tutorials.git -b foxy-devel
解决依赖
cd ~/ros2_ws/
rosdep install -i --from-path src --rosdistro foxy -y
编译整个工作区间
cd ~/ros2_ws/
colcon build
单独编译某个功能包
cd ~/ros2_ws/
colcon build --packages-select ros_tutorials
在新的终端中,将你的主要 ROS 2 环境作为“底层”,这样你就可以在它的“之上”构建叠加层:
source /opt/ros/foxy/setup.bash
cd ~/ros2_ws/
. install/local_setup.bash
打开小乌龟,这里是启动工作区间里的节点。
ros2 run turtlesim turtlesim_node
创建功能包
cd ~/ros2_ws/src
ros2 pkg create --build-type ament_cmake <package_name>
创建功能包名:first_package, 节点名:first_node
ros2 pkg create --build-type ament_cmake first_package --node-name fisrt_node
编译工作区间
cd ~/ros2_ws
colcon build
或者单独编译first_package功能包
cd ~/ros2_ws
colcon build --packages-select first_package
获取安装文件
. install/local_setup.bash
启动first_node节点
ros2 run first_package first_node
创建功能包名:cpp_package,并添加依赖:rclcpp std_msgs example_interfaces
ros2 pkg create --build-type ament_cmake cpp_package --dependencies rclcpp std_msgs example_interfaces
创建功能包名:py_package,并添加依赖:rclpy std_msgs example_interfaces
ros2 pkg create --build-type ament_python py_package --dependencies rclpy std_msgs example_interfaces
1 节点 Node
(1)启动节点
ros2 run 功能包名 节点名
(2)查看节点列表
ros2 node list
(3)查看节点信息
ros2 node info 节点名
2 话题 Topic
(1)查看话题列表
ros2 topic list
(2)查看话题列表和消息类型
ros2 topic list -t
(3)查看话题的数据
ros2 topic echo 话题名
(4)查看话题信息
ros2 topic info 话题名
(5)给话题发布消息
ros2 topic pub 话题名 消息类型 参数值(此参数需要以 YAML 语法输入)
(6)查看话题hz
ros2 topic hz 话题名
3 服务 Service
(1)查看服务列表
ros2 service list
(2)查看服务列表和服务类型
ros2 service list -t
(3)查看服务类型
ros2 service type 服务名
(4)查找服务
ros2 service find 服务类型
(5)调用服务
ros2 service call 服务名 服务类型 参数(部分可选)
(6)显示服务类型
ros2 interface show 服务类型
4 参数 Param
(1)查看参数列表
ros2 param list
(2)获取参数值
ros2 param get 节点名 参数名
(3)修改参数值
ros2 param set 节点名 参数名 参数值
(4)保存节点参数的当前配置
ros2 param dump 节点名
(5)加载参数文件中参数到当前运行的节点
ros2 param load 节点名 参数文件名
(6)启动节点时加载参数文件
ros2 run 功能包名 节点名 --ros-args --param-file 参数文件名
5 Action
用于长时间运行的任务。它们由三部分组成:目标、反馈和结果。
(1)查看action列表
ros2 action list
(2)查看action列表和类型
ros2 action list -t
(3)查看action信息
ros2 action info <action_name>
(4)显示action
ros2 interface show <action_name>
(5)action send goal
ros2 action send_goal <action_name> <action_type> <values>
6 launch
ros2 launch 功能包名 launch文件名