/
1c141a5.bug
63 lines (63 loc) · 1.94 KB
/
1c141a5.bug
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
%YAML 1.1
---
id: 1c141a5
title: Unexpected Movement Due to Wrong Calculation
description: >
Kobuki moves using differential drive. Originally, the command
velocities (linear and angular) were provided as `short`, and
were converted to `short` after each step, even though the
calculations yielded floating point numbers.
This lead to calculation errors in some special cases, where the
robot was supposed to move forward but ended up moving backwards
instead.
classification: "CWE-704: Incorrect Type Conversion or Cast #PHYSICAL"
keywords: ['differential drive', 'rounding', 'driver', 'movement']
system: kobuki
severity: error
links: ['https://en.wikipedia.org/wiki/Differential_wheeled_robot']
bug:
phase: runtime
specificity: robotics-specific
architectural-location: application-specific code
application: mobile robot
task: differential drive
subsystem: driver
package: yujinrobot/kobuki/kobuki_driver
languages:
- C++
detected-by: developer
reported-by: contributor
issue: https://github.com/yujinrobot/kobuki/issues/246
time-reported: 2013-04-05T09:27:36Z
reproducibility: always
trace: null
fix:
pull-request: null
fix-in: ['kobuki_driver/include/kobuki_driver/modules/diff_drive.hpp', 'kobuki_driver/src/driver/diff_drive.cpp']
languages:
- C++
time: 2013-05-07 (06:40)
commits:
- repo: https://github.com/yujinrobot/kobuki
hash: 1c141a54fb2c0e2ec453b32f8026d1cd0ffb14d9
stats:
total:
insertions: 25
deletions: 15
lines: 40
files: 2
files:
kobuki_driver/include/kobuki_driver/modules/diff_drive.hpp:
insertions: 6
deletions: 2
lines: 8
kobuki_driver/src/driver/diff_drive.cpp:
insertions: 19
deletions: 13
lines: 32
fault-codes:
- PROGRAMMING:DATATYPE
- PROGRAMMING:CALCULATIONS
failure-codes:
- SOFTWARE:BEHAVIORAL
- SYSTEM:BEHAVING-INCORRECTLY