当前位置: 首页 > news >正文

fullpage做的网站注册域名成功后怎样建设网站

fullpage做的网站,注册域名成功后怎样建设网站,godaddy wordpress 优惠码,黄骅市天气预报ROS 系列学习教程(总目录) 本文目录 一、Arbotix 简介二、安装Arbotix三、配置Arbotix控制器四、配置launch启动文件五、数据交互接口六、在rviz中仿真控制机器人6.1 直接发topic控制6.2 使用键盘控制6.3 编写代码控制机器人移动 前面讲了机器人的建模#xff0c;是静态的是静态的接下来介绍对机器人的仿真控制让你的机器人动起来。 一、Arbotix 简介 Arbotix 是一款控制电机、舵机的硬件控制板并提供相应的 ros 功能包是一款基于 ROS的机器人控制系统它旨在为小型机器人提供硬件控制和传感器接口以便于机器人的运动和感知。它不仅可以驱动真实的 arbotix 控制板还提供一个差速控制器通过接收速度控制指令更新机器人的 joint 状态从而帮助我们实现机器人在仿真环境中的运动。 它的源代码可以在这个里得到https://github.com/vanadiumlabs/arbotix_ros arbotix_ros 源码包含如下几部分 其中 arbotix_controllers控制器现已合并到 arbotix_python 中。arbotix_firmware处理与 ArbotiX-ROS 绑定通信的固件源代码。arbotix_msgsArbotiX 的消息和服务定义。arbotix_python驱动程序、用于与驱动程序交互的 GUI 以及用于设置伺服电器的终端工具。arbotix_sensors包含几个传感器模块可在 arbotix_python 的基本结构上添加额外的 ROS 接口层。 我们主要使用 arbotix_python 的驱动程序模块 arbotix_driver 中的差速底盘控制器 diff_controller。 更多关于 Arbotix 的信息见 https://wiki.ros.org/arbotix 关于 diff_controller 的信息见 http://wiki.ros.org/arbotix_python/diff_controller 二、安装Arbotix 对于 ROS1 有两种安装方法命令行和源码安装。 命令行安装 sudo apt install ros-VersionName()-arbotix*源码安装 首先在你的工作空间的 src 目录下下载源代码 git clone https://github.com/vanadiumlabs/arbotix_ros.git然后编译即可使用 Arbotix catkin_make # 编译三、配置Arbotix控制器 Arbotix 针对不同的机器人需要配置不同的控制器配置文件为 yaml 格式如下 # 该文件是控制器配置,一个机器人模型可能有多个控制器比如: 底盘、机械臂、夹持器(机械手).... # 因此根 name 是 controllers controllers: {# 单控制器设置base_controller: {# 类型: 差速控制器type: diff_controller,# 参考坐标base_frame_id: base_link,# 两个轮子之间的间距单位mbase_width: 0.38,# 机器人每移动一米电机编码器所记录的脉冲数ticks_meter: 2000,# PID控制参数使机器人车轮快速达到预期速度Kp: 12,Kd: 12,Ki: 0,Ko: 50,# 加速度限制accel_limit: 1.0} }四、配置launch启动文件 启动时 Arbotix 会作为一个节点加入到 ROS Master 中我们使用 launch 文件配置快速启动。 node namearbotix pkgarbotix_python typearbotix_driver outputscreenrosparam file$(find simulation_learning)/config/mbot_arbotix.yaml commandload /param namesim valuetrue/ /node其中节点名注册为 arbotix包名为 arbotix_python节点可执行文件名为 arbotix_driverrosparam 一行是载入上文的 Arbotix 配置文件Arbotix 不仅可以用于真实控制板也可以用于仿真环境如用于仿真需将参数 sim 设置为 true。 五、数据交互接口 该节点订阅一个话题/cmd_vel用于接收对机器人的速度控制信息 消息格式为geometry_msgs/Twist geometry_msgs/Vector3 linear # 机器人三轴线速度float64 xfloat64 yfloat64 z geometry_msgs/Vector3 angular # 机器人三轴角速度float64 xfloat64 yfloat64 z发布一个话题/odom用于发布机器人里程计信息包括定位与速度等信息 消息格式为nav_msgs/Odometry std_msgs/Header headeruint32 seq # 消息序列号time stamp # 时间戳string frame_id # 消息帧id string child_frame_id geometry_msgs/PoseWithCovariance posegeometry_msgs/Pose posegeometry_msgs/Point position # 机器人位置坐标float64 xfloat64 yfloat64 zgeometry_msgs/Quaternion orientation # 机器人方向的四元数表示float64 xfloat64 yfloat64 zfloat64 wfloat64[36] covariance # 6x6协方差矩阵的行主表示 geometry_msgs/TwistWithCovariance twistgeometry_msgs/Twist twistgeometry_msgs/Vector3 linear # 机器人三轴线速度float64 xfloat64 yfloat64 zgeometry_msgs/Vector3 angular # 机器人三轴角速度float64 xfloat64 yfloat64 zfloat64[36] covariance # 6x6协方差矩阵的行主表示其中6x6协方差矩阵用于量化位姿估计不确定性。这个矩阵对角线上的元素分别代表了位置与方向估计值的方差而矩阵的非对角线元素则表示了位置与方向各估计值之间的协方差。矩阵各向量依次表示 xyz绕x轴旋转绕y轴旋转围绕z轴旋转的估计不确定性。 有了这两个话题我们就可以控制并获取机器人的位姿了。 六、在rviz中仿真控制机器人 使用前文 URDF建模实践 创建的机器人模型在 launch 文件中添加 Arbotix 节点的启动配置启动后如下图 6.1 直接发topic控制 发布 /cmd_vel 话题控制机器人移动并订阅 /odom 显示机器人的实时位置与速度信息 6.2 使用键盘控制 运行ROS提供的键盘控制包控制机器人移动 6.3 编写代码控制机器人移动 写两个节点一个发布速度一个订阅里程计如下 move.cpp 用于发布速度 #include ros/ros.h #include geometry_msgs/Twist.hgeometry_msgs::Twist moveRobot(const double linear, const double angular) {geometry_msgs::Twist msg;msg.linear.x linear;msg.linear.y 0.0;msg.linear.z 0.0;msg.angular.x 0.0;msg.angular.y 0.0;msg.angular.z angular;ROS_INFO(moveRobot, linear: %.3lf, angular: %.1lf, linear, angular*180/M_PI);return msg; }int main(int argc, char **argv) {ros::init(argc, argv, move_robot);ros::NodeHandle nh;ros::Publisher velPub nh.advertisegeometry_msgs::Twist(/cmd_vel, 10);ros::Rate r(1);while (ros::ok()){velPub.publish(moveRobot(0.5, -0.3));ros::Duration(3.0).sleep();velPub.publish(moveRobot(-0.5, -0.3));ros::Duration(3.0).sleep();r.sleep();}return 0; }odom.cpp 用于订阅里程计 #include ros/ros.h #include nav_msgs/Odometry.hvoid odomCallback(const nav_msgs::Odometry::ConstPtr msg) {geometry_msgs::Quaternion q msg-pose.pose.orientation;ROS_INFO(pose: [%.2lf, %.2lf, %.1lf], linear: %.2lf, angular: %.2lf, msg-pose.pose.position.x, msg-pose.pose.position.y, std::atan2(2.0 * (q.w * q.z q.x * q.y), 1.0 - 2.0 * (q.y * q.y q.z * q.z))*180/M_PI, msg-twist.twist.linear.x, msg-twist.twist.angular.z*180/M_PI); }int main(int argc, char **argv) {ros::init(argc, argv, robot_odom);ros::NodeHandle nh;ros::Subscriber odomSub nh.subscribenav_msgs::Odometry(/odom, 10, odomCallback);ros::spin();return 0; }CMakeList.txt 中添加内容 add_executable(move_robot_node src/move.cpp) add_executable(robot_odom_node src/odom.cpp)target_link_libraries(move_robot_node${catkin_LIBRARIES} )target_link_libraries(robot_odom_node${catkin_LIBRARIES} )启动 rviz 后运行 move_robot_node 和 robot_odom_node 如下
http://www.hkea.cn/news/14424262/

