日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

在ROS中开始自主机器人仿真 - 2 让turtlebot跑起来

發布時間:2025/3/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在ROS中开始自主机器人仿真 - 2 让turtlebot跑起来 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

借助ROS的工具箱讓turtlebot在gazebo中運行起來.

part 1.1: 讓turtlebot跑起來

1. 在gazebo中顯示機器人

roslaunch turtlebot_gazebo turtlebot_world.launch

默認加載了一個playground 的world文件.

2. 用鍵盤進行控制機器人

roslaunch turtlebot_teleop keyboard_teleop.launch --screen Moving around:u i oj k lm , .q/z : increase/decrease max speeds by 10% w/x : increase/decrease only linear speed by 10% e/c : increase/decrease only angular speed by 10% space key, k : force stop anything else : stop smoothly

可以通過以上方式控制機器人的運動了.

3. 在rviz中顯示

roslaunch turtlebot_rviz_launchers view_robot.launch --screen

在rviz的現實中,為了便于顯示我只添加了camera rgb圖像 (topic: /camera/rgb/image_raw)和 PointCloud2 (topic:/camera/depth/points). 同樣也可以在左邊的列表中添加laserscan (topic: /scan), DepthCloud (topic:/camera/depth/image_raw)等等.

關于Kinect2 (RGBD) 如何轉換成laserscan, 以及點云轉換都會在接下來的部分有所介紹.

part 1.2: 解釋與擴展

1. gazebo啟動文件

roscd turtlebot_gazebo

進入

/opt/ros/indigo/share/turtlebot_gazebo ├── cmake │ ├── turtlebot_gazeboConfig.cmake │ └── turtlebot_gazeboConfig-version.cmake ├── launch │ ├── amcl_demo.launch │ ├── gmapping_demo.launch │ ├── includes │ │ ├── create.launch.xml │ │ ├── kobuki.launch.xml │ │ └── roomba.launch.xml │ └── turtlebot_world.launch ├── maps │ ├── playground.pgm │ └── playground.yaml ├── package.xml └── worlds├── corridor.world├── empty.world└── playground.world

可以找到我們加載的playground.world的文件.

在* turtlebot_world.launch*文件中, 通過加載gazebo_ros包中的empty.launch啟動Gazebo, 通過名為world_name 的參數可以修改仿真的Gazebo環境.?

<arg name="world_name" value="$(arg world_file)"/> 替換為 <arg name="world_name" value="$(find turtlebot_gazebo)/worlds/corridor.world"/> 可將Gazebo仿真環境替換為corridor. 通過在Gazebo中編輯環境也可以很輕松的可以生成自己的world.?

哈哈, 現在可以不同的Gazebo物理環境中實現仿真了, 滿足感溢出.

接下來我們看看Kinect2 (RGBD) 如何轉換成laserscan, 我們會在下面發現name = "depthimage_to_laserscan", 通過remap

<remap from="image" to="/camera/depth/image_raw"/> <remap from="scan" to="/scan"/>

我們找到了在rviz中顯示的topic了.

2. 機器人控制

除了上述提到的控制方法外,也可以采用

roslaunch kobuki_keyop keyop.launch

查看keyboard_teleop.launch文件,

<?xml version="1.0"?> <launch><node pkg="turtlebot_teleop" type="turtlebot_teleop_key" name="turtlebot_teleop_keyboard" output="screen"><param name="scale_linear" value="0.5" type="double"/><param name="scale_angular" value="1.5" type="double"/><remap from="turtlebot_teleop_keyboard/cmd_vel" to="cmd_vel_mux/input/teleop"/></node> </launch>

可以發現速度命令的topic映射到了主題cmd_vel_mux/input/teleop, 查看主題類型

rostopic type cmd_vel_mux/input/teleop geometry_msgs/Twist

通過rostopic pub 命令

rostopic pub /cmd_vel_mux/input/teleop geometry_msgs/Twist "linear:x: 0.1y: 0.0z: 0.0 angular:x: 0.0y: 0.0z: 0.1"

可以發送角速度0.1rad/s, 線速度0.1m/s, 可進一步查看 REP 103:Standard Units of Measure and Coordinate ConventionsREP 103:Standard Units of Measure and Coordinate Conventions?.

3. 顯示

rviz的顯示可以很大程度的幫助ROS開發過程中的調試工作. 除了rviz外,還有一些其他的工具.

顯示圖像topic image_view
rosrun image_view image_view image:=/camera/rgb/image_raw
node與topic 連接圖 rqt_graph
rosrun rqt_graph rqt_graph
參數可視化配置rqt_reconfigure
rosrun rqt_reconfigure rqt_reconfigure
rqt可以方便讓你用所有rqt_初始的工具
rqt

?

轉載于:https://www.cnblogs.com/taiping/p/6701655.html

總結

以上是生活随笔為你收集整理的在ROS中开始自主机器人仿真 - 2 让turtlebot跑起来的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。