恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

ROS2初步使用:做一个红色小球来回动

  • 首页
  • 资讯中心
  • /
  • ROS2初步使用:做一个红色小球来回动

相关资讯

ShadowNode内存优化完全手册:5大技巧显著降低堆占用与二进制体积 2026/8/22 13:08:23
免费中国象棋AI连线工具完整指南:AI识盘、引擎算棋到一键自动落子 2026/8/22 13:08:23
LLM应用安全扫描实战:Sentrint工具从入门到CI/CD集成 2026/8/22 13:08:23

最新资讯

异步服务调优时容易踩到哪些坑
毕业论文选题毫无头绪,有哪些靠谱的AI写作辅助平台推荐?
2026四大AI写作辅助平台深度测评|学术写作不是堆砌,工具要服务于思维
C++函数模板:泛型编程核心,从原理到实战应用
选对AI论文软件提前 2 周交稿!高赞工具实测 + 选择避坑
数学建模竞赛实战指南:从优化预测到AI Agent融合的解题框架

今日推荐

markdown-it-vue 踩坑排障:从安装到渲染的 6 个高频问题快速讲清
多尺度智能体控制:从宏观密度场到微观决策的架构与实践
CUBE标准:统一AI智能体评测的度量衡与架构解析

本周热门

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码
【双层规划,节点出清价,绿证交易,CVaR方法】两级电力市场环境下计及风险的省间交易商最优购电模型附Matlab代码
隐式mpc+自适应mpc+时变mpc,线性时变模型预测控制附Simulink仿真

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

ROS2初步使用:做一个红色小球来回动

发布时间:2026/8/22 13:13:23
ROS2初步使用:做一个红色小球来回动 文章目录安装Ubuntu安装ROSVS Code环境配置初步示例程序安装Ubuntu我是用VirtualBox运行的Ubuntu2026.4。VirtualBox要求虚拟机所在磁盘必须和系统盘在一个物理磁盘当然盘符可以不一样安装时注意避免直接装在C盘。新版Ubuntu不直接提供【softwareupdates】可在命令行中安装sudoaptupdatesudoaptinstallsoftware-properties-gtk-y安装完成后打开在【Ubuntu Software】-【Download From】选【Other】-弹出窗口选China下面的镜像我这里选的是【mirrors.aliyun.com】即阿里云镜像。当然这一步设不设其实无所谓后面用到的小鱼一键安装会自动寻找最快镜像。安装ROS推荐用小鱼一键安装wgethttp://fishros.com/install-Ofishros.fishros这个脚本对新手非常友好不仅解决了国内最头疼的网络问题还贴心到预测到你不知道怎么选从而告诉你新手应该选什么简直无敌了。安装完成后在命令行中输入ros2若返回一大坨帮助信息那就说明安装成功接下来就可以来一波经典的小乌龟仿真了。ros2 run turtlesim turtlesim_node下面再打开一个终端输入下面的命令就可以进行键盘控制了ros2 run turtlesim turtle_teleop_keyVS Code环境配置据说ROS有专门的开发环境RoboWare但已经好多年不更新了目前更常见的开发环境是VS Code配合官方插件。VS Code可在官方商店安装也可以在命令行安装sudoaptinstallcode# 安装编译和代码格式化工具sudoaptinstallpython3-colcon-common-extensions clang-format装好VS Code之后可直接在扩展商店Extensions中搜索并安装【Robotics Developer Environment】插件该插件在安装时会顺手装上C/C等插件。此外最好再安装【CMake Tools】用于辅助管理 CMakeLists.txt 和构建过程。初步示例程序ROS这么大名鼎鼎的工具自然提供了可视化工具即RViz2ROS Visualizer 2。RViz2可将机器人传感器数据、模型状态、路径规划结果等各种信息显示为3D视图程序。下面做一个最简单的示例程序让一个红色小球在RViz2 的 3D 视图中从左到右来回穿梭。代码如下importrclpyfromrclpy.nodeimportNodefromvisualization_msgs.msgimportMarkerclassDrawSphereNode(Node):def__init__(self):super().__init__(draw_sphere_node)# 创建一个发布者话题名叫 my_sphereself.publisher_self.create_publisher(Marker,my_sphere,10)# 创建一个 0.1 秒触发一次的定时器self.timerself.create_timer(0.1,self.timer_callback)self.x_pos-1.0# 初始 X 坐标deftimer_callback(self):markerMarker()# 【关键】指定这个球体画在哪个坐标系下这里用默认的 map 坐标系marker.header.frame_idmapmarker.header.stampself.get_clock().now().to_msg()# 设置形状为球体 (SPHERE)marker.typeMarker.SPHERE marker.actionMarker.ADD# 设置位置 (让 X 坐标不断变化)marker.pose.position.xself.x_pos marker.pose.position.y0.0marker.pose.position.z0.5# 稍微抬高一点方便看# 姿态四元数这里不旋转所以 w1其他为0marker.pose.orientation.w1.0# 设置大小 (半径 0.2 米)marker.scale.x0.4marker.scale.y0.4marker.scale.z0.4# 设置颜色 (红色不透明度 1.0)marker.color.r1.0marker.color.g0.0marker.color.b0.0marker.color.a1.0# 发布数据self.publisher_.publish(marker)# 更新 X 坐标实现左右移动self.x_pos0.02ifself.x_pos1.0:self.x_pos-1.0defmain(argsNone):rclpy.init(argsargs)nodeDrawSphereNode()rclpy.spin(node)node.destroy_node()rclpy.shutdown()if__name____main__:main()运行chmodx draw_sphere.py python3 ./draw_sphere.py运行后什么也没有发生不要着急另开一个终端输入rviz2在RViz2打开后做如下设置在左侧Displays面板中找到Fixed Frame确保其右侧下拉框里选的是 map。点击 Displays 面板下方的 Add 按钮在弹出的窗口中选择 By topic 选项卡。找到 /my_sphere 这一项展开它选中下面的 Marker注意不是 MarkerArray然后点击右下角的 OK。

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号