Beacuse of the error of my input method that i can only write this blog in English, sorry about that... but I can't wait to take notes.
I have searched the whole net for 2 days about this problem.
Eventually On Today, It is solved
! ! !
I have downloaded a package named " ackermann_msgs" from github and added it to my catkin_ws/src, but unfortunately it can't work as I rosrun a python script.
fig 1: [ackermann_msgs]downloaded from github
rosrun racecar_description servo_commands.py
root@dell-Inspiron-14-5401:~# rosrun racecar_description servo_commands.py
Traceback (most recent call last):
File "/home/dell/catkin_ws/src/racecar_sim-master/racecar_description/scripts/servo_commands.py", line 6, in <module>
from ackermann_msgs.msg import AckermannDriveStamped
ImportError: cannot import name 'AckermannDriveStamped'
This error message has been printed hundreds of times before i write this blog so you can image how many times i have tried to solve this problem and finally I found a blog https://www.freesion.com/article/34821008663/ which shows the correct method.
For our problem the step is so simple, only one command is needed.
sudo apt-get install ros-melodic-ackermann-msgs
fig2:terminator shows
root@dell-Inspiron-14-5401:~# rosrun racecar_description servo_commands.py
No error import now!
In concluding, this "can not import " problem is due to the loss of class of ackermann_msgs.