Asked — Edited

How To Connect Ezb To A Create 2

I have been looking on the forum for a wiring tutorial for the ezb and create 2. There are a lot of ideas and very complicated ideas that seem to work but no simple tutorial to connect ezb to a create 2.

Please let me know if there is a tutorial or can you provide me with one.

Thanks,


ARC Pro

Upgrade to ARC Pro

Join the ARC Pro community and gain access to a wealth of resources and support, ensuring your robot's success.

#121  

Hi Jack, You don't need a PC connected running ARC to see variables in the Mobile Interface. Here is what I'm looking at in the Mobile Interface on my iPhone when I'm running my Roomba software.

User-inserted image

The only trick is to be sure you launch the Roomba variables read script in your "OnConnect" in the desktop setup to have the Roomba variables populated

User-inserted image

Here is a tip from @DJ on how that script launch works in th Mobile Interface synthiam.com/Community/Questions/11120

You can access the IR lights you see flashing in the docking station and virtual walls using these commands in the Roomba Interface

User-inserted image

User-inserted image

User-inserted image

Frank

#122  

Hi Jack, I understand your desire to have the Roomba do move than just move around with a joystick... we all want real in home navigation.

I'm anxiously waiting for the EZ Robot Lidar add-on to be released

In the meantime, I've toyed with simple concepts like this.

Its just using some dead recogning; back for x seconds, turn left for y seconds, drive straight for z seconds... and then seek the next dock

I found another guy on youtube who used the dock as a sync up location before opening the fridge..

I know several others like @ptp and @CochranRobotics have been working on a Lidar navigation solution

Frank

#123  

Frank,

I understand now how you get things to run under connection script. Thanks. But how do you designate where to send to a label box on mobile interface. It needs a name of the script label control or label control? I do not see a way to designate a name to either.

Am I missing something here?

Thanks.

Jack

#124  

Hi Jack, The Mobile Interface can read any variable you set in the main program that is run by the connection script.

Just to test this, try this:

In your connection script set $test="1234"

Then in your Mobile Interface create a Script Label and set the text to be "Test= " + $test

After saving your program, run the Mobile interface on your phone and you will see the Sript Label contains the text you assigned in the connection script

Frank

#125  

Hi frank,

Ok that works but I tried to run a loop check battery temp and throws an error.

This is very crude way of doing this I guess. I would like to be able to run a script on a label inside that interface.

I guess the only way to get real time value is to have a button run a script and take that global variable and update the label.

Is that how you update your variables?

Also just to throw out to you. Thinking of taking a Roomba, running at night or when no one is around. Have it carry a ultraviolet light throughout the house to kill germs.

They have robots in hospitals now that cost a fortune. I would use Roomba as a test bed for now with making something else later.

One thing needed would be is to have it run a specified route then return to charge.

Thoughts?

Jack

#126  

Hi Jack, The script does not have to exist in the Mobile Interface. Instead launch a looping script like this in the main interface and launch it with the Connect Control


$voltage=20 # default value
uartinit(0, 1, 115200) # Init UART
sleep(500)
uartWrite(0,1,128) # Send Start(128) command

repeatuntil(IsConnected(0)=0)
  uartinit(0, 1, 115200) #have to clear the buffer
  sleep(500)
  $RX_DATA=0
  
  uartWrite(0,1,142,22) # Voltage check command
  sleep(50)
  
  uartWrite(0,1,142,46) # Light Bump Left Signal command
  sleep(50)
  
  uartWrite(0,1,142,47) # Light Bump Front Left Signal command
  sleep(50)
  
  #*** Add other sensors commnands here ***
  
  $rx = UartAvailable(0, 1) # Read UART 
  print("******* $rx= " + $rx)
  
  if ($rx=6) # number of return bytes expected **** be sure to bump this number when more commands are added ***
    $RX_DATA = UARTRead(0, 1, $rx) # read all the bytes from UART 
    $MSB=GetByteAt($RX_DATA,0)
    $LSB=GetByteAt($RX_DATA,1)
    $voltage=($LSB+(256*$MSB))/1000
    $voltage=$LSB+(256*$MSB)   
    print("$voltage= " + $voltage)
    
    $MSB=GetByteAt($RX_DATA,2)
    $LSB=GetByteAt($RX_DATA,3)
    $left_signal=($LSB+(256*$MSB))/1000
    $left_signal=$LSB+(256*$MSB)   
    print("$left_signal= " + $left_signal)
  
    $MSB=GetByteAt($RX_DATA,4)
    $LSB=GetByteAt($RX_DATA,5)
    $front_left_signal=($LSB+(256*$MSB))/1000
    $front_left_signal=$LSB+(256*$MSB)
    print("$front_left_signal= " + $front_left_signal)   
    
  endif 
  
  

  if ($voltage<13.9)
    uartWrite(0,1,143)
    print("Low battery, attempting to dock")
    halt()
  endif 
    sleep(2000)  
endrepeatuntil

[

Any variables that are updated in the main interface will show up in the Mobile Interface

Regarding your "night patrol", its a great idea that is waiting on the EZ-Robot Lidar release with navigation...

In the meantime, the only thing I can come up with is that lame approach I had using multiple docking stations and a script. Your script could just have it drive a pattern for a while like it was doing floor cleaning and then dock

The Roomba is actually pretty quiet when you remove the main and side brish moters and the vaccuum in the dust bin

Keep the Use Cases coming. I love the ideas

Frank

#127  

I have some GREAT NEWS for those interested in using Create 2 as a telepresence robot! Those of us working in the area are aware of the issue of waking the Create 2 while it is docked and trickle charging.

I've had extensive discussions with the iRobot STEM Program Manager and they said that pulsing the BRC pin only works if undocked. The agreed to send me a beta test version of firmware that resolves this issue and I can report that it works great!

Right now its still in beta so you will need to send an email to [email protected] referencing a post on another forum

robotics.stackexchange.com/questions/12846/irobot-roomba-620-similar-to-create-2-enters-power-saving-mode-although-the-is/15623?noredirect=1#comment25934_15623

to receive the firmware update which comes on a plug in transfer device called an OSMO

This is much easier than our previous approach of adding a relay across the CLEAN button contacts or a servo pushing that button or using an IR sender to wake up a docked sleeping Create 2

Regards, Frank

#128  

Hi Frank,

Nice work on the create2 ! Haven't had a chance to work with mine in quite some time. You have sparked my intetest to start working on it again !

You seemed to mention that EZ-Robot still plans to come out with their Lidar Navigation System. Is this actually going to happen? Still haven't seen the hardware items they said would be released quite along time ago. Also haven't seen any software updates of late. Is Ez-Robot still doing ok and have they switched completely over to focusing on the education side of the business. As far as the Lidar system they could have a cheaper version for the educational market and one for makers that has more capability. Thanks Much...Rick