There are ros_packages of mybot_control, include the following:
- mecanumbot controller
- diffbot hardware driver
- mecanumbot hardware driver
- diffbot and mecanumbot description
- launch file
- odom test scripts
Those packages depend on ros-control
and ros-controllers
.
.
├── README.md
├── mybot_control #meta package
├── mybot_controllers #custom controllers
├── mybot_description #robot description
├── mybot_hw #robot hardware
├── mybot_launch #launch file
└── mybot_test #test scripts
I use rosserial to connect the hardware and embedded, so i just need to manager input and output topic
Input topic is the encoder state
Output topic is the motor speed(command)
You can edit it to your own rules in mybot_hw
input(topic) | datetype | unit |
---|---|---|
wheel_state_encoder | std_msgs/Float32MultiArray | rad |
output(topic) | datetype | unit |
---|---|---|
wheel_cmd_velocity | std_msgs/Float32MultiArray | rad/s |
- compile
#cd your_ws/src
#git clone this repository to your own workspace
catkin_make
- run diffbot with gazebo(use gazebo_ros_control)
source devel/setup.bash
roslaunch mybot_launch diffbot_gazebo_sim.launch
- run diffbot with real hardware
source devel/setup.bash
roslaunch mybot_launch diffbot_real.launch
note: diffbot driver uses the diffbot_controller in ros-controllers.
- run mecanumbot with real hardware
source devel/setup.bash
roslaunch mybot_launch diffbot_real.launch