Hot answers tagged

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 ...
user avatar
  • 1,051
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 ...
user avatar
  • 141
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), ...
user avatar
  • 1,522
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 ...
user avatar
  • 6,322
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'...
user avatar
  • 136
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 ...
user avatar
  • 4,205
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, ...
user avatar
  • 4,326
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 ...
user avatar
  • 6,322
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, ...
user avatar
  • 21
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 ...
user avatar
  • 14.6k
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) ...
user avatar
  • 1,327
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.
user avatar
  • 4,326
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 ...
user avatar
  • 137
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 ...
user avatar
  • 1,111
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 ...
user avatar
  • 6,322
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, ...
user avatar
  • 440
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 ...
user avatar
  • 116
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 ...
user avatar
  • 6,322
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....
user avatar
  • 146
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 ...
user avatar
  • 1,909
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 ...
user avatar
  • 6,322
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: ...
user avatar
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. ...
user avatar
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 ...
user avatar
  • 106
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 ...
user avatar
  • 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 ...
user avatar
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 ...
user avatar
  • 141
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 ...
user avatar

Only top scored, non community-wiki answers of a minimum length are eligible