![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ROS小车研究笔记
文章平均质量分 64
Raine_Yang
这个作者很懒,什么都没留下…
展开
-
ROS小车研究笔记:ROS TF坐标系管理
由于该行在Pose回调函数里,我们使用Pose话题中得到的(x, y, 0) (由于海龟程序为平面不存在z轴)作为广播的位置坐标。Pose中theta作为角度坐标,时间戳(当前时间rospy.Time.now()),和要广播的两个坐标系。使用listener监听trutle2和turtle1在当前时间(rospy.Time(0))的tf变换。各个节点的坐标构成TF树用以保存节点间坐标变换。通过TF,我们可以得到10秒之内任何机器人两个坐标系间的位置关系。创建tf坐标广播器以广播tf坐标。原创 2023-04-22 16:59:03 · 804 阅读 · 0 评论 -
ROS小车研究笔记4/1/2023:研究文章Detecting Glass in Simultaneous Localisation and Mapping
基于镜面反射和漫反射的不同性质,我们可以推断出如果入射激光在物体上发生漫反射,激光雷达在不同角度上接受到的光强会较为稳定。而入射激光在物体上发生镜面反射,激光雷达在大部分角度上接受到的光强会低于漫反射的值,但在和入射光线垂直的角度上接受的较强值。由于激光雷达的原理依靠发射激光并通过反射光线判断物体,在面对透明度高的物体,如玻璃时,检测精度会受到很大影响。如图,发生镜面反射的物体(玻璃和镜子)在scan range接近0度时接受到光强明显高于漫反射物体,而在其他角度上光强一般低于漫反射物体。原创 2023-04-01 17:03:09 · 676 阅读 · 0 评论 -
ROS小车研究笔记3/18/2023:SLAM建图系统架构
其子坐标系定义了小车摄像机,雷达,陀螺仪,和车体的相对位置。wheeltec_robot节点为小车控制节点,其发布里程计和imu消息,并根据传入的速度控制指令来控制下位机电机。gmapping算法实现需要输入激光雷达深度信息,里程计信息,和imu信息。odom_combined使用卡尔曼滤波将里程计和imu的信息结合得到了更精准的小车坐标信息。base_link代表了小车车体坐标,其子坐标系定义了各个车轮相对于车体的位置。robot_pose_ekf发布地图原点和小车的坐标系变换。原创 2023-03-18 16:43:17 · 1512 阅读 · 0 评论 -
ROS小车研究笔记3/11/2023:多点导航及其源码实现
这时如果try_again为1,代表小车有一次再次尝试机会,控制小车再次前往目标点(前往当前目标点index - 1)。count为目标点总数,index为下一个要前往的目标点,try_again为在前往目标点失败后,在重新选择前往下一个目标点前尝试前往该目标点的次数。index小于count时代表还没有完成所有目标点,此时发布话题指挥小车前往下一个目标点并使index + 1。这里注意区分index - 1代表了当前小车所在目标点,而index 代表小车要去的下一个目标点。该节点即为多点导航控制节点。原创 2023-03-11 15:02:28 · 5679 阅读 · 4 评论 -
ROS小车研究笔记3/4/2023:自动导航launch文件解析
这里配置了全局代价地图的参数,包括了代价地图刷新率(update_frequency),地图话题发布频率(publish_frequency),以及该地图中包含哪几个图层,如这里全局代价地图包括了static_layer,obstracle_layer,inflation_layer这三个层。teb_local_planner_params.yaml (位置:turn_on_wheeltec_robot/params_nav_common/teb_local_planner_params.yaml)原创 2023-03-04 16:08:00 · 2080 阅读 · 0 评论 -
ROS小车研究笔记2/25/2023自动导航
每一个粒子具有和机器人相同的速度,但是沿各自的方向运动,会和机器人逐渐远离。在该系统里,/map话题对应的地图为turn_on_wheeltec_robot/map/WHEELTEC.yaml文件。在小车行进中,local_planner会根据全局代价图在小车周围的一部分(即local_costmap)进行路径调整和避障,并试图让路径和规划好的全局路径接近。在标定小车起点和目标点后,global_planner程序会先根据地图算出全局的代价图global_costmap,并得到一条使总代价最小的预设路径。原创 2023-02-25 18:27:03 · 3099 阅读 · 0 评论 -
ROS小车研究笔记:二维SLAM建图简介与源码分析
这里map和odom都为1不同的参考坐标系,odom是里程计测得的位置坐标,依靠小车自身移动速度积分得到,map为激光雷达测得的小车在地图上位置坐标。两者坐标系差距即为里程计的偏移。其中 -> base_link为激光雷达相对base_link(默认的机器人基坐标系)位置,这一值一般为静态,在小车模型文件中定义好。这里我们可以看到在开启gmapping 建图算法中,我们启动了文件turn_on_wheeltec_robot/launch/include/algorithm_gmapping.launch。原创 2023-02-25 14:55:00 · 1683 阅读 · 0 评论 -
ROS小车研究笔记2/23/2023激光雷达建图(2)
默认路径在/home/wheeltec/wheeltec_robot/src/turn_on_wheeltec_robot/map里。进入mapping.launch文件中,修改如图位置的default值即可切换算法。注意这里两个地址(由空格隔开),分别为要挂载的文件地址,挂载到的本机位置(一般默认选为/mnt)。保存好的地图显示和rviz中相同,黑色区域代表障碍物,白色区域代表空地。(关于激光雷达建图部分内容,可见文章http://t.csdn.cn/AiHk0)2 保存,自主命名地图。原创 2023-02-23 19:14:28 · 507 阅读 · 0 评论 -
ROS小车研究笔记2/11/2023:使用ssh远程登录小车
此处ROS_MASTER_URI的值为小车的IP地址。公钥的数据只有私钥可以解锁,而私钥的数据只有公钥可以解锁。-p 表示选择端口,默认端口为22(-p 22),小车和虚拟机在同一通信端口才能通信。对称加密:使用同一密钥对信息进行加密和解密,但是一旦该密钥被窃取就会威胁通信安全。虚拟网络编辑器中要选择正确的adaptor,否则虚拟机中无法使用wifi连接。(此处IP地址和小车IP保持一致,可以使用ifconfig查看IP地址)小车又玩没电了,后面激光雷达建图的部分没有截图。1 小车开机,连接Wifi。原创 2023-02-11 17:25:12 · 1514 阅读 · 0 评论 -
ROS小车研究笔记2/2/2023 激光雷达建图
我在测试中还出现启动mapping.launch后持续显示无法启动IMU。这里保存的地图默认路径为/home/wheeltec/wheeltec_robot/src/turn_on_wheeltec_robot/map。控制小车在场地上移动建图。在rviz中灰色代表已扫描区域,黑色代表扫描到的障碍物,红色(或彩色?黑色代表障碍物,白色代表空间。可以使用编辑软件在图片中添加或去除黑色部分,修改会反应在导航上。在rviz中如果出现小车坐标错误,如小车坐标倾斜,可以按单片机上的RESET键使里程计复位。原创 2023-02-02 18:08:12 · 1245 阅读 · 0 评论 -
ROS小车研究笔记1/31/2023 小车硬件结构及键盘移动控制节点
这里可以看到方向键只会立刻改变target_speed和target_turn。而真实速度和方向control_speed和control_turn会在每一轮循环中向目标速度改变0.1,实现平滑变速。移动键和速度控制键对应的值。最终速度为 (speed X 方向)和(turn X 方向)。在修改速度时为(speed X 修改幅度)和(turn X 修改幅度)方向控制指令只会直接影响目标速度target_turn和target_speed。下方为树莓派,安装了ROS系统和Ubuntu系统,用于整个小车控制。原创 2023-01-31 18:20:31 · 2530 阅读 · 1 评论 -
ROS小车研究笔记01/30/2023 小车启动,里程计,IMU消息类型(遗留问题)
geometry_msgs/Quaternion类型:float64 x, y, z, w 四元数表示X, Y, Z姿态(可以用tf_transformations里对应方法进行四元数和高斯角表示法切换)geometry_msgs/Vector3类型: float64 x, y, z (x, y, z线速度)geometry_msgs/Vector3类型:float64 x, y, z (x, y, z角速度)IMU里搭载了MPU6050陀螺仪模块,,可以侦测x,y,z方向上小车姿态,角速度,和加速度。原创 2023-01-30 20:05:50 · 1468 阅读 · 0 评论