Robotics is the branch of technology that deals with the design, construction, operation, and application of automated machines known as robots. It also involves the computers systems for their control, sensory feedback, and information processing.

Share tech news, updates, or what's on your mind.

Sign up to Post

Hello experts,

I have a Raspberry Pi 3B running with a Pi No IR Camera(with two infrared light sources as comes in the No IR Camera package), and a handful of sensors working on the GPIO Pins. The setup is to be mounted on a base provided with four wheels and two DC motors.. As of now, the Pi and its attachments run from the power socket. However, once it is mounted on the robot base, I will need some kind of portable power source.. Please suggest something that can run the setup for 12 hours at a stretch at least.

I know the question might be vague, please ask for the details that will be needed, and I will provide them..

Thanks in advance..
I'm trying to do a Jframe that is yellow, and has a text area inside it to display results of  my program's calculations.

The JFrame seems to only consist of the JTextArea, even though the size and positioning are clearly within the frame.

What is going wrong below? Thanks

import java.awt.Color;
import java.awt.*;

import javax.swing.*;

public class FFframe extends JFrame{

	JTextArea ta;
	public FFframe() {
		this.setSize(900, 900);
		this.setLocation(0, 0);
		ta = new JTextArea();
		ta.setLocation(500, 500);
		ta.setSize(200, 200);
	public static void main(String[] args) {
		new FFframe();


Open in new window


If I consider doing a fantasy football choosing AI,
I know that one Draft-kings / FF site / whatever has a file / link that all the stats / players and attributes can be gleaned from.
Which system is that?
I am using draft Kings.

Is this a neural net thing, or just a set of rules to churn over the available players?
I am thinking..Treat it like a real occurrence of a game. Who benefits from someone else's good play?
- Not to choose the defense your QB is playing against.
- At least 2 receivers on your QB's team, if not always the Tight End or Running back (random? - for some of his wideouts included?)

Should I make a dropdown with some no-questions choices for certain players that week? Should all injured players be avoided, no questions?
Should I factor in player stats?

I have created Project Management apps and database search engines to find, print and download documents quickly via ColdFusion.  Future prospects of improvement has to include AI; Echo, Siri, Cortana, and Google now. Voice command boxes are the wave of the future removing the clutter of multiple apps on our devices and will transition into businesses in the near future.
Some ideas how we can utilize AI:
Project Management: Notify you when an e-mail from a customer has been received for a hot project
Project Management: Notify you when a project is over budget and suggest solutions
Database Search Drawings: Ask AI: How many drawings do we have for the downtown project?
Database Search Drawings: Ask AI: Download all the drawings for the Mr. Smith project to my thumb drive
Is there anybody thinking/implementing this new technology?
Any public API's we can use with our proprietary software’s?
How do you see the future of business regarding this new technology and not get left behind?

I am accessing my Raspberry Pi 3 from my WIndows 10 Laptop through VNC/RDP.
Now, I installed Samba in RPi. I am following a tutorial for that in the following link ""
I also followed a link from ""

What I have done till now:

1. I installed Samba in RPi
2. I created a Folder Named PiShare in RPi.
3. I checked the following lines in

workgroup = WORKGROUP
wins support = yes

 comment=Raspberry Pi Share
 only guest=no
 create mask=0777
 directory mask=0777

4. I created a shared folder in RPi with following command
                  mkdir PiShare
                  sudo chmod +777 PiShare/

5. Now when I want to see that folder from Win10 Laptop I am getting the following screen. Neither RPi nor PiShare folder is visible in my network location.

Please help


i am very novice in raspberry pi.

i purchased a raspberry (screen shot attached here) pi 3. i installed raspbian there. i can connect that with my laptop (headless installation). for that i opened command.txt and put an extra parameter as "ip=". until this it worked as through PuTTY i can connect.

problem occurs after this. i needs to use "sudo apt-get update". but without internet in raspderry i can not update. i have an wifi router. how can i use that internet access in raspberry pi? or is there any way to use my laptop internet to raspberry?

i am using windows 10 in my laptop through which i connected raspberry.

I can't get numbers on their sites, other than syllabus,
but might anyone give me an idea of the size of MIT and UC Berkley Artificial Intelligence programs - Masters, PHD's, undergraduates?
What is the premier AI institute? Is it in the USA? Gaming AI? NLP? Stock Market analysis?

Is Java the most often used language when it comes to AI research?

Which is the best software tool to automate tasks taking the inputs from desktop to citrix environment.

example i have my files (excel/pdf) in local environment, data needs to be copied and pasted in applications (SAP, JDE, Oracle apps etc.,,) hosted in citrix environment

thank you
I am not sure if this is a good place for this question but I thought I would ask.  Some parents in the community are putting together an afterschool program for grade schoolers to learn different things such as programming, robotics and such.  We want to set up Minecraft on about 10 to 12 ipads (they were donated from a local business :D)

Can anyone give me an idea if 100mbps business internet hookup will handle 10-12 kids doing Minecraft at the same time?  Is it too much, too little?

Hi Experts,

I had searching for programming (VBA) on Google & I found one article which says "Sanskrit is the most convenient language for computer software programming".

How much truth in this?  Sanskrit

from a scientific point of view, how long do you think before robots can have very significant role in human every day lives.. is that realistic .. the below gave something to think about?

are there more adventurous robot projects compared to the above, in existence today?


Looking for a robotic solution that will copy DVD's and CD's contents to the local hard drive. For example, I have 100 or possibly 1000 disks that I want to get data off and extract to folders on my hard drive or preferrably networked drive. Is there such a solution?? I know they make CD duplicators and robotic DVD scribes but looking for the opposite of that solution...

Instead of a human person telling a story, a 3D animation (puppet, robot) is used to render the sign language on screen for deaf  pepole,  - and without human intervention -

i know that the The program should be a combination of translation software, and conversion software

i need steps to understand more or tutorial so i can understand the problem or
link for peaper to know the steps
Hi guys, i'm developing a robotics project

I need to control my robot from a pc inside the robot.

so far i have found controllers online, but i rather them be connected into the pc, which is housed inside the robot itself.

The programming will be done in .net


and, NO.. I don't want to go the easy way and avoid this
I am creating a Tarining Video for my application . I have tried various Text to Voice solutions but unfortunately none of them have a way of defining emotions and sound very Robotic .

The best solution so far I see from MAC -OS X advanced speech markup and the "Repeat After Me" .Here you can code in Phonetics and expressions

Unfortunately I dont have a MAC and I was wondering if there a Windows equivalent or any FREE ware that does this (Google or otherwise ) .
I'd like to implement a search function on my site that let's people enter their question and then selects the best answer, from those I've put into my database,  according to which of the answers contains the most words from the question.   At least that would be an initial approach to it.

I'm striving for a certain amount of artificial intelligence here so I'm thinking that there may be programs, modules, techniques, etc. already out there that will take this a step farther and make a decision based on criteria more sophisticated than which answer contains the most words from the question. If I can capture the query the user entered into the search engine to reach my page, I could perhaps get some extra context from that.

Thanks for any ideas.
I am working on application that write and read information from/to a PLC.

The problem is that PLC1 read the information from PLC2. The data in PLC2 is written by a robot that is transporting pallets with finish goods. ones the pallets are drop in the new conveyor, the data is writen in PLC2 and the PLC1 read from it. The time to copy this information is really small, the size of this data is 400 kb.

The problem here is that the network is to slow and PLC1 does not have enough time to copied all the data.

I am thinking is delaying the process one second right after the data is writen.

what would you recommend?  timer, counter, process delay?

thank you
I'm writing a mobile robotics application in C/C++ in Ubuntu and, at the moment, I'm using a laser sensor to scan the environment and detect collisions with objects when the robot moves.

This laser has a scan area of 270° and a maximum radius of 4000mm.
It is able to detect an object within this range and to report their distance from the sensor.

Each distance is in planar coordinates, so to get more readeable data, I convert them from planar to cartesian coordinates and then I print them in a text file and then I plot them in MatLab to see what the laser had detected.

This picture shows a typical detection on cartesian coordinates.
Values are in meters, so 0.75 are 75 centimeters and 2 are two meters. Contiguous blue points are all the detected objects, while the points near (0,0) refer to the laser position and must be discarded. Blue points under y < 0 are produced since laser scan area is 270°; I added the red line square (1.5 x 2 meters) to determine the region within I want to implement the collisions check.
So, I would like to detect in realtime if there are points (objects) inside that area and, if yes, call some functions. This is a little bit tricky, because, this check should be able to detect also if there are contiguous point to determine if the object is real or not (i.e. if it detects a point, then it should search the nearest point to determine if they compose an …
I am trying to fully understand the concept , and function MiniMax which is an algorithm used in Game Artificial Intelligence to determine the best move for a player in the game.

I have a very fundamental understanding of it, but want to fully understand this.

The algorithm is widely used in TIC TAC TOE.

Below is WORKING code, using this algorithm. It is flawless. The game is unbeatable.

For this question, here is what I need help with:

I want to strip out all the extras from this code and only have a working console program that will simply show me the next move, using the algorithm, assuming it's the computer's turn.

I have tried, but I ran into all sorts of errors  regarding undefined functions, and variables.

An ideal solution would be to have the bare bones code simply show me the NEXT best move by using the game board state I provide, such as this:

	// Populate Board - In this example, the
	// current state of the board looks like this:
	// X | O | O
	// --+---+---
	//   | X |
	// --+---+---
	//   |   |

	board[0] = 'X';
    board[1] = 'O';
    board[2] = 'O';
    board[3] = 0;
    board[4] = 'X';
    board[5] = 0;
    board[6] = 0;
    board[7] = 0;
    board[8] = 0;

Open in new window

If I can see this stripped down version of the code, I think I will be able to use my debugger and step through it, to actually SEE how this works.

Please help me to simply use the board I provided, press ANY key, and show an updated board with the computer's next move.

Thank you so much! I am excited to dive in and learn this algorithm!


Open in new window

I'm developing a mobile robot application and i'm using a high-level board (pandaboard es) which can run linux operating system and a low I/O board to manage the sensors.

These two boards share data over ethernet while the high-level board controls a motor driver by using the USB port.

At the moment, i've installed Ubuntu Maverick on the high-level board and it works great.

The problem is that i'd like to minimize all the operating system functions, to use just the command line (i do not need the X server) and to avoid not-necessary resources consumption.

What i need to do on the high-level board is just to run a C program which takes information from the ethernet, do some calculations and send data over the USB.

So, what i need is:

- use ethernet
- use boost library, multi threading, I/O operations
- read/write on serial port (USB) with termios library
- sometimes, use a remote connection in order to control the system from another pc

Furthermore, i need to let the C program start automatically when the operatin system is powered up.

It is possible to start the C program when the operating system is on?
I have to use a bash script to do this?

Is there any Ubuntu minimal distro which i can use for my purpose?

(This is the board i'm using:
I'm developing a mobile robot application and i'd like to add a text to speech function which let the robot "talk" with the humans by reading some text strings which i'll pass to it.

For example, since my robot has a sonar network, i'd like to let it signal an obstacle presence by diretcly speacking with the human operator.

Something like:

if(sonar_front_detect == ok){

speak_to_human("I found an object in front of me);


Open in new window

Is there any simple open-source library which i can use to accomplish this task?
I'm looking for something which is very easy to use because i am not an expert programmer; it would be fine to use a library which has a function which takes as parameter the string which the robot has to read.

I hope to find a solution to my problem.

Thanks to all!
Hey Guys,

I am trying to fix a windows application that communicates with a com port that is attached to a robotic device that moves.  This application was built a long while back using VStudio 2003 and a library called TransPort that is used to communicate with the com port has 'expired' . So now I am working to get this going on VS2005 with the System.IO.Ports. Seems I have some of it working but it crashes when it tries to move because there is a line of code that I cannot convert and need help.

 private void MoveY(int Y)
            //Connect to the kaidan
            string Ymove = ("YR+" + (Y * 1000).ToString());
            comm.WriteData((Ymove + LF_RETURN));
            YReady = false;
            txtDebug.Text += "Attempting to Move Y";

            //Start Timer to Check every 2 seconds if the move has been completed
            YZTimer.Interval = 2 * 1000;
            YZTimer.Tick += new EventHandler(YZTimerTick);

            } while (!YReady);


            YZTimer.Tick -= null;

After the above method sends the command to move the following eventhandler was in place to check for a response.

 private void YZTimerTick(object obj, EventArgs e)
I'm writing a mobile robot C program which reads data from a serial port to check some sensors and then try to load a joypad to control two servos.

Since i'm using a blocking read to acquire data for sonars from serial port, i can't get input from joypad and from the serial port at the same time, so i can't stop my robot in time if sonars detect a possible collision.

For this reason, after having received few infos from the serial port, I start an infinite while loop to reads possible collisions from the serial port and I start a new thread with Boost library to load and receive input from the joypad.

With this solution, i'm able to use the joypad and receive collisions information at the same time; the problem is that i'm not able to share variable between the previous thread which reads from serial port and the new thread which load the joypad so the previous thread is not able to communicate the the joypad thread if a collision occurs.

I want to do this:

Previous thread detect a collision -> write a value in a linked list -> new thread read it and stop servos.

What can i do in order to let the new thread detect a collision from the previous thread?
I have to use signal() function?

When i try to compile this code, g++ says me that linked list, and in particular, result variable is not declared in the scope.
I think because new thread does not share the old variables and declarations.

int main(){
// do a lots of stuff then..


Open in new window

I'm having a problem with my program flow because I'm trying to receive information from a blocking function.
I'm trying to control a mobile robot in C by using a blue-tooth joy-pad and two C program which communicates over a serial port: a program control joy-pad and servos, the other one controls the sonars. If sonars detect a collision, then servos have to stop immediately.

I try to explain better what my problem is.
At the moment, my program flow is:

1. Open Serial port
2. Send and Receive information over the serial port
3. Load a blue-tooth joy-pad with robot_move()
4. Every time there is an input from the joypad, call send_event() which is a function to move servos and in parallel trying to receive information about collision with another function check_coll() which reads these data from the serial port.

The problem is that check_coll() uses a blocking read to acquire data on the serial port, so i'm not able to send commands to my servos because every time i have to wait for check_coll().

I was thinking to use fork() to start two process: the first for the send_event() function and the second for the check_coll() function; then, when there is a collision, check_coll() sends a signal to send_event() to stop the servos.

Do you think it is possible?
It's a little bit difficult to do this for me, but i'd like to know if this can be a solution.

Or may be, is there a more simple solution just editing the while loop inside the send_event function?
I'd like to use my bluetooth joypad to control my mobile robot direction.
I've found on the net a C program which let Ubuntu recognize my joy-pad and load it as a bluetooth mouse.
This program works greatly since I'm able to use my joy-pad as a mouse.

What i need to do is just to detect the key pressing and the direction signals which come from the joy-pad and use them to control my robot; the problem is that i tried to do this by modifying the code a little bit and the key pressing works fine but I realised that sometimes the detected directions are not correct.

I added some printf() in order to check if the modifies are ok and sometimes if, for example, i move the joy-pad stick to the left and i actually see the mouse pointer going to the left, the program (with the modifies i did) detect the wrong direction.

I'm posting the whole code below: I added to Boolean variables to detect the X or Y axis and i check them in the send_event() function.

Can you help me to correctly detect when I move the joy-pad stick, please?
This code is a little bit difficult to understand for me.
I'd like to delete the mouse moving function and to substitute it with a function which detect the stick direction and control my mobile robot direction.

Thanks to all, guys!

EDIT: I attached the C file for a better reading.

#include <stdio.h>
#include <errno.h>
#include <stdlib.h>
#include <unistd.h>
#include <ctype.h>
#include <stdbool.h>

#include <sys/types.h>

Open in new window







Robotics is the branch of technology that deals with the design, construction, operation, and application of automated machines known as robots. It also involves the computers systems for their control, sensory feedback, and information processing.