相关文章:

  • 重庆网站建设推广服务乐清新闻最新消息
  • 交互式网站设计apache wordpress 优化
  • 在线教育网站建设做美食软件的视频网站
  • 装修公司网站模板新河官网
  • 河北唐山 网站建设泰安最好的房产中介
  • 网站建设团队成员微信公众号小程序怎么开发
  • php网站搭建环境网站建设中提示页面
  • 有了域名 做网站遵义住房和城乡建设局网站
  • 网站开发资金投入河南微网站建设公司
  • 演出公司网站建设wordpress 电商模板
  • 淄博网站制作高端形象阿里云网站备案多久
  • 做ppt的软件模板下载网站网站界面设计的流程
  • 东阳网站建设公司wordpress php 模板修改
  • 软件开发 网站建设 游戏开发管理信息系统有哪些
  • 宁波网站建设优化诊断兰州一氧化碳
  • 乐陵网站优化房产交易网官网
  • 无锡万度网站建设网站建网站建设企业
  • 新野seo公司网站建设一条龙全包seo
  • 浙江国有建设用地出让网站建站技术有哪些
  • 企业网站维护外包企业简介宣传片视频
  • 微信网站模板注册网站免费注册qq邮箱
  • 网站后台管理系统素材深圳做手机网站建设
  • 如何自己做网站界面wordpress添加分享
  • 专门做土特产的网站企业网站首页设计欣赏
  • 网站标题在哪里修改o2o好网站
  • 上海建设部网站微信网站结构
  • seo营销型网站推广网络运营与管理
  • 兰州新区建设局网站wordpress段落缩进
  • 潍坊建设网站做catalog的免费网站
  • dede 网站名称网站建设到哪个店做