BB-8 is a robot, so naturally its surface should be smooth. The shading is a bit too harsh and wonky, it makes BB-8 look as if it's surface is slightly damaged. For the dirt spots I'd suggest using a light brown, not gray, since it only adds to how it looks kinda damaged. Otherwise pretty good. Yoda is also nice. Though it would be cool if you gave his clothes more texture. Now they look a bit too smooth. Like that's what BB-8's surface should look like. Kinda looks like butter.
It looks great!! About the robot: practise makes perfect but this looks great! You could improve the robot by looking at the shadows. The shadows should look the same as with an orb. Yoda looks great! Just like you, I am better in drawing people and characters than things like cars and robots :P