├── CMakeLists.txt
├── config
│ ├── diff_drive_cfg.yaml
│ ├── DynRecPID.cfg
│ ├── rqt_gui_main.perspective
│ └── rvizCfg.rviz
├── docs
│ └── doxygen
│ └── DOXY_CFG
├── launch
│ ├── gazebo.launch
│ ├── m2xr_all.launch
│ ├── m2xr_control.launch
│ ├── m2xr_world.launch
│ ├── rqt_graphs.launch
│ ├── rviz.launch
│ └── spawn.launch
├── msg
│ └── RotDbgOut.msg
├── package.xml
├── README.md
├── scripts
│ ├── config.py
│ ├── debug.py
│ ├── fsm.py
│ ├── move_to_point.py
│ └── regulator.py
├── src
├── urdf
│ ├── gazebo_macros.gazebo
│ ├── m2xr.xacro
│ ├── macros.xacro
│ ├── materials.xacro
│ ├── wheel_gazebo.xacro
│ └── wheel_transmission.xacro
└── worlds
└── m2xr.world
Launch gazebo world including robot model:
roslaunch ros_diff_drive m2xr_world.launch
Spawn controllers:
roslaunch ros_diff_drive m2xr_control.launch
or launch both together with rqt_gui:
roslaunch ros_diff_drive m2xr_all.launch
Run top-level controller that publishes to cmd_vel topic:
rosrun ros_diff_drive move_to_point.py
Note: This step is implemented as separate one for easier debugging and running/stopping mentioned script
-
[Exploring ROS using a 2 Wheeled Robot] #1: Basics of Robot Modeling using URDF
-
[ROS Q&A] 053 - How to Move a Robot to a Certain Point Using Twist
... and other tutorials found on the internet
- Many thanks to PlotJuggler development team who developed this extremely useful and intuitive tool PlotJuggler ros plugin