Page - 197 - in Proceedings - OAGM & ARW Joint Workshop 2016 on "Computer Vision and Robotics“
Image of the Page - 197 -
Text of the Page - 197 -
5. RealCar
ATamiyaRC-racecar in thescale1:10 isusedasbase framefor theackermannrobot, seeFigure3a.
The vehicle is powered by a BLDC (Brushless Direct Current) motor, and a servo motor is used for
steering. Since thepositioncanbederived frominternalhall sensorswithin theBLDCmotor there is
noneed foradditional encoders.
AnArduinoUnomicrocontroller isusedbecauseofitsreal timecapabilityanditsspecialhardwarefor
suchlowlevelactorsandsensors. Serialmessagesfromtheinterfaceare themeansofcommunication
between the Arduino Uno and the Raspberry Pi. In this project, Raspbian is the operating system for
the Raspberry Pi because it is based on Debian, which supports ROS. A W-LAN stick is installed on
theRaspberryPi togrant access fromotherworkstations.
The Sensor Level CPU which is represented by the Arduino Uno is responsible for controlling the
car, reading sensors and presenting the data in a useful way. A motion controller [5] is implemented
for the BLDC motor. Three signals similar to sinus waves generated with pulse width modulation on
the Arduino Uno are applied to the motor. The calculation of the pose and its covariance also takes
place on the Arduino Uno based on the velocity motion model mentioned before. The calculation
frequency is about 100Hzwhich results in an update rate of 0.01s. The controlling structure of the
vehicle is shown inFigure4.
RaspberryPi
ROS ArduinoUno
Controller BLDC
Steering
ServoSerial
USB
Figure4: Thecontrolhierarchy fromROSto thecars actuators.
Since thesteeringappears tobe theprimarysourceofuncertainty, two improvementsareconsidered.
The first is to replace the unsteady steering with a more stable one. The second is to upgrade the car
withanencoder for the steering.
6. SimulatedCar
Validation of systems and algorithms is an important task in mobile robotics. Thus, Gazebo is used
for visualisation and physical simulation of the robot. The simulation contains the parts which are
vital for the robots motion. They are imported to Gazebo with a URDF (Unified Robot Description
Format) file, see Figure 3b. In the first attempt to simulate the ackermann drive robot, a link was
created for each part of the steering and they were connected with joints. The parent-child structure
of joints inURDFmakes it impossible tocreate suchaclosed loop, soaworkaroundwasneeded. To
get anackermannsteering likebehavior, aROSplug-in isused tocontrol thekingpins, seeFigure 2.
The plug-in calculates the angles for both front wheels and adjusts the kingpins accordingly. For
these calculations, the knowledge of the wheelbase and the track is required. The curve radius of the
imaginary third front wheel has to be calculated. It has to be considered that the radii of the left and
the right frontwheeldifferbyahalf trackwidth fromthepreviouslycalculated radius. Basedon this,
the steeringanglesϕL andϕR canbecalculated,using the trigonometric functions.
197
Proceedings
OAGM & ARW Joint Workshop 2016 on "Computer Vision and Robotics“
- Title
- Proceedings
- Subtitle
- OAGM & ARW Joint Workshop 2016 on "Computer Vision and Robotics“
- Authors
- Peter M. Roth
- Kurt Niel
- Publisher
- Verlag der Technischen Universität Graz
- Location
- Wels
- Date
- 2017
- Language
- English
- License
- CC BY 4.0
- ISBN
- 978-3-85125-527-0
- Size
- 21.0 x 29.7 cm
- Pages
- 248
- Keywords
- Tagungsband
- Categories
- International
- Tagungsbände