Repository for the software for control and autonomous navigation of UGV. Directory Structure:
- CallistoRover
- src
- callisto_control
- config callisto_control.yaml
- launch
- callisto_control.launch
- CMakeLists.txt
- package.xml
- callisto_description
- launch
- callisto_rviz.launch
- urdf
- macros.xacro
- materials.xacro
- callisto.gazebo
- callisto. xacro
- CMakeLists.txt
- package.xml
- launch
- callisto_gazebo
- launch
- callisto_myworld.launch
- worlds
- callisto.world
- CMakeLists.txt
- package.xml
- launch
- diffdrive_controller
- src
- diffdrive_controller.py
- CMakeLists.txt
- package.xml
- src
- nav_behaviours
- launch
- nav_behaviours.launch
- src
- nav_timed.py
- CMakeLists.txt
- package.xml
- launch
- callisto_control
- src
Rover with Lidar and Generic Camera in a Corn Field(Gazebo):
Videos:
To Do:
- Get the connections for Sabertooth working
- Simulate the robot in Gazebo
- Add differential drive controller and, camera sensor.
- Interface mbed with ROS using Serial Comms
- Open Loop Control Node for mbed
- Implement HIL open loop control node
- Use encoder data for PID controller - feedback!
- Trajectory Tracking
- Add Skid steering Control
Notes:
-
- If Hokuyo laser shows weird range and behavior, the problem is probably because of the graphic drivers and add this line before launching gazebo simulation - you may add it to your ~/.bashrc file.
export LIBGL_ALWAYS_SOFTWARE=1
-
- Converting from ogv to mp4
ffmpeg -i out.ogv -c:v libx264 -preset veryslow -crf 22 -c:a libmp3lame -qscale:a 2 -ac 2 -ar 44100 \ navigation.mp4
-
- Blog Post 1
https://karanchawla.com/2017/02/24/modeling-a-rover-in-gazebo/