5
votes
Accepted
Is using a robotic operating system still considered bare-metal C?
Bare metal programming is defined by not using any abstractions that might be provided by an OS and working directly with the hardware. Wikipedia Technopedia.
ROS provides an even higher level ...
4
votes
How Can A Total Beginner Become A Skilled Roboticist?
Robotics is a mixture of things like mechanical engineering, electronics engineering and software engineering! Knowing C++ is a big head start in this area! Because I strongly believe that amongst all ...
3
votes
How Can A Total Beginner Become A Skilled Roboticist?
There are a few dimensions to being a roboticist:
is knowledge of theory about robot perception (understanding the world through sensors such as cameras, signal processing and machine learning), ...
3
votes
Accepted
Robot Graphical Representation in Real Time
If you are already using Qt, then Q3 3D would be an obviuos choice for 3D representations. Gaming engines like Unity (C#/JavaScript) or the Unreal Engine (C++) are also a suitable choice for ...
2
votes
Accepted
Programming A Rover
Ravi - This is a great question. So many great ideas stop simply because we don't know how to kick things off. I'll try to list a few options below for each of your questions so I don't sound like I'...
2
votes
simulation of robots
For visualization and kinematics, Gazebo works fine. You can use C++ or Python to work with it. There is lots of integration with ROS as well if you like that sort of thing.
If you want a clean and ...
2
votes
Does C have advantages over C++ in robotics?
As the comments indicate, the answer is really based on what you want to do with the programs you write. There are a lot of benefits to the object oriented capabilities of C++. But the inheritance, ...
2
votes
how to move my robot to the assigned coordinates
The GPS gives the actual coordinates. The compass gives the orientation. The waypoints also have coordinates, and as I see in your code, you have defined movement primitives for your robot.
From the ...
2
votes
Bluetooth module HC-05 giving ERROR :(0)
I was having the same problem. I finally solved the problem. This document says that you have to put CR LF (\r\n) characters after you send something in AT mode. But in the arduino code that you use, ...
2
votes
Problem with tuning PID for motor
Welcome to Robotics, Bloopie Bloops! You haven't stated what platform/language this is, so I'll just give some illustrative pseudo code. As Mark Booth mentioned, the typical way to evaluate/critique ...
2
votes
Problem with tuning PID for motor
Your goal is a bit unclear. In the sense that you don't really care about your motor control input, what you want is a given rotational velocity. the pid is going to give you the command (motor input) ...
2
votes
How can I allow for this code to switch from remote control to autonomous?
The code for “task autonomous()” should be outside of the main() function.
1
vote
Is using a robotic operating system still considered bare-metal C?
I second @Tully's statement that Bare Metal is defined as "without the OS in ROS".
Should you use an OS depends on the size of the processor. An 8 bit μC? Bare metal C. The ROM space is so ...
1
vote
Aligning the coordinate systems of accelerometer and vehicle
Edited after a clarifying comment: this was a pretty good answer, except it assumed the question was about an RC car!
Gravity is your friend here. It always points straight down, exactly 1 G.
Orient ...
1
vote
Is this encoder error expected?
This might be "normal", depending on how the signal is acquired. Whenever a signal is derived, timing of the signal acquisition is crucial.
Counting ticks is not time sensitive, as it does ...
1
vote
time to Initialise or start sensor after power given
First crucial thing to know is what is your sensor - its part number, to be clear. If your sensor is digital, its initialization time is probably given in the datasheet.
If you are using analog one, ...
1
vote
IRobot 690 - raw wheel encoder counts change with no movement command issued
I'm not familiar with the Rpi3 UART capabilities as I'm using a different controller with a hardware UART, but I can report that others have had difficulties using software-based UARTS with later ...
1
vote
How can I run Tests/Simulations of Control and Motion Planning for a Bare Metal Robot?
You can alter the C code structure in the Controller, so that the code you want to test is indepencent from platfrom specific code. (You can only test the platform independent code using Software in ...
1
vote
explanation of kalman filter
The Kalman filter applies to situations where we want to track a process state using a sequence of measurements (observations). The Kalman filter gives us a recursive way to estimate the process state....
1
vote
MPU9255 gyro data to roll pitch?
The problem you have is that the gyro is outputting angular velocity. Taking the integral of the angular velocity you only get the angle offset from some constant c, normally you would deal with this ...
1
vote
Accepted
UR3 TCP/IP communication protocol
Based on the ports you have mentioned you are probably using URScript.
Are you aware of this documentation from the UR website, describing the ethernet packets?
The example given is
...
1
vote
TCP Communication with PCDuino
Sorry but its not really clear from your code whats going on, but the area drawing my attention is:
...
1
vote
Using 2x UARTs on STM32F072RB
Perhaps try UART3? UART2 might be in use for something else as the manual says,
"By default the USART2 communication between the target MCU and ST-LINK MCU is enabled..." on page 23, section 5.8.
...
1
vote
STM32_OC_Timing and IRQHandler
(This really should be a comment, but I don't have enough reputation to comment, my apologies)
I'm not very familiar with this "HAL" version of ST's library, but how I normally do timers with STM32 ...
1
vote
C++ and Create 2
As ott mentioned, you can simply make the type an unsigned char which is an 8 bit data type. Here is some code snipits that should work, but are untested. This ...
Ben♦
- 5,215
1
vote
BeagleBone - PRU questions
I liked your choice for using BBB for your stepper motor driving project. BBB is the best open source hardware currently available to accelerate your stepper motor speed to upto 200Mhz precision which ...
1
vote
Unable to read pushbutton press properly in Arduino
A switch does not have a quick low to high or high to low transition, instead something like this. This is called switch bounce.
image source: piconix.com
Just to add to the answers here.
There ...
1
vote
Bluetooth module HC-05 giving ERROR :(0)
I had problems with this as well using a Pro Micro. Testing with a Mega instead and it worked no problem, using (57600) for Serial and (38400) for Serial1. I did try Serial1 as well as BTSerial with ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
c × 42arduino × 13
robotic-arm × 6
microcontroller × 6
c++ × 6
serial × 5
control × 4
communication × 4
irobot-create × 3
programming-languages × 3
avr × 3
mobile-robot × 2
ros × 2
raspberry-pi × 2
gyroscope × 2
quadcopter × 1
motor × 1
sensors × 1
kinematics × 1
pid × 1
localization × 1
kalman-filter × 1
inverse-kinematics × 1
computer-vision × 1
imu × 1