<> <> == Overview == Data Processing Layer (DPL) is a second layer in experimental robotic stack. The main task of this package is to fuse multiple sources of data from [[p3dx_hal_vrep|HAL]]. The output from nodes in DPL are standard higher level messages like <>,<>... == Architecture == For more information about whole experimental robot stack and ideas behind DPL please see our [[https://github.com/hrnr/robo-rescue|repo]] readme. == Dependencies == === Packages === ==== robot_localization ==== In DPL we use [[robot_localization]] package for fusion of IMU data and calculate wheel odometry. In current state we use our own fork of this package with some bug fixes. Please download and compile it from our [[https://github.com/Lukx19/robot_localization|repository]]. == Nodes == {{{ #!clearsilver CS/NodeAPI name = motor_controler desc = This motor driver is suitable for differential driven robot. Received data are in form of <> and transformed into angular speeds for left and right wheels. sub { 0.name = cmd_vel 0.type = geometry_msgs/Twist 0.desc = reads messages from } pub { 0.name = hal/leftMotor/setVel 0.type = std_msgs/Float64 0.desc = angular speed of left wheel in m/s 1.name = hal/rightMotor/setVel 1.type = std_msgs/Float64 1.desc = angular speed of right wheel in m/s } }}} {{{ #!clearsilver CS/NodeAPI name = odometry_provider desc = This node calculates forward velocity and angular speed around Z axis of the robot with differential drive. sub { 0.name = hal/leftMotor/getState 0.type = sensor_msgs/JointState 0.desc = uses joint position 1.name = hal/rightMotor/getState 1.type = sensor_msgs/JointState 1.desc = uses joint position } pub { 0.name = odom 0.type = nav_msgs/Odometry 0.desc = . } param { 0.name = ~frameIDodom 0.type = string 0.desc = frame_id which is used in <> 0.default = odom 1.name = ~odomPublTopic 1.type = string 1.desc = topic where is <> message published 1.default = odom } }}} {{{ #!clearsilver CS/NodeAPI name = imu_provider desc = This node merges accelerometer and gyroscope data into complete <> message. }}} {{{ #!clearsilver CS/NodeAPI name = odom_tf_broadcaster desc = Creates tf transformation between odom frame and robot's base link. param { 0.name = ~frameIDodom 0.type = string 0.desc = frame_id which is used in <> 0.default = odom 1.name = ~odomPublTopic 1.type = string 1.desc = topic where is <> message published 1.default = odom } prov_tf { 0.from = odom 0.to = base_footprint 0.desc = . } }}} ## AUTOGENERATED DON'T DELETE ## CategoryPackage